nextcloud

Comment installer NextCloud sur Debian ?

Mis à jours 6 septembre 2022

NextCloud est un serveur d’hébergement et de partage de fichiers gratuit et open-source issu du projet ownCloud. Il est très similaire à d’autres services de partage de fichiers tels que Google Drive, Dropbox et iCloud. NextCloud vous permet de stocker des fichiers, des documents, des images, des films et des vidéos à partir de l’emplacement central.

Avec NextCloud, vous pouvez partager des fichiers, des contacts et tout autre média avec vos amis et clients. NextCloud s’intègre au mail, au calendrier, aux contacts et à d’autres fonctionnalités qui aideront vos équipes à faire leur travail plus rapidement et plus facilement. Vous pouvez installer le client NextCloud sur un ordinateur de bureau pour synchroniser les fichiers avec votre serveur Nextcloud. Les clients de bureau sont disponibles pour la plupart des systèmes d’exploitation, notamment Windows, macOS, FreeBSD et Linux.

Dans ce tutoriel, nous allons expliquer comment installer NextCloud et le sécuriser avec Let’s Encrypt SSL sur Debian 11.

louer synology
Synology Haute Disponibilité

Infomaniak offre tous les types de serveur Synology en location pour stocker toutes vos données

Installez les applications de votre choix, gérez vos utilisateurs et fixez vos propres règles de sécurité. Infomaniak s’occupe uniquement de la mise en place et de l’infrastructure de votre NAS.

Quelles sont les conditions préalables pour installer NextCloud sur Debian ?

  • Un serveur exécutant Debian 11 ou supérieur.
  • Un nom de domaine valide pointé avec l’adresse IP de votre serveur. Dans ce tutoriel, nous allons utiliser le domaine nextcloud.example.com.
  • Un mot de passe root est configuré sur votre serveur.

Installez Apache, MariaDB et PHP

Installez Apache, MariaDB et PHP

NextCloud fonctionne sur le serveur Web, écrit en PHP et utilise MariaDB pour stocker leurs données. Vous devrez donc installer Apache, MariaDB, PHP et d’autres packages requis sur votre système. Vous pouvez tous les installer en exécutant la commande suivante :

apt-get install apache2 libapache2-mod-php mariadb-server php-xml php-cli php-cgi php-mysql php-mbstring php-gd php-curl php-zip wget unzip -y

Une fois que tous les packages soient installés, ouvrez le fichier php.ini et modifiez certains paramètres recommandés :

nano /etc/php/7.3/apache2/php.ini

Modifiez les paramètres suivants :

memory_limit = 512M
upload_max_filesize = 500M
post_max_size = 500M
max_execution_time = 300
date.timezone = Europe/Paris

Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, démarrez le service Apache et MariaDB, et permettez-leur de démarrer après le redémarrage du système avec la commande suivante :

systemctl start apache2
systemctl start mariadb
systemctl enable apache2
systemctl enable mariadb

Une fois que vous avez terminé, vous pouvez passer à l’étape suivante.

Configurez la base de données pour NextCloud

Configurer base de données NextCloud

Ensuite, vous devrez créer une base de données et un utilisateur de base de données pour NextCloud. Pour ce faire, connectez-vous au shell MariaDB avec la commande suivante :

mysql -u root -p

Fournissez votre mot de passe root lorsque vous y êtes invité, puis créez une base de données et un utilisateur avec la commande suivante :

MariaDB [(none)]> CREATE DATABASE nextclouddb;
MariaDB [(none)]> CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY 'password';

Ensuite, accordez tous les privilèges à nextclouddb avec la commande suivante :

MariaDB [(none)]> GRANT ALL ON nextclouddb.* TO 'nextclouduser'@'localhost';

Puis, videz les privilèges et quittez le shell MariaDB avec la commande suivante :

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Une fois que vous avez terminé, vous pouvez passer à l’étape suivante.

Téléchargez NextCloud

Téléchargez NextCloud

Tout d’abord, visitez la page de téléchargement NextCloud et téléchargez la dernière version de NextCloud sur votre système. Au moment de la rédaction de cet article, la dernière version de NextCloud est 24.0.1 (3 mai 2022). Vous pouvez la télécharger avec la commande suivante:

wget https://download.nextcloud.com/server/releases/nextcloud-24.0.1.zip

Une fois le téléchargement terminé, décompressez le fichier téléchargé avec la commande suivante :

unzip nextcloud-24.0.1.zip

Puis, déplacez le répertoire extrait vers le répertoire racine Web Apache :

mv nextcloud /var/www/html/

Ensuite, donnez les autorisations appropriées au répertoire nextcloud avec la commande suivante :

chown -R www-data:www-data /var/www/html/nextcloud/
chmod -R 755 /var/www/html/nextcloud/

Une fois que vous avez terminé, vous pouvez passer à l’étape suivante.

Configurez Apache pour NextCloud

Configurez Apache pour NextCloud

Vous devrez créer un fichier de configuration d’hôte virtuel Apache pour servir NextCloud. Vous pouvez le créer avec la commande suivante :

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

Ajoutez les lignes suivantes :

<VirtualHost *:80>
     ServerAdmin admin@example.com
     DocumentRoot /var/www/html/nextcloud/
     ServerName nextcloud.example.com

     Alias /nextcloud "/var/www/html/nextcloud/"

     <Directory /var/www/html/nextcloud/>
        Options +FollowSymlinks
        AllowOverride All
        Require all granted
          <IfModule mod_dav.c>
            Dav off
          </IfModule>
        SetEnv HOME /var/www/html/nextcloud
        SetEnv HTTP_HOME /var/www/html/nextcloud
     </Directory>

     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, activez le fichier d’hôte virtuel Apache et les autres modules requis avec les commandes suivantes :

a2ensite nextcloud.conf
 a2enmod rewrite
 a2enmod headers
 a2enmod env
 a2enmod dir
 a2enmod mime

Enfin, redémarrez le service Apache pour appliquer la nouvelle configuration :

systemctl restart apache2

Sécurisez NextCloud avec Let’s Encrypt Free SSL

Sécurisez NextCloud avec Let's Encrypt Free SSL

NextCloud est désormais installé et configuré. Dans ce cas, il est recommandé de le sécuriser avec Let’s Encrypt SSL gratuit. Pour ce faire, installez d’abord le client Certbot avec la commande suivante :

apt-get install python-certbot-apache -y

Une fois installé, vous pouvez exécuter la commande suivante pour installer le certificat Let’s Encrypt pour votre domaine nextcloud.example.com.

certbot --apache -d nextcloud.example.com

Durant l’installation, il vous sera demandé de fournir votre adresse e-mail et d’accepter les conditions d’utilisation comme indiqué ci-dessous :

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): admin@example.com

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for nextcloud.example.com
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/nextcloud-le-ssl.conf
Deploying Certificate to VirtualHost /etc/apache2/sites-available/nextcloud-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/nextcloud-le-ssl.conf

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Ensuite, tapez 2 et appuyez sur Entrée pour télécharger et installer un certificat SSL gratuit pour votre domaine. Une fois l’installation terminée avec succès, vous devriez obtenir l’affichage suivant :

Enabled Apache rewrite module
Redirecting vhost in /etc/apache2/sites-enabled/nextcloud.conf to ssl vhost in /etc/apache2/sites-available/
nextcloud-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://nextcloud.example.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=nextcloud.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
 /etc/letsencrypt/live/example.com/fullchain.pem
 Your key file has been saved at:
 /etc/letsencrypt/live/example.com/privkey.pem
 Your cert will expire on 2019-10-22. To obtain a new or tweaked
 version of this certificate in the future, simply run certbot again
 with the "certonly" option. To non-interactively renew *all* of
 your certificates, run "certbot renew"
 - Your account credentials have been saved in your Certbot
 configuration directory at /etc/letsencrypt. You should make a
 secure backup of this folder now. This configuration directory will
 also contain certificates and private keys obtained by Certbot so
 making regular backups of this folder is ideal.
 - If you like Certbot, please consider supporting our work by:
 Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
 Donating to EFF: https://eff.org/donate-le

Une fois que vous avez terminé, vous pouvez passer à l’étape suivante.

Accédez à l’interface Web NextCloud

Votre NextCloud est maintenant configuré et sécurisé avec Let’s Encrypt SSL. Ensuite, ouvrez votre navigateur Web et saisissez l’URL https://nextcloud.votresite.com. Vous serez redirigé vers la page suivante :

Accédez à l'interface Web NextCloud
se connecter à l'interface Nexcloud

Maintenant, fournissez votre nom d’utilisateur et votre mot de passe d’administrateur, le dossier de données, les informations d’identification de base de données correctes et cliquez sur le bouton Terminer la configuration. Vous serez redirigé vers le tableau de bord NextCloud dans la page suivante :

tableau de bord NextCloud

C’est tout pour le moment.

Conclusion

Toutes nos félicitations ! Vous avez correctement installé et sécurisé NextCloud avec Let’s Encrypt Free SSL sur Debian 10. Vous pouvez désormais partager facilement des fichiers, des documents et des médias avec d’autres utilisateurs à partir de l’interface Web NextCloud.

Aina Strauss

À lire aussi

installer nextcloud sur ubuntu

Comment installer Nextcloud sur Ubuntu 20.04 LTS avec Nginx et Let’s Encrypt SSL ?

Table de matièreQuelles sont les conditions préalables pour installer NextCloud sur Debian ?Installez Apache, MariaDB et …