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 29/03/2018, 15:04]
bcag2 ajout § [Applications]
nextcloud-serveur [Le 08/04/2024, 15:31] (Version actuelle)
129.175.14.197 [Voir aussi]
Ligne 5: Ligne 5:
 {{ :​utilisateurs:​filerem1:​nextcloud:​nextcloud_logo.small.png?​direct&​200|}} {{ :​utilisateurs:​filerem1:​nextcloud:​nextcloud_logo.small.png?​direct&​200|}}
  
-Nextcloud est un [[:serveur|serveur]] 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,​ etcTout 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'adressesIl existe de nombreuses autres fonctionnalités disponibles grâce ​à des modules externes.
  
-Techniquement Nextcloud est un fork d'[[:​owncloud|Owncloud]]Il en reprend les basesmais son développement est plus actifet il bénéficie ​de plus d'​application ​qu'Owncloud.+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,​ etcTout 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.
  
-NextCloud utilise le protocole [[:​webdav|WebDAV]] qui permet d'accéder au serveur ​de façon transparente via un "​disque réseau"​ sur Linux, Windows ou MacIl existe également des logiciels de synchronisation pour de très nombreuses plateformes (Linux, Mac, Windows, Android, etc) afin de récupérer ​une copie locale ​de vos fichiers et pouvoir travailler hors connexion+<​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>​
  
-NextCloud ne s'​arrête pas au simple partage ​de fichiers. Il permet par exemple de gérer votre calendriervos contacts, vos marque-pages et même votre musique. Il intègre les services commerciaux de partage ​en ligne devenant un point d'accès central pour Amazon S3, Dropbox, Google Drive, OpenStack Swift, voire d'autres serveurs NextCloud. Un système ​de plugins (apps) permet ​d'installer et/ou de développer d'autres applications en fonction ​de ce qui vous intéresse. Il gère également le partage de fichier / dossier via un simple clic droit dans votre explorateur de fichier (Explorer, Nautilus, Nemo, etc.).+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é). La procédure complète est décrite [[https://​docs.nextcloud.com/​server/​latest/​admin_manual/​installation/​example_ubuntu.htm|ici]] en anglais
  
-<note tip>​Cette page traite de l'​installation et de la configuration d'un **serveur Nextcloud**. Pour Installer le client, se rapporter à la page [[:​nextcloud-client|nextcloud-client]]</​note>​+===== Pré-requis =====
  
-===== Pré-requis =====  +  ​* Disposer d'un [[:​serveur|serveur]]. 
- +  * 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]]). 
-  ​* Disposer d'un [[:​serveur|serveur]] +  * Savoir ​planifier ​une tâche ​avec [[:​cron|CRON]]. 
-  * 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]]). +  * Savoir installer et activer des [[:php#modules|modules ​PHP]] et [[:apache2|Apache]]. 
-  * Savoir ​ajouter ​une tâche [[:​cron|CRON]] +  * Savoir créer une base de données ​[[:​mysql|MySQL]] / [[:​mariadb|MariaDB]]. 
-  * Savoir installer et activer des [[:modules_php|modules ​php]] et [[:apache2|apache]]. +  * Avoir un ordinateur (PC, Mac) ou un mobile (//​smartphone//​) disposant d’un navigateur ​web et d’un client ​SSH.
-  * Savoir créer une base de donnée ​[[:​mysql|MySQL]]. +
-  * Avoir un pc client avec un naviguateur ​web et 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éaliser les opérations précédentes en tant qu'​administrateur (donc //owner// et //group// à //root//), exécuter: <​code> ​sudo chown www-data:​www-data -R nextcloud/ </​code></​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 webet 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 installersi 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>​ 
 + 
 +====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>​ 
 + 
 +Donnez les droits adéquats aux fichiers ​et répertoires :​ <​code>​chown -R www-data:​www-data /​var/​www/​nextcloud/</​code>​ 
 +Finalement, redémarrez apache : <​code>​sudo systemctl restart apache2</​code>​ 
 + 
 +==== Assistant d'​installation ​de Nextcloud ​====
 {{ :​utilisateurs:​filerem1:​nextcloud:​nextcloud_install_server-2.png?​direct&​200|}} {{ :​utilisateurs:​filerem1:​nextcloud:​nextcloud_install_server-2.png?​direct&​200|}}
-A cette étape, ​vous allez créer le fichier ​de configuration du serveur. ​+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''​
  
-  * 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.+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.\\
  
 +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 haut. Par défaut le nom d'​hôte est //​localhost//​ et le port 3306.
  
-  * Choisissez ​le répertoire des données. Vous pouvez laissez tel quelou 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. Sinon, vous 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.+Pour le choix du répertoire des données, ​il 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'​emplacement,​ il 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.
  
 +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).
 +Lorsque la page de connexion apparaît, l'​installation est terminée. Procédez ensuite au réglage des performances du serveur Nextcloud.
  
-  * Créer la base de données. Avant de remplir ce champs, il nous faut avoir la base de donnée déjà créé. Dans le cas de Mysql, nous allons la créer en ligne de commande via ssh. Dans votre session ssh en administrateur,​ éxécutez ces commande :  ​ 
  
-<​code>​$ mysql -u utilisateur -p    # remplacer utilisateur par l'​utilisateur de votre base de données</​code>​ 
-  
-<​code>​$ >CREATE DATABASE nom_de_la_base; ​     # remplacer nom_de_la_base par ce que vous voulez. n'​oubliez pas le ; puis valider.</​code>​ 
-  
-<​code>​$ >show databases; ​    # on vérifie que la base à bien été créé. si vous la voyez dans la liste, parfait! Sinon, renseignez vous sur les problèmes de création de base mysql.</​code>​ 
  
-  * **Remplissez maintenant l'​encart base de données :** 
-  - 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 port, par 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'​installation,​ dès que vous verrez la page de connexion. On passe ensuite à la configuration des performances du serveur . 
  
 ==== Applications ==== ==== Applications ====
 Une fois installé, vous disposez des partages de base: //​Fichiers//,​ //​Galerie//​\\ Une fois installé, vous disposez des partages de base: //​Fichiers//,​ //​Galerie//​\\
-Il est possible d'en ajouter d'​autre,​ notamment: **//​Agenda//,​ //​Contacts//​**,​ … partage social : //​Diaspora//, ​tchat voir visioconf ​avec //​Talk//​…\\ +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, cliquer ​sur votre icône en haut à droite puis dans le menu, **//+ Applications//​**\\ +Pour cela, cliquez ​sur votre icône en haut à droite puis dans le menu, **//+ Applications//​**\\ 
-Dans la liste de gauche, vous avez **//Pack d'application//**, dans la liste, il suffit de cliquer le bouton sur la droite **//​Activer//​** +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 ===== +
-Connectez vous avec vos identifiant et mot de passe choisi à l'​installation,​ puis, 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.+<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>​
  
-==== Redirection https automatique ​==== +===== Réglage des performances ===== 
-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 httpscomme le[[ https://docs.nextcloud.com/server/​9/​admin_manual/​configuration_server/​harden_server.html#​use-https|préconise la documentation Nextcloud]].+Connectez vous avec vos identifiant ​et mot de passe choisis à l'​installationpuis 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**"​
  
-Ouvrez votre session SSH en administrateur, ​puis  ​et editez ​le fichier de configuration de votre sitequi se trouve dans ce dossier : +Vous voyez en haut de la page le titre **"​Avertissement de sécurité & configuration"​**,​ nous allons nous occuper de tout cela. 
 + 
 +==== 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 108: 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>​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 119: 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 131: 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>​a2enmode ​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 146: 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 161: 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 171: 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. /!\
 <​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 192: 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"​+"​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/|Site officiel du logiciel]] 
 +  * [[:​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.1522328688.txt.gz
  • Dernière modification: Le 29/03/2018, 15:04
  • par bcag2