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 Debian ====== | ||
+ | |||
+ | |||
+ | ===== Présentation ===== | ||
+ | |||
+ | {{nextcloud: | ||
+ | |||
+ | Nextcloud 28 // | ||
+ | |||
+ | 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**.\\ | ||
+ | jjworld.fr[[https:// | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== Préparation de l’environnement ===== | ||
+ | |||
+ | Avant d’installer Nextcloud et de créer notre Cloud Personnel, il faut s’assurer que le système est correctement configuré.\\ | ||
+ | **Important :** A partir d’ici, toutes les commandes seront exécutées en tant que **root**. | ||
+ | |||
+ | === 1.1) Configuration de l’heure === | ||
+ | |||
+ | < | ||
+ | timedatectl set-timezone Europe/ | ||
+ | hwclock -w | ||
+ | timedatectl status | ||
+ | </ | ||
+ | |||
+ | |||
+ | Vous pouvez obtenir la liste des fuseaux horaire acceptés en utilisant la commande : '' | ||
+ | |||
+ | === 1.2) Mise à jour du dépôt et des paquets === | ||
+ | |||
+ | '' | ||
+ | |||
+ | |||
+ | === 1.3) Ajout d’un nouveau dépôt pour php8.2 === | ||
+ | |||
+ | La version 8.2 de php n’est pour le moment pas disponible dans le dépôt officiel de Debian 12 et Ubuntu 22.04.\\ | ||
+ | On ajoute donc un dépôt qui contient la version 8.2 : | ||
+ | |||
+ | == Pour Debian 11 et Debian 12 == | ||
+ | < | ||
+ | apt install -y lsb-release apt-transport-https ca-certificates && \ | ||
+ | wget -O / | ||
+ | echo “deb https: | ||
+ | tee / | ||
+ | apt update -y | ||
+ | </ | ||
+ | |||
+ | == Pour Ubuntu 22.04 : == | ||
+ | < | ||
+ | apt install -y software-properties-common\ | ||
+ | add-apt-repository -y ppa: | ||
+ | apt update -y | ||
+ | </ | ||
+ | === 1.4) Installation des prérequis pour Nextcloud 28 === | ||
+ | < | ||
+ | # Installation des paquets (dont sudo pour Debian 11 et Debian 12) | ||
+ | < | ||
+ | apt-get install -y apache2 mariadb-server libapache2-mod-php8.2 imagemagick \ | ||
+ | php8.2-gd php8.2-mysql php8.2-curl php8.2-mbstring \ | ||
+ | php8.2-intl php8.2-imagick php8.2-xml php8.2-zip \ | ||
+ | php8.2-apcu redis-server php8.2-redis \ | ||
+ | php8.2-ldap smbclient php8.2-bcmath php8.2-gmp \ | ||
+ | sudo | ||
+ | </ | ||
+ | |||
+ | ===== Installation de NextCloud 28 ===== | ||
+ | |||
+ | === 2.1) Création du Site Nextcloud dans Apache === | ||
+ | |||
+ | == Téléchargement de Nextcloud 28 : == | ||
+ | |||
+ | wget https: | ||
+ | |||
+ | |||
+ | == Extraction dans le répertoire /var/www/ : == | ||
+ | |||
+ | < | ||
+ | |||
+ | |||
+ | == Edition du fichier de configuration du site : == | ||
+ | |||
+ | nano / | ||
+ | |||
+ | |||
+ | {{nextcloud: | ||
+ | |||
+ | Contenu : | ||
+ | < | ||
+ | Alias / “/ | ||
+ | < | ||
+ | Require all granted | ||
+ | AllowOverride All | ||
+ | Options FollowSymLinks MultiViews | ||
+ | < | ||
+ | Dav off | ||
+ | </ | ||
+ | < | ||
+ | Header always set Strict-Transport-Security “max-age=15552000; | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | == Attention à l’indentation. Problème constaté lors du copier/ | ||
+ | |||
+ | == Activation du site et des modules nécessaires : == | ||
+ | |||
+ | # Activation du site nextcloud | ||
+ | < | ||
+ | Activation des modules | ||
+ | </ | ||
+ | a2enmod rewrite | ||
+ | a2enmod headers | ||
+ | a2enmod env | ||
+ | a2enmod dir | ||
+ | a2enmod mime | ||
+ | </ | ||
+ | # SSL | ||
+ | < | ||
+ | a2enmod ssl | ||
+ | a2ensite default-ssl | ||
+ | </ | ||
+ | # Redémarrage service apache | ||
+ | < | ||
+ | systemctl restart apache2 | ||
+ | </ | ||
+ | |||
+ | == Changement du propriétaire du répertoire nextcloud : == | ||
+ | < | ||
+ | chown -R www-data: | ||
+ | </ | ||
+ | |||
+ | == Vérifications versions : == | ||
+ | < | ||
+ | sudo -u www-data php / | ||
+ | sudo -u www-data php / | ||
+ | </ | ||
+ | |||
+ | === 2.2) Création de la base de données Nextcloud === | ||
+ | |||
+ | == Pré-configuration de la base MariaDB : == | ||
+ | |||
+ | Les commandes qui suivent sont l’équivalent du script interactif **mysql_secure_installation**. | ||
+ | < | ||
+ | mysql –user=root << | ||
+ | SET PASSWORD FOR ‘root’@‘localhost’ = PASSWORD(‘VotreMotDePasse’); | ||
+ | DELETE FROM mysql.user WHERE User=‘root’ AND Host NOT IN (‘localhost’, | ||
+ | DELETE FROM mysql.user WHERE User=’‘; | ||
+ | DELETE FROM mysql.db WHERE Db=’test’ OR Db=‘test_%’; | ||
+ | FLUSH PRIVILEGES; | ||
+ | EOF | ||
+ | </ | ||
+ | |||
+ | **==Attention==** : Remplacer **VotreMotDePasse** par le mot de passe que vous aurez choisi. | ||
+ | |||
+ | == Création de la base de données : == | ||
+ | < | ||
+ | mysql –user=root –password=VotreMotDePasse << | ||
+ | CREATE DATABASE nextcloud; | ||
+ | CREATE USER ‘nextcloud’@‘localhost’ IDENTIFIED BY ‘VotreMotDePasse’; | ||
+ | GRANT ALL PRIVILEGES ON nextcloud.* TO “nextcloud”@“localhost”; | ||
+ | FLUSH PRIVILEGES; | ||
+ | EOF | ||
+ | </ | ||
+ | |||
+ | **==Attention==** : Remplacer **VotreMotDePasse** par le mot de passe que vous aurez choisi. | ||
+ | |||
+ | === 2.3) Finalisation de l’installation === | ||
+ | |||
+ | Pour terminer l’installation, | ||
+ | Exemple : **https: | ||
+ | |||
+ | {{nextcloud: | ||
+ | |||
+ | 1 : Nom du compte Administrateur Nextcloud\\ | ||
+ | 2 : Mot de passe du compte Administrateur\\ | ||
+ | 3 : Nom de l’utilisateur de base de données\\ | ||
+ | 4 : Mot de passe de la base de données\\ | ||
+ | 5 : Nom de la base de données\\ | ||
+ | 6 : Serveur hébergeant la base de données | ||
+ | |||
+ | Cliquer sur **« Terminer l’installation »**. | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== Configuration de Nextcloud 28 ===== | ||
+ | |||
+ | Une fois l’installation terminée, retourner dans l’invite de commande. | ||
+ | |||
+ | === 3.1) Configuration de la région par défaut pour les numéros de téléphone === | ||
+ | < | ||
+ | sudo -u www-data php / | ||
+ | default_phone_region –value=“FR” | ||
+ | </ | ||
+ | |||
+ | Remplacer **FR** par votre code pays [[https:// | ||
+ | |||
+ | === 3.1) Configuration de Pretty URLs === | ||
+ | < | ||
+ | sudo -u www-data php / | ||
+ | sudo -u www-data php / | ||
+ | </ | ||
+ | |||
+ | Pretty URLs permet de supprimer le **// | ||
+ | |||
+ | === 3.2) Forcer HTTPS === | ||
+ | |||
+ | == Edition du fichier .htaccess : == | ||
+ | |||
+ | nano / | ||
+ | |||
+ | |||
+ | Se rendre à la fin du fichier et renseigner les lignes suivantes juste avant la balise '' | ||
+ | < | ||
+ | RewriteCond %{HTTPS} !=on\\ | ||
+ | RewriteRule (.*) https: | ||
+ | </ | ||
+ | |||
+ | {{nextcloud: | ||
+ | |||
+ | La première ligne **RewriteCond** est la condition.\\ | ||
+ | La seconde est la **règle** de réécriture. | ||
+ | |||
+ | === 3.3) Suppressions des fichiers par défaut === | ||
+ | |||
+ | Le répertoire modèle utilisé lors de la création d’un profil utilisateur se trouve dans : '' | ||
+ | < | ||
+ | rm -r “/ | ||
+ | rm -r “/ | ||
+ | rm “/ | ||
+ | rm “/ | ||
+ | </ | ||
+ | |||
+ | L’exemple ci-dessus supprime les répertoires et les fichiers et ne garde que le fichier '' | ||
+ | Bien entendu, de nouveaux fichiers et répertoires peuvent être rajoutés en fonction du besoin. | ||
+ | |||
+ | === 3.4) Installation et Activation d’applications dans Nextcloud === | ||
+ | |||
+ | == External storage support : == | ||
+ | < | ||
+ | sudo -u www-data php / | ||
+ | sudo -u www-data php / | ||
+ | </ | ||
+ | |||
+ | Application permettant de se connecter à des partages externes (SMB, FTP etc…). | ||
+ | |||
+ | == LDAP user and group backend : == | ||
+ | |||
+ | sudo -u www-data php / | ||
+ | sudo -u www-data php / | ||
+ | |||
+ | |||
+ | Application permettant de se connecter à un annuaire LDAP (Exemple : Active Directory). | ||
+ | |||
+ | == Mise à jour de toutes les applications == | ||
+ | < | ||
+ | sudo -u www-data php / | ||
+ | </ | ||
+ | |||
+ | === 3.5) Gestion des fichiers supprimés (Corbeille) === | ||
+ | |||
+ | L’application **Deleted files** installée par défaut gère les fichiers supprimés en fonction du paramètre **trashbin_retention_obligation** du fichier '' | ||
+ | |||
+ | == Vérification du paramètre trashbin_retention_obligation : == | ||
+ | < | ||
+ | sudo -u www-data php / | ||
+ | trashbin_retention_obligation | ||
+ | </ | ||
+ | |||
+ | **A noter :** Si aucune valeur n’est retournée, la configuration par défaut sera utilisée. | ||
+ | |||
+ | == Modification du paramètre trashbin_retention_obligation : == | ||
+ | < | ||
+ | sudo -u www-data php / | ||
+ | trashbin_retention_obligation –value=“auto, | ||
+ | </ | ||
+ | |||
+ | Les fichiers seront définitivement supprimés au bout de **15 jours**.\\ | ||
+ | Si la taille de l’ensemble des fichiers supprimés dépassent la limite autorisée (par défaut **50% de l’espace libre**), l’application **Deleted files** supprimera les fichiers les plus anciens jusqu’à descendre en dessous de la limite autorisée. | ||
+ | |||
+ | == Forcer la suppression définitive des fichiers supprimés ne respectant plus les conditions de rétention == | ||
+ | < | ||
+ | sudo -u www-data php / | ||
+ | </ | ||
+ | |||
+ | == Forcer la suppression définitive de tous les fichiers supprimés == | ||
+ | < | ||
+ | sudo -u www-data php / | ||
+ | </ | ||
+ | |||
+ | ==Il est possible de remplacer '' | ||
+ | ==Pour un utilisateur provenant de l’annuaire LDAP, il faudra utiliser son ID.== | ||
+ | |||
+ | Pour aller plus loin : [[https:// | ||
+ | |||
+ | === 3.6) Tâches de fond === | ||
+ | |||
+ | 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 : == | ||
+ | |||
+ | < | ||
+ | #!/bin/bash | ||
+ | # 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.1721405571.txt.gz · Dernière modification : 2024/07/19 16:12 de jpg