Comment installer Nextcloud sous Debian 12 ?
L’installation de Nextcloud sous Debian se fait en quelques étapes. En plus de l’installation, il est nécessaire de protéger la solution Cloud par différents mécanismes de sécurité.
Nextcloud pour Debian
Nextcloud est une solution de Cloud computing qui vous offre de nombreuses possibilités aussi bien à des fins privées que commerciales. Parmi les nombreux avantages du logiciel, on peut citer les fortes caractéristiques de sécurité pour la protection des données, comme le chiffrement SSL/TLS, l’authentification à deux facteurs et la conformité au RGPD, ainsi que le choix entre des serveurs privés locaux ou des serveurs hôtes externalisés. Nextcloud et nombreuses de ses alternatives prennent en charge tous les systèmes d’exploitation courants et offre une intégration facile de nombreux services.
Dans ce qui suit, nous vous expliquons pas à pas comment configurer Nextcloud sous Debian 12. Pour cela, vous installerez un serveur web Apache2, un serveur MariaDB et PHP 8.2. Pour la sécurité, nous vous montrons comment configurer un Uncomplicated Firewall (UFW) et les certificats SSL/TLS nécessaires.
Si vous souhaitez installer Nextcloud sous Ubuntu, vous trouverez dans notre Digital Guide les instructions appropriées pour la configuration de Nextcloud sous Ubuntu 22.04 correspondantes. Nous vous présentons également l’installation de Nextcloud avec Docker.
Quelles conditions doivent être remplies ?
Pour l’installation de Nextcloud sous Debian 12, peu de conditions préalables sont nécessaires. Vous avez besoin d’un serveur sur lequel Debian 12 est déjà installé. Pour cela, il faut au moins 4 Go de RAM et deux CPU. Il est également important que vous disposiez d’un accès utilisateur non root avec des droits d’administrateur et que vous configuriez un nom de domaine qui puisse faire référence à l’adresse IP du serveur.
Installer le serveur Web Apache2
Tout d’abord, installez un serveur Web Apache2. Pour cela, mettez à jour l’index des paquets Debian afin de pouvoir télécharger la dernière version. Utilisez pour cela la commande apt update
:
sudo apt update
bashEnsuite, installez le dernier paquet d’Apache2 à l’aide de la commande suivante :
sudo apt install apache2
bashConfirmez l’installation avec la touche [Y] et appuyez ensuite sur [Entrée] pour lancer l’installation.
Après l’installation, vérifiez l’état du service avec les commandes suivantes :
sudo systemctl is-enabled apache2
sudo systemctl status apache2
bashSous la première commande, vous devriez voir que le service est automatiquement lancé lorsque vous démarrez le système. Le statut « active » vous indique qu’Apache2 est prêt à être utilisé.
Configurer le pare-feu
Avec le pare-feu approprié, vous protégez votre système et vos données. Il est recommandé d’utiliser le pare-feu non simplifié (UFW), que vous pouvez configurer par défaut. Pour ce faire, vous devez ouvrir les ports pour OpenSSH, HTTP ainsi que HTTPS. Installez d’abord le paquet UFW avec la commande suivante :
sudo apt install ufw
bashConfirmez à nouveau avec [Y] et terminez l’installation avec [Entrée]. Ensuite, activez OpenSSH et UFW avec ces commandes :
sudo ufw allow OpenSSH
sudo ufw enable
bashPour lancer UFW, confirmez avec [Y]. Le message « Firewall is active and enabled on system startup » (le pare-feu est actif et activé au démarrage du système) apparaît alors. Ensuite, ajoutez le port HTTP et le port HTTPS qui doivent être utilisés par le serveur Web. Pour cela, exécutez cette commande :
sudo ufw allow "WWW Full" (autoriser le WWW complet)
bashRechargez ensuite UFW :
sudo ufw reload
bashPour voir les règles activées, consultez le statut de UFW. Ici, WWW Full
devrait être activé.
sudo ufw status
bash- Sécurité des données
- Outils de collaboration intégrés
- Hébergement dans des data centers européens
Activer PHP 8.2
Pour les meilleures performances et une compatibilité maximale, Nextcloud lui-même recommande PHP 8.2, qui est inclus par défaut dans Debian 12, de sorte qu’il suffit d’installer les paquets nécessaires. Voici la commande correspondante :
sudo apt install -y php php-curl php-cli php-mysql php-gd php-common php-xml php-json php-intl php-pear php-imagick php-dev php-common php-mbstring php-zip php-soap php-bz2 php-bcmath php-gmp php-apcu libmagickcore-dev
bashConfirmez avec [Y] et [Entrée]. Ensuite, vérifiez la version de PHP et activez les extensions :
php --version
php -m
bashOuvrez maintenant le fichier de configuration de PHP avec l’éditeur Nano :
sudo nano /etc/php/8.2/apache2/php.ini
bashAdaptez ensuite la configuration à vos besoins. Selon la manière dont vous souhaitez utiliser Nextcloud avec Debian 12, d’autres valeurs peuvent être recommandées. Dans ce cas, modifiez les paramètres à votre convenance. Les commandes respectives se présentent comme suit.
Dans la première étape, réglez le fuseau horaire :
data.timezone = Europe/Amsterdam
bashModifiez les paramètres memory_limit
, upload_max_filesize
, post-max_size
et max_execution_time
:
memory_limit = 512M
upload_max_filesize = 500M
post_max_size = 600M
max_execution_time = 300
bashActivez maintenant file_uploads et allow_url_fopen. Dans les deux cas, la valeur doit être définie sur « On » :
file_uploads = On
allow_url_fopen = On
bashDésactivez maintenant display_errors
et output_buffering
et réglez les valeurs respectives sur « Off » :
display_errors = Off
output_buffering = Off
bashActivez PHP OPCache avec cette commande :
zend_extension=opcache
bashAjoutez la configuration dans la section opcache
recommandée par Nextcloud pour Debian 12. Voici comment :
opcache.enable = 1
opcache.interned_strings_buffer = 8
opcache.max_accelerated_files = 10000
opcache.memory_consumption = 128
opcache.save_comments = 1
opcache.revalidate_freq = 1
bashPour finir, enregistrez le fichier et quittez l’éditeur Nano. Redémarrez maintenant le service Apache2 :
sudo systemctl restart apache2
bashMettre en place le serveur MariaDB
Nextcloud utilise un serveur MariaDB comme base de données. Vous pouvez l’installer et le vérifier avec ces commandes :
sudo apt install mariadb-server
bashConfirmez avec [Y] et [Entrée]. Une fois que l’installation est réussie, tapez le code suivant :
sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
bashSi le serveur fonctionne correctement, sauvegardez le système. Utilisez la commande suivante pour créer un mot de passe root, supprimer les utilisateurs anonymes et effacer la base de données de test :
sudo mariadb-secure-installation
bashEffectuez les réglages en appuyant sur [Y] pour accepter et sur [N] pour refuser.
Créer une base de données et des utilisateurs
Créez ensuite une nouvelle base de données ainsi que l’utilisateur correspondant. Pour vous connecter au serveur MariaDB, utilisez cette commande et saisissez votre mot de passe root :
sudo mariadb -u root -p
bashUtilisez les commandes suivantes pour créer une nouvelle base de données, un utilisateur et le mot de passe correspondant :
CREATE DATABASE nextcloud_db;
CREATE USER nextclouduser@localhost IDENTIFIED BY 'votremotdepasse';
GRANT ALL PRIVILEGES ON nextcloud_db.* TO nextclouduser@localhost;
FLUSH PRIVILEGES;
bashRemplacez 'votremotdepasse'
par votre propre mot de passe, de préférence avec une forte sécurité. Enfin, vérifiez si « nextclouduser » a accès à la base de données « nextcloud_db » :
``bash SHOW GRANTS FOR nextclouduser@localhost;
## Télécharger les codes sources actuels
Téléchargez maintenant les codes sources actuels pour pouvoir utiliser Nextcloud de manière optimale sous Debian 12. Utilisez d’abord cette commande :
```bash
sudo apt install curl unzip -y
Ensuite, allez dans le répertoire /var/www et téléchargez le code source le plus récent :
cd /var/www/
curl -o nextcloud.zip https://download.nextcloud.com/server/releases/latest.zip
bashDécompressez le fichier et changez ensuite les propriétaires du répertoire sous www-data
:
unzip nextcloud.zip
sudo chown -R www-data:www-data nextcloud
bashConfigurer l’hôte Apache2
Maintenant, configurez un hôte virtuel Apache2. Pour cela, utilisez cette commande Nano :
sudo nano /etc/apache2/sites-available/nextcloud.conf
bashPersonnalisez le nom de domaine et les deux paramètres ErrorLog
et CustomLog
. Pour cela, remplacez le caractère de remplacement « exemple » par votre nom de domaine.
<VirtualHost *:80>
ServerName nextcloud.exemple.io
DocumentRoot /var/www/nextcloud/
# log files
ErrorLog /var/log/apache2/files.exemple.io-error.log
CustomLog /var/log/apache2/files.exemple.io-access.log combined
<Directory /var/www/nextcloud/>
Options +FollowSymlinks
AllowOverride All
<IfModule mod_dav.c>
Dav off
</IfModule>
SetEnv HOME /var/www/nextcloud
SetEnv HTTP_HOME /var/www/nextcloud
</Directory>
</VirtualHost>
bashEnregistrez les modifications et quittez l’éditeur. Activez ensuite la configuration avec la commande suivante et vérifiez-la :
sudo a2ensite nextcloud.conf
sudo apachectl configtest
bashSi vous obtenez le résultat « syntaxe OK », redémarrez Apache2 et appliquez-lui la configuration de l’hôte :
sudo systemctl restart apache2
bashSécurisation avec SSL/TLS
Sans autre configuration, vous utilisez maintenant Nextcloud sur Debian 12 via un protocole HTTP non sécurisé. Pour protéger vos données, il est donc préférable de configurer HTTPS. Pour cela, utilisez cette commande :
sudo apt install certbot python3-certbot-apache
bashGénérez ensuite un certificat SSL. Pour cela, remplacez à nouveau le caractère de remplacement « exemple » par votre nom de domaine réel :
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email user@exemple.io -d nextcloud.exemple.io
bashFin de l’installation de Nextcloud sous Debian 12
Maintenant, terminez l’installation de Nextcloud sous Debian 12. Pour cela, ouvrez votre navigateur Web et accédez au nom de domaine de votre installation Nextcloud. Saisissez un nom d’utilisateur et votre mot de passe pour créer un administrateur. Insérez ensuite le nom de votre base de données, le nom d’utilisateur et le mot de passe et cliquez sur « Install ». Vous pouvez ensuite choisir de télécharger quelques applications compatibles ou de sauter cette étape pour le moment. Vous serez alors redirigé vers votre tableau de bord et pourrez utiliser Nextcloud pour vos données.