serveur_maison:installer_nextcloud
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
serveur_maison:installer_nextcloud [2024/07/19 16:12] – jpg | serveur_maison:installer_nextcloud [2024/07/19 16:48] (Version actuelle) – [Sauvegarde de Nextcloud] jpg | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Nextcloud 28 – Installation | + | ====== Nextcloud 28 – Installation Debian ====== |
Ligne 10: | Ligne 10: | ||
Nous allons, dans ce tutoriel, créer un **Cloud** personnel en installant **Nextcloud**.\\ | Nous allons, dans ce tutoriel, créer un **Cloud** personnel en installant **Nextcloud**.\\ | ||
Pour finir, nous **optimiserons** notre installation afin d’améliorer les performances de notre **Cloud Personnel**.\\ | Pour finir, nous **optimiserons** notre installation afin d’améliorer les performances de notre **Cloud Personnel**.\\ | ||
+ | jjworld.fr[[https:// | ||
---- | ---- | ||
Ligne 298: | Ligne 299: | ||
=== 3.6) Tâches de fond === | === 3.6) Tâches de fond === | ||
- | Pour son bon fonctionnement, | + | Pour son bon fonctionnement, |
+ | **Exemple de tâche** : Scan à la recherche de nouveaux fichiers.\\ | ||
+ | Par défaut, ces tâches sont exécutées à chaque chargement de page.\\ | ||
+ | Cependant, si personne ne visite le site, aucune tâche ne sera exécutée.\\ | ||
+ | Il est donc recommandé d’utiliser [[https:// | ||
+ | |||
+ | == Création de la tâche Cron : == | ||
+ | < | ||
+ | crontab -u www-data -e | ||
+ | </ | ||
+ | |||
+ | Ajouter la ligne suivante à la fin du fichier : | ||
+ | < | ||
+ | */5 * * * * php -f / | ||
+ | </ | ||
+ | |||
+ | Le fichier **cron.php** contenant les tâches Nextcloud sera exécuté toutes les **5 minutes**.\\ | ||
+ | Cet intervalle peut être modifié en remplaçant le **5** par une autre valeur. | ||
+ | |||
+ | == Configuration du type de tâche dans Nextcloud : == | ||
+ | < | ||
+ | sudo -u www-data php / | ||
+ | </ | ||
+ | |||
+ | **Attention aux espaces. Problème constaté lors du copier/ | ||
+ | |||
+ | Pour aller plus loin, vous pouvez consulter la page [[https:// | ||
+ | |||
+ | === 3.6) Configuration de la langue du profil === | ||
+ | |||
+ | Rentrer dans le menu **« Paramètres »** : | ||
+ | |||
+ | {{nextcloud: | ||
+ | |||
+ | Dans le panneau de gauche, sélectionner **« Informations personnelles »**. | ||
+ | |||
+ | Régler la **Langue** et les **Paramètres régionaux** : | ||
+ | |||
+ | {{nextcloud: | ||
+ | |||
+ | Il est également possible de définir les autres paramètres (Adresse email, téléphone etc…) | ||
+ | |||
+ | === 3.7) Vérification de Mise à Jour === | ||
+ | |||
+ | Cliquer sur **« Vue d’ensemble »** sous **« Administration »**. | ||
+ | |||
+ | {{nextcloud: | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | |||
+ | ===== Utilisateurs et Groupes ===== | ||
+ | |||
+ | === 5.1) Création Utilisateurs et Groupes === | ||
+ | |||
+ | Se rendre dans le menu **Utilisateurs**. | ||
+ | |||
+ | {{nextcloud: | ||
+ | |||
+ | Cliquer sur **« Ajouter un groupe »** pour créer un groupe.\\ | ||
+ | Cliquer sur **« Nouvel utilisateur »** pour créer un utilisateur. | ||
+ | |||
+ | === 5.2) Administrateurs Nextcloud === | ||
+ | |||
+ | Pour définir un utilisateur en tant qu’Administrateur, | ||
+ | |||
+ | {{nextcloud: | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== Stockages Externes ===== | ||
+ | |||
+ | === 6.1) Configuration générale === | ||
+ | |||
+ | Grâce à l’application %%**%%%%**%%[[https:// | ||
+ | Nous allons, dans l’exemple qui suit, nous connecter à un partage SMB/WINDOWS de notre serveur TrueNAS (Installé grâce à notre [[https:// | ||
+ | |||
+ | == Se rendre dans Paramètres, | ||
+ | |||
+ | {{nextcloud: | ||
+ | |||
+ | **Stockage externe** : Type de stockage\\ | ||
+ | **Authentification** : A choisir en fonction du contexte mais **« Identifiants de connexion, sauvegardés dans la base de données »** permet une meilleure compatibilité avec les services tels que l’application pour Smartphone et le client Windows.\\ | ||
+ | Pour plus d’information sur les méthodes d’authentification, | ||
+ | |||
+ | === 6.2) Autoriser le Partage === | ||
+ | |||
+ | Pour que les utilisateurs puissent partager des fichiers provenant du stockage externe, il faudra activer l’option **'' | ||
+ | |||
+ | Cliquer sur les **« … »** et cocher l’option **« Permettre le partage »**. | ||
+ | |||
+ | {{nextcloud: | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== Optimisation de Nextcloud ===== | ||
+ | |||
+ | **A partir d’ici, le serveur Nextcloud est fonctionnel.**\\ | ||
+ | Cependant, des problèmes de performances peuvent se faire ressentir.\\ | ||
+ | Pour s’en prévenir, il faut suivre quelques recommandations de la documentation officielle de **NextCloud**. | ||
+ | |||
+ | === 7.1) Base de données === | ||
+ | |||
+ | Sources : [[https:// | ||
+ | |||
+ | == Edition du fichier mysql.cnf : == | ||
+ | |||
+ | nano / | ||
+ | |||
+ | |||
+ | Contenu : | ||
+ | < | ||
+ | [mysqld]\\ | ||
+ | innodb_buffer_pool_size=512M\\ | ||
+ | innodb_io_capacity=4000 | ||
+ | </ | ||
+ | Attention, il s’agit de la section mysql**d**. | ||
+ | |||
+ | Exemple : | ||
+ | |||
+ | {{nextcloud: | ||
+ | |||
+ | Il est possible d’aller plus loin dans l’optimisation en utilisant cette documentation : [[https:// | ||
+ | |||
+ | == Edition du fichier my.cnf : == | ||
+ | |||
+ | nano / | ||
+ | |||
+ | |||
+ | Contenu : | ||
+ | < | ||
+ | [mysqld]\\ | ||
+ | transaction_isolation = READ-COMMITTED\\ | ||
+ | binlog_format = ROW | ||
+ | </ | ||
+ | |||
+ | Exemple : | ||
+ | |||
+ | {{nextcloud: | ||
+ | |||
+ | == Redémarrage MariaDB : == | ||
+ | |||
+ | systemctl restart mariadb.service | ||
+ | |||
+ | |||
+ | |||
+ | === 7.2) PHP – Modification memory_limit et désactivation output_buffering === | ||
+ | |||
+ | == Valeur initiale : == | ||
+ | |||
+ | cat / | ||
+ | |||
+ | |||
+ | == Modification : == | ||
+ | < | ||
+ | sed -i -e " | ||
+ | sed -i -e " | ||
+ | systemctl restart apache2.service | ||
+ | </ | ||
+ | |||
+ | |||
+ | Modification du paramètre memory_limit à **512M** minimum pour le bon fonctionnement de Nextcloud.\\ | ||
+ | Cette valeur peut être augmentée en fonction du besoin. | ||
+ | |||
+ | == Vérifications : == | ||
+ | |||
+ | cat / | ||
+ | |||
+ | |||
+ | === 7.3) Configuration de Redis === | ||
+ | |||
+ | Source : [[https:// | ||
+ | |||
+ | == Ajout de l’utilisateur www-data au groupe redis : == | ||
+ | |||
+ | usermod -a -G redis www-data | ||
+ | |||
+ | |||
+ | == Configuration du fichier redis.conf : == | ||
+ | < | ||
+ | sed -i -e "s/^#* *port +*6379$/ | ||
+ | sed -i -e "s/^#* *unixsocket +*.*$/ | ||
+ | sed -i -e "s/^#* *unixsocketperm+*.*$/ | ||
+ | </ | ||
+ | == Vérification : == | ||
+ | |||
+ | cat / | ||
+ | |||
+ | |||
+ | {{nextcloud: | ||
+ | |||
+ | == Redémarrage de Redis : == | ||
+ | |||
+ | systemctl restart redis-server.service | ||
+ | |||
+ | |||
+ | === 7.4) File Locking et Memory Cache === | ||
+ | |||
+ | Source : [[https:// | ||
+ | |||
+ | == Configuration avec la commande occ: == | ||
+ | |||
+ | Shell | ||
+ | |||
+ | # Activation de filelocking | ||
+ | < | ||
+ | sudo -u www-data php / | ||
+ | </ | ||
+ | # Configuration du Redis | ||
+ | < | ||
+ | sudo -u www-data php / | ||
+ | sudo -u www-data php / | ||
+ | sudo -u www-data php / | ||
+ | </ | ||
+ | |||
+ | # Configuration de memcache.distributed (à effectuer après la configuration de Redis) | ||
+ | < | ||
+ | sudo -u www-data php / | ||
+ | </ | ||
+ | # Configuration de memcache.local et memcache.locking | ||
+ | < | ||
+ | sudo -u www-data php / | ||
+ | sudo -u www-data php / | ||
+ | </ | ||
+ | |||
+ | == Vérification : == | ||
+ | < | ||
+ | cat / | ||
+ | egrep “’filelocking\.enabled|’memcache\.local\ | ||
+ | ’memcache\.locking|’host|’port|’timeout|’memcache\.distributed” | ||
+ | </ | ||
+ | |||
+ | {{nextcloud: | ||
+ | |||
+ | == Redémarrage d’Apache : == | ||
+ | |||
+ | systemctl restart apache2.service | ||
+ | |||
+ | |||
+ | === 7.5) Activation de PHP OPcache === | ||
+ | |||
+ | Source : [[https:// | ||
+ | |||
+ | == Edition du fichier php.ini : == | ||
+ | |||
+ | Shell | ||
+ | < | ||
+ | sed -i -e "s/^;* *opcache\.enable *= *.*$/ | ||
+ | sed -i -e "s/^;* *opcache\.memory_consumption *= *.*$/ | ||
+ | sed -i -e "s/^;* *opcache\.interned_strings_buffer *= *.*$/ | ||
+ | sed -i -e "s/^;* *opcache\.max_accelerated_files *= *.*$/ | ||
+ | sed -i -e "s/^;* *opcache\.revalidate_freq *= *.*$/ | ||
+ | sed -i -e "s/^;* *opcache\.save_comments *= *.*$/ | ||
+ | sed -i -e "s/^;* *opcache\.interned_strings_buffer *= *.*$/ | ||
+ | </ | ||
+ | |||
+ | == Vérification : == | ||
+ | < | ||
+ | cat / | ||
+ | egrep “^;* *opcache\.enable *=|^;* *opcache\.interned_strings_buffer *=\ | ||
+ | |^;* *opcache\.max_accelerated_files *=|^;* *opcache\.memory_consumption *=\ | ||
+ | |^;* *opcache\.save_comments *=|^;* *opcache\.revalidate_freq *=\ | ||
+ | |^;* *opcache\.interned_strings_buffer*=” | ||
+ | </ | ||
+ | |||
+ | {{nextcloud: | ||
+ | |||
+ | == Redémarrage d’Apache : == | ||
+ | |||
+ | systemctl restart apache2.service | ||
+ | |||
+ | |1|systemctl restart apache2.service| | ||
+ | |||
+ | === 7.6) Taille limite de téléchargement === | ||
+ | |||
+ | Source : [[https:// | ||
+ | |||
+ | == Edition du fichier php.ini : == | ||
+ | < | ||
+ | sed -i -e "s/^;* *upload_max_filesize *= *.*$/ | ||
+ | sed -i -e "s/^;* *post_max_size *= *.*$/ | ||
+ | </ | ||
+ | == Vérification : == | ||
+ | |||
+ | cat / | ||
+ | |||
+ | |||
+ | {{nextcloud: | ||
+ | |||
+ | == Redémarrage d’Apache : == | ||
+ | |||
+ | systemctl restart apache2.service | ||
+ | |||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | |||
+ | ===== Sauvegarde de Nextcloud ===== | ||
+ | |||
+ | **Source**[[https:// | ||
+ | |||
+ | == Création des répertoires de sauvegarde : == | ||
+ | |||
+ | # Fichiers\\ | ||
+ | mkdir -p / | ||
+ | # Base de données\\ | ||
+ | mkdir -p / | ||
+ | # Permissions\\ | ||
+ | chmod -R o-rwx /backups/ | ||
+ | |||
+ | |||
+ | == Activation du mode Maintenance : == | ||
+ | |||
+ | # Activation\\ | ||
+ | sudo -u www-data php / | ||
+ | # Vérification\\ | ||
+ | sudo -u www-data php / | ||
+ | |||
+ | == Sauvegarde des fichiers dans un répertoire / | ||
+ | |||
+ | # Sauf répertoire data et corbeille\\ | ||
+ | rsync -Aavx / | ||
+ | / | ||
+ | --exclude={‘data/ | ||
+ | |||
+ | |||
+ | Le répertoire de sauvegarde sera '' | ||
+ | |||
+ | **Important** : Si vous souhaitez tout de même sauvegarder le répertoire data et la corbeille, il faudra supprimer le paramètre '' | ||
+ | |||
+ | == Sauvegarde de la base de données MySQL/ | ||
+ | |||
+ | mysqldump –single-transaction -h localhost -u nextcloud -pVotreMotDePasse nextcloud > \\\ | ||
+ | / | ||
+ | |||
+ | |||
+ | **-h** : nom ou IP du serveur de base de données\\ | ||
+ | **-u** : utilisateur de la base de données\\ | ||
+ | **-p** : mot de passe de l’utilisateur\\ | ||
+ | < | ||
+ | – Pas d’espace entre **-p** et le **mot de passe**\\ | ||
+ | – Remplacer **VotreMotDePasse** par le mot de passe de l’utilisateur. | ||
+ | |||
+ | == Désactivation du mode Maintenance : == | ||
+ | |||
+ | # Désactivation\\ | ||
+ | sudo -u www-data php / | ||
+ | |||
+ | |||
+ | == Exemple de script de sauvegarde : == | ||
+ | |||
+ | < | ||
+ | # | ||
+ | # Path | ||
+ | nextcloudPath=/ | ||
+ | occPath=$nextcloudPath\occ | ||
+ | sourcePath=/ | ||
+ | mainDestinationPath=/ | ||
+ | filesDestinationPath=$mainDestinationPath\files/ | ||
+ | databaseDestinationPath=$mainDestinationPath\database/ | ||
+ | # Database | ||
+ | dbhost=$(cat $nextcloudPath\config/ | ||
+ | dbname=$(cat $nextcloudPath\config/ | ||
+ | dbuser=$(cat $nextcloudPath\config/ | ||
+ | dbpassword=$(cat $nextcloudPath\config/ | ||
+ | # Verbose | ||
+ | cyan=' | ||
+ | white=' | ||
+ | neutral=' | ||
+ | echo -e " | ||
+ | echo -e " | ||
+ | echo -e " | ||
+ | #echo -e " | ||
+ | read -t 10 -p "The backup will start after 10 seconds" | ||
+ | # Destinations creation | ||
+ | mkdir -p $filesDestinationPath | ||
+ | mkdir -p $databaseDestinationPath | ||
+ | chmod -R o-rwx /backups/ | ||
+ | # Maintenance mode activation | ||
+ | sudo -u www-data php $occPath maintenance: | ||
+ | # Database backup | ||
+ | mysqldump --single-transaction -h $dbhost -u $dbuser -p$dbpassword $dbname > $databaseDestinationPath\nextcloud-sqlbkp_`date +" | ||
+ | # Files backup | ||
+ | rsync -Aavx $sourcePath $filesDestinationPath\nextcloud-backup_`date +" | ||
+ | #rsync -Aavx $sourcePath $filesDestinationPath\nextcloud-backup_`date +" | ||
+ | # Maintenance mode deactivation | ||
+ | sudo -u www-data php $occPath maintenance: | ||
+ | exit 0 | ||
+ | </ | ||
+ | |||
+ | |||
+ | Sauvegarde de base de données **MySql/ | ||
+ | |||
+ | Exemple de restauration : [[https:// | ||
+ | |||
+ | ===== Mise à jour de Nextcloud ===== | ||
+ | |||
+ | **Source** : [[https:// | ||
+ | |||
+ | == Lancement du programme de mise à jour : == | ||
+ | |||
+ | sudo -u www-data php / | ||
+ | |||
+ | |||
+ | Pour un lancement **sans interaction utilisateur**, | ||
+ | |||
+ | {{nextcloud: | ||
+ | |||
+ | Faire le choix **y** | ||
+ | |||
+ | {{nextcloud: | ||
+ | |||
+ | Appuyer sur la touche **Entrée** | ||
+ | |||
+ | La ligne **'' | ||
+ | |||
+ | {{nextcloud: | ||
+ | |||
+ | Appuyer sur **Entrée** pour désactiver le mode maintenance. | ||
+ | |||
+ | La ligne **'' | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | **Voilà ! C’est terminé !** | ||
+ | |||
+ | Vous avez enfin créé **votre Cloud personnel** grâce à [[http:// | ||
+ | **Il ne reste plus qu’à :** | ||
+ | |||
+ | * Créer vos propres utilisateurs | ||
+ | * Configurer votre routeur pour que nextcloud soit accessible depuis l’extérieur | ||
+ |
serveur_maison/installer_nextcloud.1721405531.txt.gz · Dernière modification : 2024/07/19 16:12 de jpg