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/11/2021, 17:24]
89.90.39.1 [Configurez Apache]
nextcloud-serveur [Le 19/04/2024, 11:42] (Version actuelle)
spnux [Cache mémoire] Corrigé hyperliens REDIS et APCu
Ligne 17: Ligne 17:
 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 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ées (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ées [[:​mysql|MySQL]]. +  * Savoir créer une base de données [[:​mysql|MySQL]] / [[:​mariadb|MariaDB]]. 
-  * Avoir un PC client avec un navigateur 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 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éun VPS avec une interface d'adiministration ​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 ====
  
Ligne 117: Ligne 117:
 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]]. 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>​ <​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 : +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 132: Ligne 132:
  
 ==== 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 HTTP/2.+Si votre site est configuré pour le HTTPS, il est possible ​d'utiliser ​le protocole HTTP/​2 ​qui est censé améliorer les performances.
 Il faut commencer par activer le module http2 d'​Apache. 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,​ à vos risques et périls, 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 les lignes suivantes à votre fichier de configuration d'​hôte virtuel HTTPS : Rajoutez les lignes suivantes à votre fichier de configuration d'​hôte virtuel HTTPS :
Ligne 149: Ligne 149:
 Pour ce faire, nous allons retourner dans notre session SSH et modifier le fichier de configuration d'​hôte virtuel HTTPS. 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 155: 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 prises 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és sont mis en cache mémoire pour une plus grande disponibilité. ​ +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 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.+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/​latest/​admin_manual/​configuration_server/​caching_configuration.html#​id2|REDIS]] ou [[https://​docs.nextcloud.com/​server/​latest/​admin_manual/​configuration_server/​caching_configuration.html#​id1|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 172: Ligne 172:
 Puis on modifie 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>​
-Enregistrez,​ redémarrez le serveur web, puis rechargez la page web Nextcloud : la ligne concernant le cache est partie.+ 
 +Enregistrez ​puis dans le fichier /​etc/​php/<​php_version>/​mods-available/​apcu.ini,​ rajoutez la ligne : 
 +<​code>​apc.enable_cli=1</​code>​ 
 +Enregistrez également, redémarrez le serveur web, puis rechargez la page web Nextcloud : la ligne concernant le cache est partie.
  
  
Ligne 185: 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 204: Ligne 207:
 $ crontab -u www-data -e $ crontab -u www-data -e
 </​code>​ </​code>​
-À la dernière ligne, rajouter le cron de 5 minutes : +À la dernière ligne, rajouter le cron de 5 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>​
 */5  *  *  *  * php -f /​var/​www/​cron.php */5  *  *  *  * 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
 */5  *  *  *  * php -f /​var/​www/​cron.php */5  *  *  *  * php -f /​var/​www/​cron.php
Ligne 217: 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'​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 +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>​
Ligne 230: Ligne 233:
 Vous pouvez définir une langue par défaut à chaque création d'​utilisateur,​ et les paramêtre régionnaux correspondant. 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 : +Pour ce faire, rajoutez ces lignes dans le fichier config/​config.php :
  
 <​code>​ <​code>​
Ligne 239: Ligne 242:
 </​code>​ </​code>​
  
-Adaptez cette valeur à la langue que vous souhaitez. ​+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]] Source : [[https://​docs.nextcloud.com/​server/​12.0/​admin_manual/​configuration_server/​language_configuration.html|Nextcloud Language Configuration]]
  
 ==== Thème ==== ==== Thème ====
-Pour que l'​interface web adapte les icônes automatiquement à vos couleur, installez ceci : +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>​ <​code>​$ sudo apt install php-imagick libmagickcore-6.q16-3-extra</​code>​
 On Active le module php : On Active le module php :
Ligne 253: Ligne 256:
  <​code>​$ service apache2 restart</​code>​  <​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]] ​+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 =====
  
    
-  * [[https://​nextcloud.com/​fr_FR/|Site officiel du logiciel]]+  * [[https://​nextcloud.com/​fr/|Site officiel du logiciel]]
   * [[:​Nextcloud]]   * [[:​Nextcloud]]
   * [[:​nextcloud-client|Client Nextcloud]]   * [[:​nextcloud-client|Client Nextcloud]]
  • nextcloud-serveur.1638203051.txt.gz
  • Dernière modification: Le 29/11/2021, 17:24
  • par 89.90.39.1