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édentesRévision précédente
Prochaine révision
Révision précédente
documentations:linux:debian_-_installation_de_nextcloud [2023/01/20 13:47] sheltemdocumentations:linux:debian_-_installation_de_nextcloud [2023/01/20 14:23] (Version actuelle) – [Configuration du cache (Optionnel)] sheltem
Ligne 196: Ligne 196:
       Require method GET POST OPTIONS       Require method GET POST OPTIONS
   </Directory>   </Directory>
 +
 +Activer le nouveau Vhost en créant un lien symbolique dans le dossier "conf_enable" (c'est une convention d'Apache)
 +
 +  a2ensite well-known.conf
 +ou
 +  ln -s /etc/apache2/conf-available/well-known.conf /etc/apache2/conf-enabled/
 +
 +On redémarre apache
 +
 +  systemctl restart apache2
 +
 +On génère un certificat (Remplacer UTILISATEUR@DOMAINE.COM et DOMAINE.COM)
 +
 +  certbot certonly --agree-tos --email UTILISATEUR@DOMAINE.COM --webroot -w /var/lib/letsencrypt/ -d DOMAINE.COM
 +
 +====== Création des Virtual Hosts Apache ======
 +Pour simplifier la configuration, les Vhosts pour les ports 80 et 443 sont configurés dans le même fichiers.
 +les connexions sur le ports 80 sont automatiquement redirigés vers la connexion 443.
 +
 +Créer le fichier de configuration des Vhosts avec votre éditeur préféré. (Exécuter l'éditeur en indiquant un fichier qui n'existe pas le crée automatiquement)
 +
 +  vi /etc/apache2/sites-available/nextcloud.conf
 +ou
 +  nano /etc/apache2/sites-available/nextcloud.conf
 +
 +Coller le contenu suivant en remplaçant "DOMAINE.COM" par le nom de domaine utilisé.
 +
 +  <VirtualHost *:80>
 +      ServerName DOMAINE.COM
 +      ServerAlias www.DOMAINE.COM
 +  
 +      # auto redirect HTTP to HTTPS
 +      Redirect permanent / https://DOMAINE.COM/
 +  </VirtualHost>
 +  
 +  <VirtualHost *:443>
 +      ServerName DOMAINE.COM
 +      ServerAlias www.DOMAINE.COM
 +    
 +      DocumentRoot /var/www/nextcloud/
 +  
 +      Protocols h2 http/1.1
 +  
 +      # log files
 +      ErrorLog /var/log/apache2/DOMAINE.COM-error.log
 +      CustomLog /var/log/apache2/DOMAINE.COM-access.log combined
 +  
 +      SSLEngine On
 +      SSLCertificateFile /etc/letsencrypt/live/DOMAINE.COM/fullchain.pem
 +      SSLCertificateKeyFile /etc/letsencrypt/live/DOMAINE.COM/privkey.pem
 +  
 +      # HSTS
 +      <IfModule mod_headers.c>
 +          Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
 +      </IfModule>
 +  
 +      <Directory /var/www/nextcloud/>
 +          Options +FollowSymlinks
 +          AllowOverride All
 +  
 +          <IfModule mod_dav.c>
 +              Dav off
 +          </IfModule>
 +  
 +          SetEnv HOME /var/www/nextcloud
 +          SetEnv HTTP_HOME /var/www/nextcloud
 +      </Directory>
 +  </VirtualHost>
 +
 +On active les Vhosts
 +
 +  a2ensite nextcloud.conf
 +ou
 +  ln -s /etc/apache2/conf-available/nextcloud.conf /etc/apache2/conf-enabled/
 +
 +Il est possible de tester toute la configuration d'Apache avec cette commande
 +
 +  apachectl configtest
 +
 +Redémarrer Apache
 +
 +  systemctl restart apache2
 +
 +====== Configuration de Nextcloud ======
 +Si la procédure d'Installation standardisé de Debian a été suivi, c'est le répertoire /DATA qui sera utilisé stocker les données de Nextcloud.
 +Il est donc nécessaire de donner les droits d'accès a Apache pour ce répertoire.
 +
 +Donner les droits à Apache sur le répertoire /DATA (Si il n'est pas dans le répertoire de Nextcloud)
 +
 +  chown -R www-data:www-data /DATA
 +
 +A ce stade l'instance Nextcloud devrait être accessible via son URL
 +
 +  * Ouvrer un navigateur est entrer l'URL définitive.
 +  * L'assistant de configuration de Nextcloud s'ouvre.
 +  * **Créer un compte adminstrateur.**
 +  * Indiquer** /DATA** en tant que **répertoire de données.**
 +  * Indiquer le nom de la base de données crée précédement
 +  * Indiquer l'utilisateur de la base de données créé précédement.
 +  * Indiquer le mot de passe défini précédement pour l'utilisateur de la base de données.
 +  * l'adresse de la base de données peut rester sur "localhost"
 +
 +===== Configuration des tâches planifiées =====
 +
 +  * Rendez-vous dans l'interface web de Nextcloud
 +  * Cliquer sur le logo de profil (en haut à droite)
 +  * Cliquer sur **Administration Settings** puis **Paramêtres de base**
 +  * Sélectionner **Cron (Recommandé)**
 +  * Se connecter en SSH au serveur
 +  * Créer la tâche planifiée
 +
 +  crontab -u www-data -e
 +
 +Ajouter la ligne suivante à la fin du fichier et quitter **(Remplacer par le chemin vers le fichier cron.php)**
 +
 +  */5  *  *  *  * php -f /var/www/NEXTCLOUDFOLDER/cron.php
 +
 +Il est possible de vérifier que la modification est bien enregistrée avec la commande suivante
 +
 +  crontab -u www-data -l
 +
 +Il est possible de vérifié que la tâche s'exécute en se rendant de nouveau sur la page **Paramètres de base** de la **page d'administration**
 +
 +====== Configuration du cache (Optionnel) ======
 +
 +La méthode la plus courant et la plus simple est d'utiliser Redis Server
 +
 +  Installer Redis Server et php-redis
 +
 +  apt install redis-server php-redis
 +
 +Éditer le fichier de configuration de redis-server
 +
 +  vi /etc/redis/redis.conf
 +
 +Dé-commenter et modifier les lignes suivantes
 +On enlève "/var" de la première ligne
 +On remplace 700 par 770 sur la seconde
 +
 +  unixsocket /run/redis/redis-server.sock
 +  unixsocketperm 770
 +
 +Dé-commenter et modifier également
 +On remplace 6379 par 0
 +
 +  port 0
 +
 +Ajouter l’utilisateur www-data (Utiliser par Nextcloud au groupe Redis)
 +
 +  usermod -a -G redis www-data
 +
 +Éditer le fichier de configuration de nextcloud pour y ajouter l'utilisation de Redis server comme cache
 +
 +  vi /var/www/NEXTCLOUDFOLDER/config/config.php
 +
 +Ajouter les lignes suivante en fin de fichier mais avant le dernier **");**"
 +
 +    'memcache.local' => '\\OC\\Memcache\\Redis',
 +    'memcache.distributed' => '\\OC\\Memcache\\Redis',
 +    'redis' =>
 +    array (
 +      'host' => '/run/redis/redis-server.sock',
 +      'port' => 0,
 +      'dbindex' => 0,
 +      'timeout' => 1.5,
 +    ),
 +
 +Démarrer redis-server
 +
 +  service redis-server start
 +
 +Redémarrer le serveur web Apache
 +
 +  service apache2 restart
 +
 +====== Notes ======
 +Emplacement des fichiers
 +
 +  /etc/apache2/sites-available/ <- Fichiers de configuration Vhosts
 +  /etc/apache2/sites-enabled/ <- Fichiers de configuration Vhosts actifs
 +  
 +====== Commandes utiles ======
 +
 +Statut Apache
 +
 +  systemctl status apache2
 +
 +Statut Let's Encrypt
 +
 +  systemctl status certbot.timer
 +
 +Test de renouvellement du certificat
 +
 +  certbot renew --dry-run
 +
 +Activer un site Apache
 +
 +  a2ensite nomduvhost.conf
 +ou
 +  ln -s /etc/apache2/conf-available/nomduvhost.conf /etc/apache2/conf-enabled/
  
  
Haut de page