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/08 17:20] – admin | 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 ====== |
===== Présentation ===== | ===== Présentation ===== | ||
- | {{ nextcloud: | + | {{nextcloud: |
Nextcloud 28 // | Nextcloud 28 // | ||
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**.\\ | ||
- | Ce tutoriel est prévu pour [[https:// | + | jjworld.fr[[https:// |
- | Dans ce tutoriel, Nextcloud est installé sur un serveur virtuel [[https:// | + | |
---- | ---- | ||
- | ===== Préparation de l’environnement== ===== | + | ===== 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é.\\ | 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**. | **Important :** A partir d’ici, toutes les commandes seront exécutées en tant que **root**. | ||
- | === 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 | ||
+ | </ | ||
Vous pouvez obtenir la liste des fuseaux horaire acceptés en utilisant la commande : '' | Vous pouvez obtenir la liste des fuseaux horaire acceptés en utilisant la commande : '' | ||
- | === 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 | + | '' |
- | === Ajout d’un nouveau dépôt pour php8.2 === | + | === 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.\\ | 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 : | On ajoute donc un dépôt qui contient la version 8.2 : | ||
- | == ==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 | ||
- | + | </ | |
- | === 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 ===== | ||
- | === Création du Site Nextcloud dans Apache === | + | === 2.1) Création du Site Nextcloud dans Apache === |
== Téléchargement de Nextcloud 28 : == | == Téléchargement de Nextcloud 28 : == | ||
- | wget https:// | + | wget https:%%//%%download.nextcloud.com/ |
== Extraction dans le répertoire /var/www/ : == | == Extraction dans le répertoire /var/www/ : == | ||
- | tar -xvf latest-28.tar.bz2 -C /var/www/ | + | < |
Ligne 90: | 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 109: | 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: |
+ | </ | ||
== 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 === | |
- | === Création de la base de données Nextcloud === | + | |
== Pré-configuration de la base MariaDB : == | == Pré-configuration de la base MariaDB : == | ||
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. | ||
- | === Finalisation de l’installation === | + | === 2.3) Finalisation de l’installation === |
Pour terminer l’installation, | Pour terminer l’installation, | ||
Ligne 182: | Ligne 187: | ||
---- | ---- | ||
- | ===== ==3) Configuration de Nextcloud 28== ===== | + | ===== Configuration de Nextcloud 28 ===== |
Une fois l’installation terminée, retourner dans l’invite de commande. | Une fois l’installation terminée, retourner dans l’invite de commande. | ||
- | === 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:// | ||
- | === 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 **// | ||
- | === Forcer HTTPS === | + | === 3.2) Forcer HTTPS === |
== Edition du fichier .htaccess : == | == Edition du fichier .htaccess : == | ||
Ligne 210: | 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: | + | |
La première ligne **RewriteCond** est la condition.\\ | La première ligne **RewriteCond** est la condition.\\ | ||
La seconde est la **règle** de réécriture. | La seconde est la **règle** de réécriture. | ||
- | === Suppressions des fichiers par défaut === | + | === 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 : '' | 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 '' | ||
Bien entendu, de nouveaux fichiers et répertoires peuvent être rajoutés en fonction du besoin. | Bien entendu, de nouveaux fichiers et répertoires peuvent être rajoutés en fonction du besoin. | ||
- | === Installation et Activation d’applications dans Nextcloud === | + | === 3.4) Installation et Activation d’applications dans Nextcloud === |
== 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 252: | 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) === | |
- | === 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 '' | 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 : == | == 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 278: | 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 292: | Ligne 297: | ||
Pour aller plus loin : [[https:// | Pour aller plus loin : [[https:// | ||
- | === Tâches de fond === | + | === 3.6) Tâches de fond === |
Pour son bon fonctionnement, | Pour son bon fonctionnement, | ||
Ligne 301: | 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 314: | 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 322: | Ligne 327: | ||
Pour aller plus loin, vous pouvez consulter la page [[https:// | Pour aller plus loin, vous pouvez consulter la page [[https:// | ||
- | === Configuration de la langue du profil === | + | === 3.6) Configuration de la langue du profil === |
Rentrer dans le menu **« Paramètres »** : | Rentrer dans le menu **« Paramètres »** : | ||
- | {{nextcloud: | + | {{nextcloud: |
Dans le panneau de gauche, sélectionner **« Informations personnelles »**. | Dans le panneau de gauche, sélectionner **« Informations personnelles »**. | ||
Ligne 332: | Ligne 337: | ||
Régler la **Langue** et les **Paramètres régionaux** : | Régler la **Langue** et les **Paramètres régionaux** : | ||
- | {{nextcloud: | + | {{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…) | ||
- | === Vérification de Mise à Jour === | + | === 3.7) Vérification de Mise à Jour === |
Cliquer sur **« Vue d’ensemble »** sous **« Administration »**. | Cliquer sur **« Vue d’ensemble »** sous **« Administration »**. | ||
- | {{nextcloud: | + | {{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:// | ||
- | |||
- | === 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 == | ||
- | |||
- | {{nextcloud: | ||
- | |||
- | ==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 == | ||
- | |||
- | {{nextcloud: | ||
- | |||
- | Il s’agit d’un exemple.\\ | ||
- | Pour des raisons d’organisation, | ||
- | |||
- | == Attributs de login == | ||
- | |||
- | {{nextcloud: | ||
- | |||
- | == Groupes == | ||
- | |||
- | {{nextcloud: | ||
- | |||
- | Les utilisateurs et les groupes de l’AD sont maintenant disponibles dans **Nextcloud**. | ||
- | |||
- | |||
- | ---- | ||
- | =====) Utilisateurs et Groupes== ===== | + | ===== Utilisateurs et Groupes ===== |
- | === Création Utilisateurs et Groupes === | + | === 5.1) Création Utilisateurs et Groupes === |
Se rendre dans le menu **Utilisateurs**. | Se rendre dans le menu **Utilisateurs**. | ||
- | {{nextcloud: | + | {{nextcloud: |
Cliquer sur **« Ajouter un groupe »** pour créer un groupe.\\ | Cliquer sur **« Ajouter un groupe »** pour créer un groupe.\\ | ||
Cliquer sur **« Nouvel utilisateur »** pour créer un utilisateur. | Cliquer sur **« Nouvel utilisateur »** pour créer un utilisateur. | ||
- | === Administrateurs Nextcloud === | + | === 5.2) Administrateurs Nextcloud === |
Pour définir un utilisateur en tant qu’Administrateur, | Pour définir un utilisateur en tant qu’Administrateur, | ||
- | {{nextcloud: | + | {{nextcloud: |
---- | ---- | ||
- | ===== Stockages Externes== ===== | + | ===== Stockages Externes ===== |
- | === Configuration générale === | + | === 6.1) Configuration générale === |
Grâce à l’application %%**%%%%**%%[[https:// | Grâce à l’application %%**%%%%**%%[[https:// | ||
Ligne 413: | Ligne 380: | ||
== Se rendre dans Paramètres, | == Se rendre dans Paramètres, | ||
- | {{nextcloud: | + | {{nextcloud: |
**Stockage externe** : Type de stockage\\ | **Stockage externe** : Type de stockage\\ | ||
Ligne 419: | Ligne 386: | ||
Pour plus d’information sur les méthodes d’authentification, | Pour plus d’information sur les méthodes d’authentification, | ||
- | === Autoriser le Partage === | + | === 6.2) Autoriser le Partage === |
Pour que les utilisateurs puissent partager des fichiers provenant du stockage externe, il faudra activer l’option **'' | Pour que les utilisateurs puissent partager des fichiers provenant du stockage externe, il faudra activer l’option **'' | ||
Ligne 425: | Ligne 392: | ||
Cliquer sur les **« … »** et cocher l’option **« Permettre le partage »**. | Cliquer sur les **« … »** et cocher l’option **« Permettre le partage »**. | ||
- | {{nextcloud: | + | {{nextcloud: |
---- | ---- | ||
- | ===== ==7) Optimisation de Nextcloud== ===== | + | ===== Optimisation de Nextcloud ===== |
**A partir d’ici, le serveur Nextcloud est fonctionnel.**\\ | **A partir d’ici, le serveur Nextcloud est fonctionnel.**\\ | ||
Ligne 436: | Ligne 403: | ||
Pour s’en prévenir, il faut suivre quelques recommandations de la documentation officielle de **NextCloud**. | Pour s’en prévenir, il faut suivre quelques recommandations de la documentation officielle de **NextCloud**. | ||
- | === Base de données === | + | === 7.1) Base de données === |
Sources : [[https:// | Sources : [[https:// | ||
Ligne 446: | 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: | + | {{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 465: | Ligne 432: | ||
Contenu : | Contenu : | ||
+ | < | ||
[mysqld]\\ | [mysqld]\\ | ||
transaction_isolation = READ-COMMITTED\\ | transaction_isolation = READ-COMMITTED\\ | ||
binlog_format = ROW | binlog_format = ROW | ||
+ | </ | ||
Exemple : | Exemple : | ||
- | {{nextcloud: | + | {{nextcloud: |
== Redémarrage MariaDB : == | == Redémarrage MariaDB : == | ||
Ligne 480: | Ligne 447: | ||
- | === PHP – Modification memory_limit et désactivation output_buffering === | + | |
+ | === 7.2) PHP – Modification memory_limit et désactivation output_buffering === | ||
== Valeur initiale : == | == Valeur initiale : == | ||
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 505: | Ligne 471: | ||
- | === Configuration de Redis === | + | === 7.3) Configuration de Redis === |
Source : [[https:// | Source : [[https:// | ||
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: | + | {{nextcloud: |
== Redémarrage de Redis : == | == Redémarrage de Redis : == | ||
Ligne 538: | Ligne 498: | ||
- | === File Locking et Memory Cache === | + | === 7.4) File Locking et Memory Cache === |
Source : [[https:// | Source : [[https:// | ||
Ligne 546: | 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: | |
- | {{nextcloud: | + | |
== Redémarrage d’Apache : == | == Redémarrage d’Apache : == | ||
Ligne 573: | Ligne 541: | ||
- | === Activation de PHP OPcache === | + | === 7.5) Activation de PHP OPcache === |
Source : [[https:// | Source : [[https:// | ||
Ligne 580: | 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: | |
- | {{nextcloud: | + | |
== Redémarrage d’Apache : == | == Redémarrage d’Apache : == | ||
Ligne 615: | Ligne 573: | ||
systemctl restart apache2.service | systemctl restart apache2.service | ||
+ | |1|systemctl restart apache2.service| | ||
- | === Taille limite de téléchargement === | + | === 7.6) Taille limite de téléchargement === |
Source : [[https:// | Source : [[https:// | ||
== 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 634: | Ligne 589: | ||
- | {{nextcloud: | + | {{nextcloud: |
== Redémarrage d’Apache : == | == Redémarrage d’Apache : == | ||
Ligne 644: | Ligne 599: | ||
---- | ---- | ||
- | ===== ==8) 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 :** | ||
- | |||
- | {{nextcloud: | ||
- | |||
- | 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 | ||
- | |||
- | |||
- | == 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 | ||
- | |||
- | |||
- | == Visualisation de la tâche de renouvellement : == | ||
- | |||
- | 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 771: | 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 825: | Ligne 698: | ||
Exemple de restauration : [[https:// | Exemple de restauration : [[https:// | ||
- | ===== ==10) Mise à jour de Nextcloud== ===== | + | ===== Mise à jour de Nextcloud ===== |
- | **< | + | **Source** : [[https:// |
== Lancement du programme de mise à jour : == | == Lancement du programme de mise à jour : == | ||
Ligne 836: | 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 846: | Ligne 719: | ||
La ligne **'' | La ligne **'' | ||
- | {{nextcloud: | + | {{nextcloud: |
Appuyer sur **Entrée** pour désactiver le mode maintenance. | Appuyer sur **Entrée** pour désactiver le mode maintenance. | ||
Ligne 862: | Ligne 735: | ||
* Créer vos propres utilisateurs | * Créer vos propres utilisateurs | ||
* Configurer votre routeur pour que nextcloud soit accessible depuis l’extérieur | * Configurer votre routeur pour que nextcloud soit accessible depuis l’extérieur | ||
- | * Utiliser la section **commentaires** pour me faire part de **vos remarques** ou **problèmes rencontrés**. | ||
- | * Visiter la page de la [[https:// | ||
- | * [[https:// | ||
- | |||
- | ==== Partager : ==== | ||
- | * [[https:// | ||
- | * [[https:// | ||
- | * [[https:// | ||
- | * [[https:// | ||
- | * [[https:// | ||
- | * [[https:// | ||
serveur_maison/installer_nextcloud.1720459212.txt.gz · Dernière modification : 2024/07/08 17:20 de admin