Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
nextcloud-serveur [Le 21/07/2018, 18:54]
176.130.248.30 [Accès à l'installateur]
nextcloud-serveur [Le 18/01/2024, 17:01] (Version actuelle)
lyondif02 [Pré-requis] précision SGBD valable
Ligne 7: Ligne 7:
 [[:​Nextcloud]] est une solution de stockage et de [[:​partage|partage]] de fichiers en ligne. ​ [[:​Nextcloud]] est une solution de stockage et de [[:​partage|partage]] de fichiers en ligne. ​
  
-Sa grande force réside dans le fait que vous contrôlez entièrement vos données, l'​emplacement du stockage, le partage, la suppression,​ etc. Tout reste sous votre contrôle, à la différence des services comme //Dropbox// ou //Google Drive//, dont on ne peut être sur de ce qu'ils font de vos données.+Nextcloud permet également de synchroniser agendas et carnets d'​adresses. Il existe de nombreuses autres fonctionnalités disponibles grâce à des modules externes. 
 + 
 +Sa grande force réside dans le fait que vous contrôlez entièrement vos données, l'​emplacement du stockage, le partage, la suppression,​ etc. Tout reste sous votre contrôle, à la différence des services comme //Dropbox// ou //Google Drive//, dont on ne peut être sûr de ce qu'ils font de vos données.
  
 <​note>​Cette page traite de l'​installation et de la configuration d'un **serveur Nextcloud**. Pour une approche plus générale de ce projet consultez [[:​nextcloud|cette page de la documentation]].</​note>​ <​note>​Cette page traite de l'​installation et de la configuration d'un **serveur Nextcloud**. Pour une approche plus générale de ce projet consultez [[:​nextcloud|cette page de la documentation]].</​note>​
Ligne 13: Ligne 15:
 Nextcloud étant une solution de cloud centralisé,​ elle requiert la mise en place d'un serveur. Si vous ne vous sentez pas l'âme d'un administrateur système vous pouvez profiter des services d'​[[nextcloud#​prestataires|un prestataire]] qui s'​occupera de cet aspect particulièrement technique. Nextcloud étant une solution de cloud centralisé,​ elle requiert la mise en place d'un serveur. Si vous ne vous sentez pas l'âme d'un administrateur système vous pouvez profiter des services d'​[[nextcloud#​prestataires|un prestataire]] qui s'​occupera de cet aspect particulièrement technique.
  
-Nous allons voir ici comment déployer et utiliser ce service sur un serveur privé (ou éventuellement mutualisé).+Nous allons voir ici comment déployer et utiliser ce service sur un serveur privé (ou éventuellement mutualisé). ​La procédure complète est décrite [[https://​docs.nextcloud.com/​server/​latest/​admin_manual/​installation/​example_ubuntu.htm|ici]] en anglais
  
-===== Pré-requis ===== +===== Pré-requis =====
  
-  * Disposer d'un [[:​serveur|serveur]] +  * Disposer d'un [[:​serveur|serveur]]. 
-  * Avoir un [[:​lamp|serveur ​Web avec PHP]] installé ​dessus ​(ici [[:​apache2|Apache2]]),​ avoir activé le [[:​tutoriel/​securiser_apache2_avec_ssl#​mise_en_application_avec_le_serveur_http_apache2|mode SSL d'apache]] (https), avoir un [[:​openssh|serveur ​ssh]] (conseillé),​ ainsi qu'une base de donnée ​(ici [[:mysql|mysql]]). +  * Avoir un [[:​lamp|serveur ​web avec PHP]] installé (ici [[:​apache2|Apache2]]),​ avoir activé le [[:​tutoriel/​securiser_apache2_avec_ssl#​mise_en_application_avec_le_serveur_http_apache2|mode SSL d'Apache]] (https), avoir un [[:​openssh|serveur ​SSH]] (conseillé),​ ainsi qu'un serveur de gestion de base de données ​(ici [[:mysql|MySQL]] ou [[:​mariadb|MariaDB]]). 
-  * Savoir ​ajouter ​une tâche [[:​cron|CRON]] +  * Savoir ​planifier ​une tâche ​avec [[:​cron|CRON]]. 
-  * Savoir installer et activer des [[:​php#​modules|modules ​php]] et [[:apache2|apache]]. +  * Savoir installer et activer des [[:​php#​modules|modules ​PHP]] et [[:apache2|Apache]]. 
-  * Savoir créer une base de donnée ​[[:​mysql|MySQL]]. +  * Savoir créer une base de données ​[[:​mysql|MySQL]] / [[:​mariadb|MariaDB]]. 
-  * Avoir un pc client avec un naviguateur ​web et un client ​ssh.+  * Avoir un ordinateur (PC, Mac) ou un mobile (//​smartphone//​) disposant d’un navigateur ​web et d’un client ​SSH.
   * Disposer des [[:​sudo|droits d'​administration]] sur le serveur.   * Disposer des [[:​sudo|droits d'​administration]] sur le serveur.
   * Disposer d'une connexion à Internet configurée et activée.   * Disposer d'une connexion à Internet configurée et activée.
-  * Savoir utiliser le [[:​terminal|terminal]] +  * Savoir utiliser le [[:​terminal|terminal]]. 
-<note tip>La procédure décrite ici concerne une installation sur un serveur ​ubuntudebian ​nu (fresh install). Il vous faudra l'​adapter en fonction de vos besoin, par exemple si vous l'​installez sur un hébergement mutualiséun vps avec hyperviseur ​web type [[:​webmin|webmin]], ​ [[:​virtualmin|virtualmin]],​ cpanel ou autre.</​note>​ +<note tip>La procédure décrite ici concerne une installation sur un serveur ​Ubuntu/Debian ​nu (//fresh install//). Il vous faudra l'​adapter en fonction de vos besoins, par exemple si vous l'​installez sur un hébergement mutualisé ​ou sur un serveur privé virtuel (VPS), ​avec une interface d'​administration ​web du type [[:​webmin|webmin]],​ [[:​virtualmin|virtualmin]],​ cpanel ou autre.</​note>​ 
-===== Installation ===== +===== Installation =====
 ==== Téléchargement et Extraction de Nextcloud ==== ==== Téléchargement et Extraction de Nextcloud ====
  
-Le téléchargement se fait via le site officiel : [[https://​nextcloud.com/​install/#​instructions-server]]+Le téléchargement se fait via [[https://​nextcloud.com/​install/#​instructions-server|le site officiel]].
  
-L’installateur se présente sous la forme d'une archive [[:​zip|ZIP]],​ à dézipper à la racine de votre serveur web. L'​extraction va créer un dossier nextcloud. ​Déplacez son contenu à la racine du serveur, et supprimez ​le dossier ​vide. Rien d'​autre ne dois être présent ​à la racine ​de votre serveur. ​Nextcloud vérifie ​l’intégrité des fichier, et le scan va échouer s'il reste d'autres éléments.+L’installateur se présente sous la forme d'une archive [[:​zip|ZIP]],​ à [[archivage|dézipper]] à la racine de votre serveur web
 +En supposant que votre archive à été téléchargée dans le dossier Téléchargement,​ [[archivage|décompressez]] y le zip. L'​extraction va créer un dossier nextcloud. ​Ouvrez un terminal dans le dossier Téléchargements, et déplacez ​le contenu du dossier ​nextcloud ​à la racine ​du serveur ​avec la commande suivante :​ 
 +<​code>​sudo cp -r nextcloud /​var/​www/​nextcloud</​code>​ 
 +N.B. : l’emplacement /​var/​www/​nextcloud n'est qu'un exemple. Vous pouvez utiliser le répertoire de votre choix.
  
-==== Accès à l'installateur ​==== +====Créer la base de données et l'utilisateur MySQL / Mariadb==== 
-{{ :utilisateurs:​filerem1:​nextcloud:​nextcloud_module_php_install.png?​direct&​500|}}+Ouvrez la console d'​administration mysql /​mariadb ​: 
 +<​code>​sudo mysql</​code>​ 
 +ou si vous avez activé authentification par mot de passe de l'​utilisateur //root// 
 +<​code>​sudo mysql -uroot -p</​code>​
  
-Rendez-vous via votre navigateur sur la page web de votre serveur, soit par son domaine si vous l'avez configuré, soit par son adresse IP. +Créez les utilisateurs pour mariadb et la base de données : <​code ​mysql>
-<note tip>Si vous avez réalisé les opérations précédentes en tant qu'​administrateur (donc //​owner// ​ et  //group// à //root//), exécutez: <​code>​$ sudo chown www-data:​www-data -R nextcloud/ </​code>​(remplacez nextcloud/ par votre dossier racine)</​note>​  +
-==== Installation des modules PHP manquant ====+
  
-La page d'installation indique qu'il manque des modules PHPConnectez vous en [[:​ssh|SSH]] avec les [[:​sudo|droits d'administration]] sur votre serveur, puis [[tutoriel:​comment_installer_un_paquet#​en_ligne_de_commande|installez ces paquets]] : +CREATE USER 'username'@'​localhost'​ IDENTIFIED BY '​password';​ 
 +CREATE DATABASE IF NOT EXISTS nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;​ 
 +GRANT ALL PRIVILEGES ON nextcloud.* TO '​username'​@'​localhost'
 +FLUSH PRIVILEGES;</​code>​
  
-   $ apt install php-zip php-gd php-curl +Remplacez username ​et password par vos identifiant et mot de passe.
-   +
- Les installer ne suffit pas, il faut les activer, ​et redémarrer le serveur web pour que ceux ci soient pris en compte :  +
-   $ phpenmod zip gd curl +
-puis on redémarre le serveur Apache :  +
-   $ service apache2 restart+
  
-On revient sur le navigateur web, et on raffraichit la page, vous devriez maintenant voir l'​étape suivante. +====Installer les paquets PHP requis==== 
-  +Un certain nombre de modules PHP sont indispensables. Pour les installer, si ce n'est déjà fait : 
-==== Identifiant, ​ Emplacement de stockage et Base de donnée  ​==== +<​code>​sudo apt install php-gd php-mysql php-curl php-mbstring php-intl php-gmp php-bcmath php-imagick php-xml php-zip</​code>​
-{{ :utilisateurs:​filerem1:​nextcloud:​nextcloud_install_server-2.png?​direct&​200|}} +
-A cette étape, vous allez créer le fichier de configuration du serveur. ​+
  
-  * Choisissez votre Identifiant et mot de passe d'administrationc(est ce compte qui servira à créer ​d'autres comptesà mettre à jour, à installer des applications,​ etc.+====Configurez Apache==== 
 +Créez le fichier ​''/​etc/​apache2/​sites-available/​nextcloud.conf''​ avec les droits ​d'administrationet copiez-y le contenu suivant :​ 
 +<file bash> 
 +<​VirtualHost *:80> 
 +    ServerAdmin webmaster@localhost 
 +    ServerName nextcloud.localhost 
 +    DocumentRoot /​var/​www/​nextcloud
  
 +    <​Directory /​var/​www/​nextcloud/>​
 +      Require all granted
 +      AllowOverride All
 +      Options FollowSymLinks MultiViews
 +    </​Directory>​
 +</​VirtualHost>​
 +</​file>​
 +Si vous avez un nom de domaine, utilisez-le dans la directive ServerName à la place du nom local (nextcloud.localhost).
 +Puis activez ce nouvel hôte virtuel :
 +<​code>​a2ensite nextcloud.conf</​code>​
 +Activez les modules Apache indispensables :
 +<​code>​a2enmod headers
 +a2enmod env
 +a2enmod dir
 +a2enmod mime</​code>​
  
-  * Choisissez le répertoire des données. Vous pouvez laissez tel quel, ou bien changer l'​emplacement,​ par exemple si vous avez un disque supplémentaire,​ ou distant. Si vous changez l'​emplacement,​ il vous faudra [[:​droits|donner ​les droits]] au serveur web pour pouvoir y accéder. Sinonvous pourrez accéder au serveur, mais vous ne pourrez rien y stocker. Et veiller aussi à ce que ces emplacements soient [[:montage|monté au démarrage]] avec les bons droits.+Donnez ​les droits ​adéquats aux fichiers et répertoires :​ <​code>​chown -R www-data:​www-data /​var/​www/​nextcloud/</​code>​ 
 +Finalementredémarrez apache <​code>​sudo systemctl restart apache2</​code>​
  
 +==== Assistant d'​installation de Nextcloud ====
 +{{ :​utilisateurs:​filerem1:​nextcloud:​nextcloud_install_server-2.png?​direct&​200|}}
 +Rendez-vous avec votre navigateur sur la page web de votre serveur, soit par son domaine si vous l'avez configuré, soit par son nom local. Dans notre exemple, il s'agit de : ''​http://​nextcloud.localhost''​
  
-  * Créer la base de donnéesAvant de remplir ​ce champsil nous faut avoir la base de donnée déjà créé. Dans le cas de Mysqlnous allons la créer en ligne de commande via sshDans votre session ssh en administrateur,​ éxécutez ces commande :  ​+La fenêtre va vous demander ​de définir un nom d'​utilisateur et un mot de passe pour l'​administrateurC'​est ​ce compte qui servira à créer d'​autres comptesà mettre à jourà installer des applications,​ etc.\\
  
-<​code>​$ mysql -u utilisateur -p    # remplacer utilisateur par l'​utilisateur ​de votre base de données</​code>​ +Il faudra aussi indiquer le nom de la base de données. ​Dans notre exemple ci-dessus, elle s'appelle //​nextcloud/​/, l'​utilisateur et son mot de passe définis plus hautPar défaut le nom d'​hôte est //localhost// et le port 3306.
-  +
-<​code>​$ >CREATE DATABASE nom_de_la_base; ​     # remplacer nom_de_la_base par ce que vous voulezn'oubliez pas le ; puis valider.<​/code> +
-  +
-<​code>​$ >show databases; ​    # on vérifie que la base à bien été créé. si vous la voyez dans la listeparfait! Sinon, renseignez vous sur les problèmes ​de création de base mysql.</code>+
  
-  * **Remplissez maintenant l'​encart base de données :** +Pour le choix du répertoire des donnéesil est conseillé de changer ​l'emplacement pour qu'il soit en dehors du répertoire racine ​de l'application ​(/​var/​www/​nextcloud dans notre exemple). Si vous changez ​l'emplacementil vous faudra [[:​droits|donner les droits]] (dans notre exemple changer le propriétaire et le groupe par www-data)au ​serveur ​web pour pouvoir y accéder.
-  - Utilisateur de la base de donnée ;  +
-  - Mot de passe de la base de donnée ; +
-  - Le nom de la base de donnée ;  +
-  - L'​emplacement de la base donnée et le numéro ​du portpar défaut localhost (signifie qu'​elle ​est sur la même machine que le serveur web) +
-  * Cliquer ensuite sur **"​Terminer ​l'installation"​** , l'installation prend un moment, fonction ​de la puissance de votre serveur. Si vous tombez sur une **"​Erreur 500"​**,​ rechargez la page jusqu'​à ce que l'installation finisse ​(F5). +
-  * Vous avez terminé ​l'installationdès que vous verrez la page de connexion. On passe ensuite à la configuration des performances du serveur .+
  
-==== Applications ==== +Pour finir ensuite sur **"​Terminer l'​installation"​** , l'​installation prend un moment ​en fonction de la puissance ​de votre serveur. Si vous tombez sur une **"​Erreur 500"**, rechargez ​la page jusqu'​à ce que l'​installation finisse (F5). 
-Une fois installé, vous disposez des partages de base: //​Fichiers//,​ //​Galerie//​\\ +Lorsque la page de connexion apparaîtl'​installation est terminée. Procédez ensuite au réglage des performances du serveur Nextcloud.
-Il est possible d'en ajouter d'​autre,​ notamment: ​**//Agenda//, //​Contacts//​**, … partage social : //​Diaspora//,​ tchat voir visioconf avec //​Talk//​…\\ +
-Pour cela, cliquer sur votre icône ​en haut à droite puis dans le menu, **//+ Applications//​**\\ +
-Dans la liste de gauche, ​vous avez **//Pack d'​application//​**, dans la listeil suffit de cliquer le bouton sur la droite **//​Activer//​**+
  
-==== Migration d'un serveur ownCloud en serveur nextcloud ==== 
-Il est facile de migrer un serveur owncloud en serveur nextcloud. 
-La page de référence est : [[https://​help.nextcloud.com/​t/​migrating-from-owncloud-to-nextcloud/​551|doc nextcloud pour la migration (en)]]\\ 
-En bref, il faut commencer par récupérer la version nextcloud compatible avec votre version d'​owncloud:​ 
-  * ownCloud 8.2 et 9.0 vers Nextcloud 9. 
-  * ownCloud 9.0 et 9.1 vers Nextcloud 10 
-  * ownCloud 10.0.* vers Nextcloud 12.0.* 
  
-Puis suivre les étapes: 
-<note warning>​Comme toujours, pensez à sauvegarder au préalable, notamment la base de donnée qui va être modifiée et donc devenir incompatible avec owncloud ! Pour les data, il est préférable d'​avoir un répertoire indépendant,​ si ce n'est déjà fait, c'est l'​occasion:​ le fichier //​config.php//​ contient le paramètre: <​code>'​datadirectory'​ => '/​path/​my_owncloud_data',</​code>​ 
- ​Évidemment,​ il est préférable de réaliser cette opération à des heures où les utilisateurs ne sont pas connectés (et de les prévenir au préalable)! ​ </​note>​ 
-  - À part les répertoires //config// et //data//, supprimer le reste du contenu de votre répertoire d'​owncloud. 
-  - Décompresser les fichiers et répertoire de nextcloud dans le répertoire où étaient les fichiers owncloud. 
-  - Lancer la migration en appelant la page de votre cloud : // https://​mon_cloud.exemple.fr/​ ou ////​mon_serveur/​mon_cloud //et laissez-vous guider. Pour avoir un serveur nextcloud à jour, vous pouvez enchaîner les mises à jour nextcloud à dans l'​administration de nextcloud 
  
  
 +==== Applications ====
 +Une fois installé, vous disposez des partages de base: //​Fichiers//,​ //​Galerie//​\\
 +Il est possible d'en ajouter d'​autre,​ notamment: **//​Agenda//,​ //​Contacts//,​ //Task (tâches)//​**,​ … partage social : //​Diaspora//,​ Chat voir visioconférence avec //​Talk//​…\\
 +Pour cela, cliquez sur votre icône en haut à droite puis dans le menu, **//+ Applications//​**\\
 +Dans la liste de gauche, vous avez **//Pack d'​applications//​**,​ dans la liste, il suffit de cliquer le bouton sur la droite **//​Activer//​**
  
-===== Configuration des Performances ===== +<note important>​Tout ce qui suit cet avertissement n'a ni été reluni actualisé. Il ya donc sans doute pas mal d'informations obsolètes.</​note>​
-Connectez vous avec vos identifiant et mot de passe choisi à l'installationpuis, sur l'interface cliquez sur la roue dentée {{:​utilisateurs:​filerem1:​nextcloud:​nextcloud_icone_parametre-2.png?​nolink&​20|}} en haut à droite, sur le bandeau bleu, puis "​**Administration**"​+
  
-Vous voyez en haut de la page le titre **"​Avertissement ​de sécurité & configuration"​**, nous allons nous occuper de tout cela.+===== Réglage des performances ===== 
 +Connectez vous avec vos identifiant et mot de passe choisis à l'​installation,​ puis cliquez sur la roue dentée {{:​utilisateurs:​filerem1:​nextcloud:​nextcloud_icone_parametre-2.png?​nolink&​20|}} en haut à droite, sur le bandeau bleu, et enfin sur "**Administration/​Paramètres ​de Base**"
  
-==== Redirection https automatique ==== +Vous voyez en haut de la page le titre **"​Avertissement de sécurité & configuration"​**nous allons ​nous occuper ​de tout cela.
-Par défaut, même après avoir acitvé ​le mode SSL d'​apache et déclaré votre site vous y avez accès en http. Nous allons ​paramétrer une redirection automatique ​de http vers https, comme le[[ https://​docs.nextcloud.com/​server/​9/​admin_manual/​configuration_server/​harden_server.html#​use-https|préconise la documentation Nextcloud]].+
  
-Ouvrez votre session SSH en administrateur, ​puis  ​et editez ​le fichier de configuration de votre sitequi se trouve dans ce dossier : +==== Redirection HTTPS automatique ==== 
 +Par défaut, même après avoir activé le mode SSL d'​apache et déclaré votre site, l'​accès en HTTP fonctionne toujours. Nous allons paramétrer une redirection automatique de HTTP vers HTTPS, comme le[[ https://​docs.nextcloud.com/​server/​9/​admin_manual/​configuration_server/​harden_server.html#​use-https|préconise la documentation Nextcloud]]. 
 +<​note>​Partie à revoir</​note>​ 
 +Ouvrez votre session SSH en administrateur,​ et modifiez ​le fichier de configuration de votre site qui se trouve dans ce dossier :
 <​code>​$ nano /​etc/​apache2/​sites-available/"​votre-site.conf" ​  # remplacer "​votre-site.conf par le nom correct de votre fichier de configuration</​code>​ <​code>​$ nano /​etc/​apache2/​sites-available/"​votre-site.conf" ​  # remplacer "​votre-site.conf par le nom correct de votre fichier de configuration</​code>​
 Rajouter en dessous de la ligne **"​ServerName cloud.nextcloud.com"​**:​ Rajouter en dessous de la ligne **"​ServerName cloud.nextcloud.com"​**:​
Ligne 123: Ligne 131:
 On rafraîchit la page web. Si vous n'avez pas de certificat validé par une autorité, cela vous occasionnera une erreur SSL. Passez outre la recommandation,​ vous pourrez changer de certificat SSL plus tard. On rafraîchit la page web. Si vous n'avez pas de certificat validé par une autorité, cela vous occasionnera une erreur SSL. Passez outre la recommandation,​ vous pourrez changer de certificat SSL plus tard.
  
-==== Utilisation ​http/2 pour le https ==== +==== Utilisation ​HTTP/2 pour le HTTPS ==== 
-Si votre site est configuré pour le https, il est conseillé ​d'activer également ​le protocole ​http2+Si votre site est configuré pour le HTTPS, il est possible ​d'utiliser ​le protocole ​HTTP/2 qui est censé améliorer les performances
-En commancant ​par activer le module http2 +Il faut commencer ​par activer le module http2 d'​Apache. 
-<note important>​Ce module ​n'​est ​pas disponible ​par défaut ​dans ubuntu 16.04. Vous pouvez cependant l'​installer via la procédure décrite ici : [[https://websetnet.net/fr/set-apache-http2-support-ubuntu-16-04/|Comment configurer Apache avec le support HTTP / 2 sur Ubuntu 16.04]]</​note>​+<note important>​Le module ​http2 a très peu d’intérêt s'il est utilisé avec le MPM prefork d'​Apache qui est celui utilisé ​par défaut. [[https://httpd.apache.org/docs/2.4/​howto/​http2.html#​mpm-config|Voir la doc ici]]</​note>​
 <​code>​$ a2enmod http2</​code>​ <​code>​$ a2enmod http2</​code>​
-Rajoutez ​es lignes ​suivante ​à votre fichier de configuration ​du virtualhost https+Rajoutez ​les lignes ​suivantes ​à votre fichier de configuration ​d'​hôte virtuel HTTPS :
 <​code>​ <​code>​
     <​IfModule mod_http2.c>​     <​IfModule mod_http2.c>​
Ligne 135: Ligne 143:
 </​code>​ </​code>​
 Puis on redémarre le serveur web pour prendre en compte la configuration:​ Puis on redémarre le serveur web pour prendre en compte la configuration:​
-<​code>​$ ​service ​apache2 ​reload ​</​code>​+<​code>​$ ​systemctl restart ​apache2 </​code>​
 ==== Activer HSTS ( HTTP Strict-Transport-Security ) ==== ==== Activer HSTS ( HTTP Strict-Transport-Security ) ====
-Toujours en accord avec les [[https://​docs.nextcloud.com/​server/​9/​admin_manual/​configuration_server/​harden_server.html#​enable-http-strict-transport-security|recommandations ​officiel]], "HTTP Strict Transport Security"​ ([[https://​fr.wikipedia.org/​wiki/​HTTP_Strict_Transport_Security|wikipedia]]) est un organe ​de sécurité supplémentaire contre les attaques de type man-in-the-middle. Il est recommandé de l'​activer.+Toujours en accord avec les [[https://​docs.nextcloud.com/​server/​9/​admin_manual/​configuration_server/​harden_server.html#​enable-http-strict-transport-security|recommandations ​officielles]], "HTTP Strict Transport Security"​ ([[https://​fr.wikipedia.org/​wiki/​HTTP_Strict_Transport_Security|wikipedia]]) est un mécanisme ​de sécurité supplémentaire contre les attaques de type man-in-the-middle. Il est recommandé de l'​activer.
  
-Pour ce faire, nous allons retourner dans notre session SSH, éditer ​le fichier de configuration ​du serveur, mais cette fois celui qui s'occupe du port 443 (https)Il se termine généralement par "​exemple-**ssl**.conf+Pour ce faire, nous allons retourner dans notre session SSH et modifier ​le fichier de configuration ​d'hôte virtuel HTTPS.
  
-Rajouter en dessous de "​**ServerName**"​ : +Rajouter en dessous de "​**ServerName**"​ :
 <​code>​ <​code>​
 <​IfModule mod_headers.c>​ <​IfModule mod_headers.c>​
Ligne 147: Ligne 155:
 </​IfModule>​ </​IfModule>​
 </​code>​ </​code>​
-On enregistre, on quitte l'​éditeur,​ puis on active le module correspondant dans apache, pour que ces lignes soient ​prise en compte : +On enregistre, on quitte l'​éditeur,​ puis on active le module correspondant dans apache, pour que ces lignes soient ​prises ​en compte :
 <​code>​a2enmod headers</​code>​ <​code>​a2enmod headers</​code>​
-On redémarre le serveur apache pour que la configuration soit prise en compte, puis on recharge la page web du serveur ​nextcloud. La ligne traitant de "HTTP Strict-Transport-Security"​ à disparu, nous pouvons continuer.+On redémarre le serveur apache pour que la configuration soit prise en compte, puis on recharge la page web du serveur ​Nextcloud. La ligne traitant de "HTTP Strict-Transport-Security"​ à disparu, nous pouvons continuer.
 ==== Cache mémoire ==== ==== Cache mémoire ====
-Le cache mémoire est conseillé pour améliorer la réactivité de votre serveur. Les fichiers les plus demandé ​sont mis en cache mémoire pour une plus grande disponibilité. deux caches sont disponible, mais non obligatoire. Vous n'​êtes pas obligé de les mettre en place,à vous de choisir+Le cache mémoire est conseillé pour améliorer la réactivité de votre serveur. Les fichiers les plus demandés ​sont mis en cache mémoire pour une plus grande disponibilité.
  
-Dans la [[https://​docs.nextcloud.com/​server/​9/​admin_manual/​configuration_server/​caching_configuration.html#​configuring-memory-caching|documentation ​officiel]], le cache php-apc est désigné comme obsolète. Elle préconise d'​utiliser [[https://​docs.nextcloud.com/​server/​9/​admin_manual/​configuration_server/​caching_configuration.html#​id4|REDIS]] ou [[https://​docs.nextcloud.com/​server/​9/​admin_manual/​configuration_server/​caching_configuration.html#​id2|APCu]] que nous utiliserons ici.+Dans la [[https://​docs.nextcloud.com/​server/​9/​admin_manual/​configuration_server/​caching_configuration.html#​configuring-memory-caching|documentation ​officielle]], le cache php-apc est désigné comme obsolète. Elle préconise d'​utiliser [[https://​docs.nextcloud.com/​server/​9/​admin_manual/​configuration_server/​caching_configuration.html#​id4|REDIS]] ou [[https://​docs.nextcloud.com/​server/​9/​admin_manual/​configuration_server/​caching_configuration.html#​id2|APCu]] que nous utiliserons ici.
  
 Reprenez votre session SSH, allez à la racine de votre serveur nextcloud **( en général dans /​var/​www/​html ) ** Reprenez votre session SSH, allez à la racine de votre serveur nextcloud **( en général dans /​var/​www/​html ) **
Ligne 162: Ligne 170:
 $ phpenmod apcu $ phpenmod apcu
 </​code>​ </​code>​
-Puis on édite ​le fichier config.php se trouvant dans le dossier config du serveur.+Puis on modifie ​le fichier config.php se trouvant dans le dossier config du serveur.
  
-rajoutez ​une ligne à la fin, avant la dernière parenthèse:​  +Rajoutez ​une ligne à la fin, avant la dernière parenthèse : 
-<​code>'​memcache.local'​ => '​\OC\Memcache\APCu'</​code>​ +<​code>'​memcache.local'​ => '​\OC\Memcache\APCu'​,</​code>​ 
-On enregistreon quitteon redémarre ​le serveur web, et on recharge ​la page web nextcloud ​: la ligne concernant le cache est partie.+ 
 +Enregistrez puis dans le fichier /​etc/​php/<​php_version>/​mods-available/​apcu.inirajoutez la ligne : 
 +<​code>​apc.enable_cli=1</​code>​ 
 +Enregistrez égalementredémarrez ​le serveur web, puis rechargez ​la page web Nextcloud ​: la ligne concernant le cache est partie.
  
  
Ligne 177: Ligne 188:
 Nous allons éditer le fichier php.ini, pour activer la prise en charge d'​OPcache. Nous allons éditer le fichier php.ini, pour activer la prise en charge d'​OPcache.
 <​code>​$ nano /​etc/​php/​7.x/​apache2/​php.ini ​   # remplacez 7.x par votre version de php</​code>​ <​code>​$ nano /​etc/​php/​7.x/​apache2/​php.ini ​   # remplacez 7.x par votre version de php</​code>​
-rajouter, tout en bas du fichier : +rajouter, tout en bas du fichier :
 <​code>​ <​code>​
 opcache.enable=1 opcache.enable=1
Ligne 187: Ligne 198:
 opcache.revalidate_freq=1 opcache.revalidate_freq=1
 </​code>​ </​code>​
- On enregistre, on quitte, on redémarre le serveur web, et on recharge la page web nextcloud ​Tous les tests on réussi, le serveur est correctement configuré. + On enregistre, on quitte, on redémarre le serveur web, et on recharge la page web Nextcloud ​tous les tests on réussi, le serveur est correctement configuré. 
-Pour autant, il reste une dernière configuration à effectuer : le [[:​cron|CRON]] ​job.+Pour autant, il reste une dernière configuration à effectuer : la tâche ​[[:​cron|CRON]].
 ==== Configurer le CRON ==== ==== Configurer le CRON ====
-Nextcloud utilise ​un cron pour gérer ​des taches de manière répétitive. Par défaut, il est configuré pour utiliser [[https://​fr.wikipedia.org/​wiki/​Ajax_(informatique)|AJAX]],​ mais qui à le désavantage de ne fonctionner que via l'​explorateur web. Pour une utilisation via l'​application,​ il est [[https://​docs.nextcloud.com/​server/​12/​admin_manual/​configuration_server/​background_jobs_configuration.html#​cron|recommandé]] d'​utiliser le [[:​cron|CRON]] de votre serveur, paramétré avec l'​utilisateur qui gère votre site (par défaut www-data)+Nextcloud utilise ​une tâche //cron// pour lancer ​des scripts à intervalles réguliers. Par défaut, il est configuré pour utiliser [[https://​fr.wikipedia.org/​wiki/​Ajax_(informatique)|AJAX]],​ mais qui à le désavantage de ne fonctionner que via l'​explorateur web. Pour une utilisation via l'​application,​ il est [[https://​docs.nextcloud.com/​server/​12/​admin_manual/​configuration_server/​background_jobs_configuration.html#​cron|recommandé]] d'​utiliser le [[:​cron|CRON]] de votre serveur, paramétré avec l'​utilisateur qui gère votre site (par défaut www-data)
  
-Nous allons appeler le fichier cron.php se trouvant à la racine de votre serveur web toutes les 15 minutes, par l'​utilisateur www-data. ( à adapter selon votre configuration serveur)+Nous allons appeler le fichier cron.php se trouvant à la racine de votre serveur web toutes les minutes, par l'​utilisateur www-data. ( à adapter selon votre configuration serveur)
 <​code>​ <​code>​
 $ crontab -u www-data -e $ crontab -u www-data -e
 </​code>​ </​code>​
-À la dernière ligne, rajouter le cron de 15 minutes : +À la dernière ligne, rajouter le cron de minutes :
 /​!\Attention de bien modifier le chemin vers votre fichier cron.php ex: /​var/​www/​html/​nextcloud/​cron.php,​ ou tout autre chemin selon votre configuration,​ sinon le cron ne fonctionera pas. /!\ /​!\Attention de bien modifier le chemin vers votre fichier cron.php ex: /​var/​www/​html/​nextcloud/​cron.php,​ ou tout autre chemin selon votre configuration,​ sinon le cron ne fonctionera pas. /!\
 <​code>​ <​code>​
-*/15  ​* ​ *  *  * php -f /​var/​www/​cron.php+*/ ​* ​ *  *  * php -f /​var/​www/​cron.php
 </​code>​ </​code>​
-Quittez en enregistrant,​ puis vérifiez la configuration par +Quittez en enregistrant,​ puis vérifiez la configuration par
 <​code>​$ crontab -u www-data -l <​code>​$ crontab -u www-data -l
-*/15  ​* ​ *  *  * php -f /​var/​www/​cron.php+*/ ​* ​ *  *  * php -f /​var/​www/​cron.php
 </​code>​ </​code>​
  
Ligne 209: Ligne 220:
 Votre serveur Nextcloud est maintenant installé et configuré selon les recommandations de l'​éditeur. Pour configurer le client, voir la page dédié au [[:​nextcloud-client|Client Nextcloud]] Votre serveur Nextcloud est maintenant installé et configuré selon les recommandations de l'​éditeur. Pour configurer le client, voir la page dédié au [[:​nextcloud-client|Client Nextcloud]]
  
-Pour vérifier le bon fonctionnement de cron depuis votre interface d'amin nextcloud, vous pouvez forcer le redémarrage de cron afin que le fichier cron.php soit appeler ​directement et ne pas devoir attendre le délais de 15min, pour cela redémarrer cron avec +Pour vérifier le bon fonctionnement de cron depuis votre interface d'administration Nextcloud, vous pouvez forcer le redémarrage de cron afin que le fichier cron.php soit appelé ​directement et ne pas devoir attendre le délais de 15min, pour cela redémarrer cron avec
 <​code>​$ sudo service cron restart <​code>​$ sudo service cron restart
 </​code>​ </​code>​
  
-Si tout est bon, vous obtiendrez le message suivant depuis l'​interface d'admin nextcloud:+Si tout est correct, vous obtiendrez le message suivant depuis l'​interface d'administration Nextcloud ​:
  
 "​Tâches de fond  | Dernière tâche exécutée il y a 1 minute"​ (ou inférieur) "​Tâches de fond  | Dernière tâche exécutée il y a 1 minute"​ (ou inférieur)
  
 +===== Paramétrage Divers =====
 +
 +==== Langue ====
 +Vous pouvez définir une langue par défaut à chaque création d'​utilisateur,​ et les paramêtre régionnaux correspondant.
 + 
 +Pour ce faire, rajoutez ces lignes dans le fichier config/​config.php :
 +
 +<​code>​
 +'​default_language'​ => '​fr_FR',​
 +'​force_language'​ => '​fr_FR',​
 +'​default_locale'​ => '​fr_FR',​
 +'​force_locale'​ => '​fr_FR',​
 +</​code>​
 +
 +Adaptez cette valeur à la langue que vous souhaitez.
 +
 +Source : [[https://​docs.nextcloud.com/​server/​12.0/​admin_manual/​configuration_server/​language_configuration.html|Nextcloud Language Configuration]]
 +
 +==== Thème ====
 +Pour que l'​interface web adapte les icônes automatiquement à vos couleur, installez ceci :
 +<​code>​$ sudo apt install php-imagick libmagickcore-6.q16-3-extra</​code>​
 +On Active le module php :
 + <​code>​$ phpenmod imagick</​code>​
 +
 +puis on redémarre le serveur Apache :
 +
 + <​code>​$ service apache2 restart</​code>​
 +
 +Source : [[https://​docs.nextcloud.com/​server/​17/​admin_manual/​configuration_server/​theming.html?​highlight=imagick#​theming-of-icons|Nextcloud Theming of Icons]]
 ===== Voir aussi ===== ===== Voir aussi =====
 +
    
-  ​* **(en)** [[https://​nextcloud.com/​|Site officiel du logiciel]]+  * [[https://​nextcloud.com/fr_FR/|Site officiel du logiciel]]
   * [[:​Nextcloud]]   * [[:​Nextcloud]]
   * [[:​nextcloud-client|Client Nextcloud]]   * [[:​nextcloud-client|Client Nextcloud]]
 +  * [[https://​nextcloud.com/​collaboraonline/​|CollaboraOnline]] - [[:​LibreOffice]] intégré sur le serveur NextCloud pour le travail collaboratif.
  
 ---- ----
 //​Contributeurs principaux : [[utilisateurs:​filerem1]],​ [[utilisateurs:​bcag2]].//​ //​Contributeurs principaux : [[utilisateurs:​filerem1]],​ [[utilisateurs:​bcag2]].//​
  • nextcloud-serveur.1532192095.txt.gz
  • Dernière modification: Le 21/07/2018, 18:54
  • par 176.130.248.30