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/18 18:59] – 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 9: | Ligne 9: | ||
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**.\\ | ||
- | Nous verrons par la suite comment connecter **Nextcloud** à un annuaire **LDAP** ou **Active Directory.**\\ | ||
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 21: | Ligne 21: | ||
=== 1.1) Configuration de l’heure === | === 1.1) Configuration de l’heure === | ||
- | timedatectl set-timezone Europe/ | + | < |
- | hwclock -w\\ | + | timedatectl set-timezone Europe/ |
+ | hwclock -w | ||
timedatectl status | timedatectl status | ||
+ | </ | ||
Ligne 30: | Ligne 32: | ||
=== 1.2) Mise à jour du dépôt et des paquets === | === 1.2) Mise à jour du dépôt et des paquets === | ||
- | apt -y update && apt -y upgrade | + | '' |
Ligne 39: | Ligne 41: | ||
== Pour Debian 11 et Debian 12 == | == Pour Debian 11 et Debian 12 == | ||
- | + | < | |
- | apt install -y lsb-release apt-transport-https ca-certificates && | + | apt install -y lsb-release apt-transport-https ca-certificates && \ |
- | wget -O / | + | wget -O / |
- | echo “deb https: | + | echo “deb https: |
- | tee / | + | tee / |
apt update -y | apt update -y | ||
+ | </ | ||
== Pour Ubuntu 22.04 : == | == Pour Ubuntu 22.04 : == | ||
- | + | < | |
- | apt install -y software-properties-common\\ | + | apt install -y software-properties-common\ |
- | add-apt-repository -y ppa: | + | add-apt-repository -y ppa: |
apt update -y | apt update -y | ||
+ | </ | ||
=== 1.4) Installation des prérequis pour Nextcloud 28 === | === 1.4) Installation des prérequis pour Nextcloud 28 === | ||
- | + | < | |
- | export DEBIAN_FRONTEND=noninteractive\\ | + | # Installation des paquets (dont sudo pour Debian 11 et Debian 12) |
- | # Installation des paquets (dont sudo pour Debian 11 et Debian 12)\\ | + | < |
- | apt-get install -y apache2 mariadb-server libapache2-mod-php8.2 imagemagick | + | 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-gd php8.2-mysql php8.2-curl php8.2-mbstring \ |
- | php8.2-intl php8.2-imagick php8.2-xml php8.2-zip | + | php8.2-intl php8.2-imagick php8.2-xml php8.2-zip \ |
- | php8.2-apcu redis-server php8.2-redis | + | php8.2-apcu redis-server php8.2-redis \ |
- | php8.2-ldap smbclient php8.2-bcmath php8.2-gmp | + | php8.2-ldap smbclient php8.2-bcmath php8.2-gmp \ |
sudo | sudo | ||
+ | </ | ||
===== Installation de NextCloud 28 ===== | ===== Installation de NextCloud 28 ===== | ||
Ligne 76: | Ligne 78: | ||
== Extraction dans le répertoire /var/www/ : == | == Extraction dans le répertoire /var/www/ : == | ||
- | tar -xvf latest-28.tar.bz2 -C /var/www/ | + | < |
Ligne 87: | Ligne 89: | ||
Contenu : | Contenu : | ||
- | + | < | |
- | Alias / “/ | + | Alias / “/ |
- | < | + | < |
- | Require all granted\\ | + | Require all granted |
- | AllowOverride All\\ | + | AllowOverride All |
- | Options FollowSymLinks MultiViews\\ | + | Options FollowSymLinks MultiViews |
- | < | + | < |
- | Dav off\\ | + | Dav off |
- | </ | + | </ |
- | < | + | < |
- | Header always set Strict-Transport-Security “max-age=15552000; | + | Header always set Strict-Transport-Security “max-age=15552000; |
- | </ | + | </ |
</ | </ | ||
+ | </ | ||
== Attention à l’indentation. Problème constaté lors du copier/ | == Attention à l’indentation. Problème constaté lors du copier/ | ||
Ligne 106: | Ligne 108: | ||
== Activation du site et des modules nécessaires : == | == Activation du site et des modules nécessaires : == | ||
- | # Activation du site nextcloud\\ | + | # Activation du site nextcloud |
- | a2ensite nextcloud.conf\\ | + | < |
- | < | + | Activation des modules |
- | a2enmod rewrite\\ | + | </ |
- | a2enmod headers\\ | + | a2enmod rewrite |
- | a2enmod env\\ | + | a2enmod headers |
- | a2enmod dir\\ | + | a2enmod env |
- | a2enmod mime\\ | + | a2enmod dir |
- | <html>< | + | a2enmod mime |
- | a2enmod ssl\\ | + | </code> |
- | a2ensite default-ssl\\ | + | # SSL |
- | <html>< | + | < |
+ | a2enmod ssl | ||
+ | a2ensite default-ssl | ||
+ | </code> | ||
+ | # Redémarrage service apache | ||
+ | < | ||
systemctl restart apache2 | systemctl restart apache2 | ||
+ | </ | ||
== Changement du propriétaire du répertoire nextcloud : == | == Changement du propriétaire du répertoire nextcloud : == | ||
- | + | < | |
- | chown -R www-data: | + | chown -R www-data: |
- | + | </code> | |
- | |1|chown < | + | |
== Vérifications versions : == | == Vérifications versions : == | ||
- | + | < | |
- | sudo -u www-data php / | + | sudo -u www-data php / |
sudo -u www-data php / | sudo -u www-data php / | ||
+ | </ | ||
=== 2.2) Création de la base de données Nextcloud === | === 2.2) Création de la base de données Nextcloud === | ||
Ligne 138: | Ligne 144: | ||
Les commandes qui suivent sont l’équivalent du script interactif **mysql_secure_installation**. | Les commandes qui suivent sont l’équivalent du script interactif **mysql_secure_installation**. | ||
- | + | < | |
- | mysql –user=root << | + | mysql –user=root << |
- | SET PASSWORD FOR ‘root’@‘localhost’ = PASSWORD(‘VotreMotDePasse’); | + | 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=‘root’ AND Host NOT IN (‘localhost’, |
- | DELETE FROM mysql.user WHERE User=’‘; | + | DELETE FROM mysql.user WHERE User=’‘; |
- | DELETE FROM mysql.db WHERE Db=’test’ OR Db=‘test_%’; | + | DELETE FROM mysql.db WHERE Db=’test’ OR Db=‘test_%’; |
- | FLUSH PRIVILEGES;\\ | + | FLUSH PRIVILEGES; |
EOF | EOF | ||
+ | </ | ||
**==Attention==** : Remplacer **VotreMotDePasse** par le mot de passe que vous aurez choisi. | **==Attention==** : Remplacer **VotreMotDePasse** par le mot de passe que vous aurez choisi. | ||
== Création de la base de données : == | == Création de la base de données : == | ||
- | + | < | |
- | mysql –user=root –password=VotreMotDePasse << | + | mysql –user=root –password=VotreMotDePasse << |
- | CREATE DATABASE nextcloud;\\ | + | CREATE DATABASE nextcloud; |
- | CREATE USER ‘nextcloud’@‘localhost’ IDENTIFIED BY ‘VotreMotDePasse’; | + | CREATE USER ‘nextcloud’@‘localhost’ IDENTIFIED BY ‘VotreMotDePasse’; |
- | GRANT ALL PRIVILEGES ON nextcloud.* TO “nextcloud”@“localhost”; | + | GRANT ALL PRIVILEGES ON nextcloud.* TO “nextcloud”@“localhost”; |
- | FLUSH PRIVILEGES;\\ | + | FLUSH PRIVILEGES; |
EOF | EOF | ||
+ | </ | ||
**==Attention==** : Remplacer **VotreMotDePasse** par le mot de passe que vous aurez choisi. | **==Attention==** : Remplacer **VotreMotDePasse** par le mot de passe que vous aurez choisi. | ||
Ligne 186: | Ligne 192: | ||
=== 3.1) Configuration de la région par défaut pour les numéros de téléphone === | === 3.1) Configuration de la région par défaut pour les numéros de téléphone === | ||
- | + | < | |
- | sudo -u www-data php / | + | sudo -u www-data php / |
default_phone_region –value=“FR” | default_phone_region –value=“FR” | ||
+ | </ | ||
Remplacer **FR** par votre code pays [[https:// | Remplacer **FR** par votre code pays [[https:// | ||
=== 3.1) Configuration de Pretty URLs === | === 3.1) Configuration de Pretty URLs === | ||
- | + | < | |
- | sudo -u www-data php / | + | sudo -u www-data php / |
sudo -u www-data php / | sudo -u www-data php / | ||
+ | </ | ||
Pretty URLs permet de supprimer le **// | Pretty URLs permet de supprimer le **// | ||
Ligne 209: | Ligne 215: | ||
Se rendre à la fin du fichier et renseigner les lignes suivantes juste avant la balise '' | Se rendre à la fin du fichier et renseigner les lignes suivantes juste avant la balise '' | ||
+ | < | ||
RewriteCond %{HTTPS} !=on\\ | RewriteCond %{HTTPS} !=on\\ | ||
RewriteRule (.*) https: | RewriteRule (.*) https: | ||
+ | </ | ||
{{nextcloud: | {{nextcloud: | ||
Ligne 222: | Ligne 228: | ||
Le répertoire modèle utilisé lors de la création d’un profil utilisateur se trouve dans : '' | Le répertoire modèle utilisé lors de la création d’un profil utilisateur se trouve dans : '' | ||
- | + | < | |
- | rm -r “/ | + | rm -r “/ |
- | rm -r “/ | + | rm -r “/ |
- | rm “/ | + | rm “/ |
rm “/ | rm “/ | ||
+ | </ | ||
L’exemple ci-dessus supprime les répertoires et les fichiers et ne garde que le fichier '' | L’exemple ci-dessus supprime les répertoires et les fichiers et ne garde que le fichier '' | ||
Ligne 235: | Ligne 241: | ||
== External storage support : == | == External storage support : == | ||
- | + | < | |
- | sudo -u www-data php / | + | sudo -u www-data php / |
sudo -u www-data php / | sudo -u www-data php / | ||
+ | </ | ||
Application permettant de se connecter à des partages externes (SMB, FTP etc…). | Application permettant de se connecter à des partages externes (SMB, FTP etc…). | ||
Ligne 251: | Ligne 257: | ||
== Mise à jour de toutes les applications == | == Mise à jour de toutes les applications == | ||
+ | < | ||
sudo -u www-data php / | sudo -u www-data php / | ||
+ | </ | ||
=== 3.5) Gestion des fichiers supprimés (Corbeille) === | === 3.5) Gestion des fichiers supprimés (Corbeille) === | ||
Ligne 260: | Ligne 266: | ||
== Vérification du paramètre trashbin_retention_obligation : == | == Vérification du paramètre trashbin_retention_obligation : == | ||
- | + | < | |
- | sudo -u www-data php / | + | sudo -u www-data php / |
trashbin_retention_obligation | trashbin_retention_obligation | ||
+ | </ | ||
**A noter :** Si aucune valeur n’est retournée, la configuration par défaut sera utilisée. | **A noter :** Si aucune valeur n’est retournée, la configuration par défaut sera utilisée. | ||
== Modification du paramètre trashbin_retention_obligation : == | == Modification du paramètre trashbin_retention_obligation : == | ||
- | + | < | |
- | sudo -u www-data php / | + | sudo -u www-data php / |
trashbin_retention_obligation –value=“auto, | trashbin_retention_obligation –value=“auto, | ||
+ | </ | ||
Les fichiers seront définitivement supprimés au bout de **15 jours**.\\ | Les fichiers seront définitivement supprimés au bout de **15 jours**.\\ | ||
Ligne 277: | Ligne 283: | ||
== Forcer la suppression définitive des fichiers supprimés ne respectant plus les conditions de rétention == | == Forcer la suppression définitive des fichiers supprimés ne respectant plus les conditions de rétention == | ||
+ | < | ||
sudo -u www-data php / | sudo -u www-data php / | ||
+ | </ | ||
== Forcer la suppression définitive de tous les fichiers supprimés == | == Forcer la suppression définitive de tous les fichiers supprimés == | ||
+ | < | ||
sudo -u www-data php / | sudo -u www-data php / | ||
+ | </ | ||
==Il est possible de remplacer '' | ==Il est possible de remplacer '' | ||
Ligne 300: | Ligne 306: | ||
== Création de la tâche Cron : == | == Création de la tâche Cron : == | ||
+ | < | ||
crontab -u www-data -e | crontab -u www-data -e | ||
+ | </ | ||
Ajouter la ligne suivante à la fin du fichier : | Ajouter la ligne suivante à la fin du fichier : | ||
+ | < | ||
*/5 * * * * php -f / | */5 * * * * php -f / | ||
+ | </ | ||
Le fichier **cron.php** contenant les tâches Nextcloud sera exécuté toutes les **5 minutes**.\\ | Le fichier **cron.php** contenant les tâches Nextcloud sera exécuté toutes les **5 minutes**.\\ | ||
Ligne 313: | Ligne 319: | ||
== Configuration du type de tâche dans Nextcloud : == | == Configuration du type de tâche dans Nextcloud : == | ||
+ | < | ||
sudo -u www-data php / | sudo -u www-data php / | ||
+ | </ | ||
**Attention aux espaces. Problème constaté lors du copier/ | **Attention aux espaces. Problème constaté lors du copier/ | ||
Ligne 325: | Ligne 331: | ||
Rentrer dans le menu **« Paramètres »** : | Rentrer dans le menu **« Paramètres »** : | ||
- | < | + | {{nextcloud: |
Dans le panneau de gauche, sélectionner **« Informations personnelles »**. | Dans le panneau de gauche, sélectionner **« Informations personnelles »**. | ||
Ligne 331: | Ligne 337: | ||
Régler la **Langue** et les **Paramètres régionaux** : | 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…) | Il est également possible de définir les autres paramètres (Adresse email, téléphone etc…) | ||
Ligne 339: | Ligne 345: | ||
Cliquer sur **« Vue d’ensemble »** sous **« Administration »**. | Cliquer sur **« Vue d’ensemble »** sous **« Administration »**. | ||
- | < | + | {{nextcloud: |
---- | ---- | ||
- | ===== Connexion à LDAP ou Active Directory ===== | ||
- | |||
- | ==//Cette étape et facultative, | ||
- | |||
- | Grâce à l’application **LDAP user and group backend**, il est possible de connecter **Nextcloud** à un **Annuaire LDAP** (Exemple : [[https:// | ||
- | |||
- | === 4.1) Configuration LDAP === | ||
- | |||
- | Se rendre dans le menu **Paramètres** puis **Intégration LDAP/AD** et renseigner les informations de connexion au serveur LDAP ou Active Directory. | ||
- | |||
- | == Serveur == | ||
- | |||
- | < | ||
- | |||
- | ==Petite parenthèse :==\\ | ||
- | Si votre annuaire LDAP est sur un [[https:// | ||
- | Il faudra rajouter la ligne '' | ||
- | Un redémarrage du service Samba sera nécessaire : '' | ||
- | |||
- | == Utilisateurs == | ||
- | |||
- | < | ||
- | |||
- | Il s’agit d’un exemple.\\ | ||
- | Pour des raisons d’organisation, | ||
- | |||
- | == Attributs de login == | ||
- | |||
- | < | ||
- | |||
- | == Groupes == | ||
- | |||
- | < | ||
- | |||
- | Les utilisateurs et les groupes de l’AD sont maintenant disponibles dans **Nextcloud**. | ||
- | |||
- | |||
- | ---- | ||
===== Utilisateurs et Groupes ===== | ===== Utilisateurs et Groupes ===== | ||
Ligne 389: | Ligne 357: | ||
Se rendre dans le menu **Utilisateurs**. | Se rendre dans le menu **Utilisateurs**. | ||
- | < | + | {{nextcloud: |
Cliquer sur **« Ajouter un groupe »** pour créer un groupe.\\ | Cliquer sur **« Ajouter un groupe »** pour créer un groupe.\\ | ||
Ligne 398: | Ligne 366: | ||
Pour définir un utilisateur en tant qu’Administrateur, | Pour définir un utilisateur en tant qu’Administrateur, | ||
- | < | + | {{nextcloud: |
Ligne 412: | Ligne 380: | ||
== Se rendre dans Paramètres, | == Se rendre dans Paramètres, | ||
- | < | + | {{nextcloud: |
**Stockage externe** : Type de stockage\\ | **Stockage externe** : Type de stockage\\ | ||
Ligne 424: | Ligne 392: | ||
Cliquer sur les **« … »** et cocher l’option **« Permettre le partage »**. | Cliquer sur les **« … »** et cocher l’option **« Permettre le partage »**. | ||
- | < | + | {{nextcloud: |
Ligne 445: | Ligne 413: | ||
Contenu : | Contenu : | ||
+ | < | ||
[mysqld]\\ | [mysqld]\\ | ||
innodb_buffer_pool_size=512M\\ | innodb_buffer_pool_size=512M\\ | ||
innodb_io_capacity=4000 | innodb_io_capacity=4000 | ||
+ | </ | ||
Attention, il s’agit de la section mysql**d**. | Attention, il s’agit de la section mysql**d**. | ||
Exemple : | Exemple : | ||
- | < | + | {{nextcloud: |
Il est possible d’aller plus loin dans l’optimisation en utilisant cette documentation : [[https:// | Il est possible d’aller plus loin dans l’optimisation en utilisant cette documentation : [[https:// | ||
Ligne 464: | Ligne 432: | ||
Contenu : | Contenu : | ||
+ | < | ||
[mysqld]\\ | [mysqld]\\ | ||
transaction_isolation = READ-COMMITTED\\ | transaction_isolation = READ-COMMITTED\\ | ||
binlog_format = ROW | binlog_format = ROW | ||
+ | </ | ||
Exemple : | Exemple : | ||
- | < | + | {{nextcloud: |
== Redémarrage MariaDB : == | == Redémarrage MariaDB : == | ||
Ligne 478: | Ligne 446: | ||
systemctl restart mariadb.service | systemctl restart mariadb.service | ||
- | |1|systemctl restart mariadb.service| | + | |
=== 7.2) PHP – Modification memory_limit et désactivation output_buffering === | === 7.2) PHP – Modification memory_limit et désactivation output_buffering === | ||
Ligne 488: | Ligne 456: | ||
== Modification : == | == Modification : == | ||
- | + | < | |
- | sed -i -e “s/ | + | sed -i -e "s/ |
- | + | sed -i -e " | |
- | KaTeX parse error: Undefined control sequence: \* at position 96: …ering \\+= \\+.\̲*̲ | + | |
- | + | ||
- | / | + | |
systemctl restart apache2.service | systemctl restart apache2.service | ||
+ | </ | ||
Ligne 515: | Ligne 481: | ||
== Configuration du fichier redis.conf : == | == Configuration du fichier redis.conf : == | ||
- | + | < | |
- | sed -i -e “s/^#* *port +*6379$/ | + | sed -i -e "s/^#* *port +*6379$/ |
- | + | sed -i -e "s/^#* *unixsocket +*.*$/ | |
- | KaTeX parse error: Expected group after ‘^’ at position 49: … sed -i -e “s/^̲#\* \*unixsocke… | + | sed -i -e "s/^#* *unixsocketperm+*.*$/ |
- | + | </code> | |
- | /unixsocket \/ | + | |
- | sed -i -e “s/^#* *unixsocketperm+*.*$/ | + | |
- | + | ||
- | + | ||
- | //Merci à **Modoki** pour sa remarque dans la section **commentaire**.// | + | |
== Vérification : == | == Vérification : == | ||
Ligne 531: | Ligne 491: | ||
- | < | + | {{nextcloud: |
== Redémarrage de Redis : == | == Redémarrage de Redis : == | ||
Ligne 537: | Ligne 497: | ||
systemctl restart redis-server.service | systemctl restart redis-server.service | ||
- | |1|systemctl restart redis-server.service| | ||
=== 7.4) File Locking et Memory Cache === | === 7.4) File Locking et Memory Cache === | ||
Ligne 547: | Ligne 506: | ||
Shell | Shell | ||
- | # Activation de filelocking\\ | + | # Activation de filelocking |
- | sudo -u www-data php / | + | < |
- | <html>< | + | sudo -u www-data php / |
- | sudo -u www-data php / | + | </code> |
- | sudo -u www-data php / | + | # Configuration du Redis |
- | sudo -u www-data php / | + | < |
- | <html>< | + | sudo -u www-data php / |
- | sudo -u www-data php / | + | sudo -u www-data php / |
- | # Configuration de memcache.local et memcache.locking\\ | + | sudo -u www-data php / |
- | sudo -u www-data php / | + | </code> |
+ | |||
+ | # 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 / | sudo -u www-data php / | ||
+ | </ | ||
== Vérification : == | == Vérification : == | ||
- | + | < | |
- | cat / | + | cat / |
- | egrep “’filelocking\.enabled|’memcache\.local\\\ | + | egrep “’filelocking\.enabled|’memcache\.local\ |
’memcache\.locking|’host|’port|’timeout|’memcache\.distributed” | ’memcache\.locking|’host|’port|’timeout|’memcache\.distributed” | ||
+ | </ | ||
- | + | {{nextcloud: | |
- | < | + | |
== Redémarrage d’Apache : == | == Redémarrage d’Apache : == | ||
Ligne 573: | Ligne 540: | ||
systemctl restart apache2.service | systemctl restart apache2.service | ||
- | |1|systemctl restart apache2.service| | ||
=== 7.5) Activation de PHP OPcache === | === 7.5) Activation de PHP OPcache === | ||
Ligne 582: | Ligne 548: | ||
Shell | Shell | ||
- | + | < | |
- | sed -i -e “s/^;* *opcache\.enable *= *.*$/ | + | sed -i -e "s/^;* *opcache\.enable *= *.*$/ |
- | + | sed -i -e "s/^;* *opcache\.memory_consumption *= *.*$/ | |
- | KaTeX parse error: Undefined control sequence: \* at position 68: …sed -i -e “s/ | + | 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\.interned_strings_buffer *= *.*$/ | + | sed -i -e "s/^;* *opcache\.save_comments *= *.*$/ |
- | + | sed -i -e "s/^;* *opcache\.interned_strings_buffer *= *.*$/ | |
- | KaTeX parse error: Undefined control sequence: \* at position 85: …sed -i -e “s/ | + | </ |
- | + | ||
- | / | + | |
- | sed -i -e “s/^;* *opcache\.revalidate_freq *= *.*$/ | + | |
- | + | ||
- | KaTeX parse error: Undefined control sequence: \* at position 78: …sed -i -e “s/ | + | |
- | + | ||
- | / | + | |
- | sed -i -e “s/^;* *opcache\.interned_strings_buffer *= *.*$/ | + | |
- | + | ||
== Vérification : == | == Vérification : == | ||
- | + | < | |
- | cat / | + | cat / |
- | egrep “^;* *opcache\.enable *=|^;* *opcache\.interned_strings_buffer *=\\\ | + | egrep “^;* *opcache\.enable *=|^;* *opcache\.interned_strings_buffer *=\ |
- | |^;* *opcache\.max_accelerated_files *=|^;* *opcache\.memory_consumption *=\\\ | + | |^;* *opcache\.max_accelerated_files *=|^;* *opcache\.memory_consumption *=\ |
- | |^;* *opcache\.save_comments *=|^;* *opcache\.revalidate_freq *=\\\ | + | |^;* *opcache\.save_comments *=|^;* *opcache\.revalidate_freq *=\ |
|^;* *opcache\.interned_strings_buffer*=” | |^;* *opcache\.interned_strings_buffer*=” | ||
+ | </ | ||
- | + | {{nextcloud: | |
- | < | + | |
== Redémarrage d’Apache : == | == Redémarrage d’Apache : == | ||
Ligne 624: | Ligne 580: | ||
== Edition du fichier php.ini : == | == Edition du fichier php.ini : == | ||
- | + | < | |
- | sed -i -e “s/^;* *upload_max_filesize *= *.*$/ | + | sed -i -e "s/^;* *upload_max_filesize *= *.*$/ |
- | + | sed -i -e "s/^;* *post_max_size *= *.*$/ | |
- | KaTeX parse error: Undefined control sequence: \* at position 75: …sed -i -e “s/ | + | </ |
- | + | ||
- | / | + | |
- | + | ||
== Vérification : == | == Vérification : == | ||
Ligne 637: | Ligne 589: | ||
- | < | + | {{nextcloud: |
== Redémarrage d’Apache : == | == Redémarrage d’Apache : == | ||
Ligne 643: | Ligne 595: | ||
systemctl restart apache2.service | systemctl restart apache2.service | ||
- | |1|systemctl restart apache2.service| | ||
---- | ---- | ||
- | ===== Certificat SSL avec Let’s Encrypt ===== | ||
- | |||
- | === 8.1) Explications === | ||
- | |||
- | Pour accéder au serveur **Nextcloud depuis l’extérieur**, | ||
- | Grâce aux étapes précédentes, | ||
- | Cependant, le certificat SSL utilisé est un certificat auto-signé et n’est pas considéré comme fiable par les navigateurs. Ces derniers afficheront donc un avertissement. | ||
- | |||
- | **Exemple d’avertissement :** | ||
- | |||
- | < | ||
- | |||
- | Avertissement en cas d’utilisation d’un certificat non-fiable | ||
- | |||
- | Afin de ne pas faire fuir les futurs visiteurs, nous utiliserons **[[https:// | ||
- | |||
- | === 8.2) Génération d’un certificat SSL avec Let’s Encrypt === | ||
- | |||
- | ==//Le procédure d’obtention de certificat que nous utiliserons nécessite que le serveur soit joignable **< | ||
- | ==// | ||
- | |||
- | Source : https: | ||
- | |||
- | == Activation du dépôt universe : == | ||
- | |||
- | apt update -y\\ | ||
- | apt install -y software-properties-common\\ | ||
- | add-apt-repository universe\\ | ||
- | apt update -y | ||
- | |||
- | |||
- | == Installation de Certbot et du plugin pour Apache : == | ||
- | |||
- | apt install -y certbot python3-certbot-apache | ||
- | |||
- | |1|apt install < | ||
- | |||
- | == Génération et installation du Certificat : == | ||
- | |||
- | certbot –apache -d nextcloud.domaine.fr -m monadresse@mail.fr –no-redirect | ||
- | |||
- | |||
- | Remplacer **nextcloud.mondomaine.dom** par le nom de votre domaine.\\ | ||
- | Remplacer **monadresse@mail.fr** par votre adresse mail.\\ | ||
- | **no-redirect** car plus haut dans le tutoriel, nous avons déjà forcé la redirection vers HTTPS.\\ | ||
- | Si vous n’avez pas suivi la méthode de redirection du tuto ou si vous souhaitez quand même que Certbot se charge de la redirection il faudra utiliser le paramètre '' | ||
- | |||
- | == Test renouvellement automatique : == | ||
- | |||
- | certbot renew –dry-run | ||
- | |||
- | |1|certbot renew < | ||
- | |||
- | == Visualisation de la tâche de renouvellement : == | ||
- | |||
- | systemctl list-timers certbot | ||
- | |||
- | |1|systemctl list-timers certbot| | ||
- | |||
- | == Visualisation des noms de domaine autorisés dans Nextcloud : == | ||
- | |||
- | sudo -u www-data php / | ||
- | |||
- | |||
- | == Ajout d’un nom de domaine dans Nextcloud : == | ||
- | |||
- | sudo -u www-data php / | ||
- | --value=nextcloud.domaine.dom | ||
- | |||
- | |||
- | Le **1** est l’index dans la liste des domaines autorisés (0 étant le 1er)\\ | ||
- | **–value=** est suivi du nom de domaine à autoriser. | ||
- | |||
- | |||
- | ---- | ||
===== Sauvegarde de Nextcloud ===== | ===== Sauvegarde de Nextcloud ===== | ||
- | **< | + | **Source**[[https:// |
== Création des répertoires de sauvegarde : == | == Création des répertoires de sauvegarde : == | ||
Ligne 778: | Ligne 654: | ||
== Exemple de script de sauvegarde : == | == Exemple de script de sauvegarde : == | ||
- | #!/bin/bash\\ | + | < |
- | # Path\\ | + | # |
- | nextcloudPath=/ | + | # Path |
- | occPath=$nextcloudPath\\occ sourcePath=/ | + | nextcloudPath=/ |
- | databaseDestinationPath=$mainDestinationPath\\database/ | + | occPath=$nextcloudPath\occ |
- | + | sourcePath=/ | |
- | KaTeX parse error: Undefined control sequence: \* at position 62: …st” | sed ‘s/^.\̲*̲\\=> | + | mainDestinationPath=/ |
- | + | filesDestinationPath=$mainDestinationPath\files/ | |
- | %%//%%’)\\ | + | databaseDestinationPath=$mainDestinationPath\database/ |
- | dbname=$(cat $nextcloudPath\\config/ | + | # Database |
- | + | dbhost=$(cat $nextcloudPath\config/ | |
- | KaTeX parse error: Undefined control sequence: \* at position 62: …me” | sed ‘s/^.\̲*̲\\=> | + | dbname=$(cat $nextcloudPath\config/ |
- | + | dbuser=$(cat $nextcloudPath\config/ | |
- | %%//%%’)\\ | + | dbpassword=$(cat $nextcloudPath\config/ |
- | dbuser=$(cat $nextcloudPath\\config/ | + | # Verbose |
- | + | cyan='\e[1;36m' | |
- | KaTeX parse error: Undefined control sequence: \* at position 62: …er” | sed ‘s/^.\̲*̲\\=> | + | white='\e[1;37m' |
- | + | neutral='\e[0;m' | |
- | %%//%%’)\\ | + | echo -e "${cyan}dbhost : ${white}$dbhost${neutral}" |
- | dbpassword=$(cat $nextcloudPath\\config/ | + | echo -e " |
- | + | echo -e " | |
- | KaTeX parse error: Undefined control sequence: \* at position 66: …rd” | sed ‘s/^.\̲*̲\\=> | + | #echo -e " |
- | + | read -t 10 -p "The backup will start after 10 seconds" | |
- | %%//%%‘)\\ | + | # Destinations creation |
- | # Verbose\\ | + | mkdir -p $filesDestinationPath |
- | cyan=’\e[1;36m’\\ | + | mkdir -p $databaseDestinationPath |
- | white=‘\e[1;37m’\\ | + | chmod -R o-rwx /backups/ |
- | neutral=‘\e[0;m’\\ | + | # Maintenance mode activation |
- | echo -e “${cyan}dbhost : ${white}$dbhost${neutral}" | + | sudo -u www-data php $occPath maintenance: |
- | + | # Database backup | |
- | KaTeX parse error: Expected ‘EOF’, got ‘#’ at position 14: {neutral}” #̲echo -e ” | + | mysqldump |
- | + | # Files backup | |
- | {cyan}dbpassword : ${white}$dbpassword${neutral}”\\ | + | rsync -Aavx $sourcePath $filesDestinationPath\nextcloud-backup_`date +"%Y%m%d_%H%M%S"`/ --exclude={'data/*','*/ |
- | read -t 10 -p “The backup will start after 10 seconds” || true\\ | + | #rsync -Aavx $sourcePath $filesDestinationPath\nextcloud-backup_`date +"%Y%m%d_%H%M%S"`/ |
- | # Destinations creation\\ | + | # Maintenance mode deactivation |
- | mkdir -p $filesDestinationPath\\ | + | sudo -u www-data php $occPath maintenance: |
- | mkdir -p $databaseDestinationPath\\ | + | |
- | chmod -R o-rwx /backups/\\ | + | |
- | # Maintenance mode activation\\ | + | |
- | sudo -u www-data php $occPath maintenance: | + | |
- | # Database backup\\ | + | |
- | mysqldump | + | |
- | # Files backup\\ | + | |
- | rsync -Aavx $sourcePath $filesDestinationPath\nextcloud-backup_`date +“%Y%m%d_%H%M%S”`/ –exclude={‘data/*’,‘*/ | + | |
- | #rsync -Aavx $sourcePath $filesDestinationPath\nextcloud-backup_`date +“%Y%m%d_%H%M%S”`/\\ | + | |
- | # Maintenance mode deactivation\\ | + | |
- | sudo -u www-data php $occPath maintenance: | + | |
exit 0 | exit 0 | ||
+ | </ | ||
Ligne 834: | Ligne 700: | ||
===== Mise à jour de Nextcloud ===== | ===== Mise à jour de Nextcloud ===== | ||
- | **< | + | **Source** : [[https:// |
== Lancement du programme de mise à jour : == | == Lancement du programme de mise à jour : == | ||
Ligne 843: | Ligne 709: | ||
Pour un lancement **sans interaction utilisateur**, | Pour un lancement **sans interaction utilisateur**, | ||
- | < | + | {{nextcloud: |
Faire le choix **y** | Faire le choix **y** | ||
- | < | + | {{nextcloud: |
Appuyer sur la touche **Entrée** | Appuyer sur la touche **Entrée** | ||
Ligne 853: | Ligne 719: | ||
La ligne **'' | La ligne **'' | ||
- | < | + | {{nextcloud: |
Appuyer sur **Entrée** pour désactiver le mode maintenance. | Appuyer sur **Entrée** pour désactiver le mode maintenance. |
serveur_maison/installer_nextcloud.1721329160.txt.gz · Dernière modification : 2024/07/18 18:59 de jpg