Outils pour utilisateurs

Outils du site


serveur_maison:installer_nextcloud

Ceci est une ancienne révision du document !


Nextcloud 28 – Installation Debian

Présentation

Nextcloud 28 (Nextcloud Hub 7) – Interface de connexion

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.frhttps://www.jjworld.fr/installer-nextcloud-creer-son-cloud-personnel/


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/Paris
hwclock -w
timedatectl status

Vous pouvez obtenir la liste des fuseaux horaire acceptés en utilisant la commande : timedatectl list-timezones

1.2) Mise à jour du dépôt et des paquets

apt -y update && apt -y upgrade

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 /etc/apt/trusted.gpg.d/php.gpg https:%%//%%packages.sury.org/php/apt.gpg && \
echo “deb https:%%//%%packages.sury.org/php/ $(lsb_release -sc) main” |\
tee /etc/apt/sources.list.d/php.list && \
apt update -y
Pour Ubuntu 22.04 :
apt install -y software-properties-common\
add-apt-repository -y ppa:ondrej/php\
apt update -y

1.4) Installation des prérequis pour Nextcloud 28

export DEBIAN_FRONTEND=noninteractive

# 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://download.nextcloud.com/server/releases/latest-28.tar.bz2

Extraction dans le répertoire /var/www/ :
tar -xvf latest-28.tar.bz2 -C /var/www/ 
Edition du fichier de configuration du site :

nano /etc/apache2/sites-available/nextcloud.conf

Contenu :

Alias / “/var/www/nextcloud:”
<Directory /var/www/nextcloud:>
Require all granted
AllowOverride All
Options FollowSymLinks MultiViews
<IfModule mod_dav.c>
Dav off
</IfModule>
<IfModule mod_headers.c>
Header always set Strict-Transport-Security “max-age=15552000; includeSubDomains”
</IfModule>
</Directory>
Attention à l’indentation. Problème constaté lors du copier/coller sous Firefox 107.0.1.
Activation du site et des modules nécessaires :

# Activation du site nextcloud

a2ensite nextcloud.conf

Activation des modules </code> a2enmod rewrite a2enmod headers a2enmod env a2enmod dir a2enmod mime </code> # 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:www-data /var/www/nextcloud
Vérifications versions :
sudo -u www-data php /var/www/nextcloud:occ -V
sudo -u www-data php /var/www/nextcloud:occ status

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 <<-EOF
SET PASSWORD FOR ‘root’@‘localhost’ = PASSWORD(‘VotreMotDePasse’);
DELETE FROM mysql.user WHERE User=‘root’ AND Host NOT IN (‘localhost’, ‘127.0.0.1’, ‘::1’);
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 <<-EOF
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, il va falloir se connecter à l’URL de votre serveur Nextcloud.
Exemple : https://192.168.1.203

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 /var/www/nextcloud:occ config:system:set \
default_phone_region –value=“FR”

Remplacer FR par votre code pays ISO 3166-1.

3.1) Configuration de Pretty URLs

sudo -u www-data php /var/www/nextcloud:occ config:system:set htaccess.RewriteBase –value=“/”
sudo -u www-data php /var/www/nextcloud:occ maintenance:update:htaccess

Pretty URLs permet de supprimer le « index.php » dans la barre d’adresse.

3.2) Forcer HTTPS

Edition du fichier .htaccess :

nano /var/www/nextcloud:.htaccess

Se rendre à la fin du fichier et renseigner les lignes suivantes juste avant la balise <IfModule mod_env.c> et avant l’instruction RewriteBase / :

RewriteCond %{HTTPS} !=on\\
RewriteRule (.*) https:%%//%%%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

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 : /var/www/nextcloud:core/skeleton/Documents/

rm -r “/var/www/nextcloud:core/skeleton/Documents/”
rm -r “/var/www/nextcloud:core/skeleton/Photos/”
rm “/var/www/nextcloud:core/skeleton/Nextcloud intro.mp4”
rm “/var/www/nextcloud:core/skeleton/Nextcloud.png”

L’exemple ci-dessus supprime les répertoires et les fichiers et ne garde que le fichier Nextcloud Manual.pdf
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 /var/www/nextcloud:occ app:install files_external
sudo -u www-data php /var/www/nextcloud:occ app:enable files_external

Application permettant de se connecter à des partages externes (SMB, FTP etc…).

LDAP user and group backend :

sudo -u www-data php /var/www/nextcloud:occ app:install user_ldap
sudo -u www-data php /var/www/nextcloud:occ app:enable user_ldap

Application permettant de se connecter à un annuaire LDAP (Exemple : Active Directory).

Mise à jour de toutes les applications
sudo -u www-data php /var/www/nextcloud:occ app:update –all

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 config.php.

Vérification du paramètre trashbin_retention_obligation :
sudo -u www-data php /var/www/nextcloud:occ config:system:get \
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 /var/www/nextcloud:occ config:system:set \
trashbin_retention_obligation –value=“auto, 15”

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 /var/www/nextcloud:occ trashbin:expire
Forcer la suppression définitive de tous les fichiers supprimés
sudo -u www-data php /var/www/nextcloud:occ trashbin:cleanup –all-users

==Il est possible de remplacer --all-users par le nom des utilisateurs séparés par des espaces.==

Pour un utilisateur provenant de l’annuaire LDAP, il faudra utiliser son ID.

3.6) Tâches de fond

Pour son bon fonctionnement

serveur_maison/installer_nextcloud.1721407493.txt.gz · Dernière modification : 2024/07/19 16:44 de jpg