De plus en plus d'utilisateurs délaissent les solutions grand public comme Google Drive ou Dropbox au profit de solutions auto-hébergées qui leur permettent de gérer leurs données selon leurs propres règles. Nextcloud est une option sérieuse à considérer.
Cet article vous guide pas à pas pour installer Nextcloud Docker sur les systèmes Ubuntu et Debian. Il couvre l'ensemble du processus : mise à jour du système, installation des dépendances, configuration du serveur web et de PHP, création de la base de données, et finalisation de l'installation avec Nextcloud Docker Compose.
Pourquoi auto-héberger Nextcloud ?
Auto-héberger Nextcloud, c'est reprendre le contrôle de votre stockage cloud au lieu de dépendre de services grand public comme Google Drive ou Dropbox. Avec Nextcloud, vous stockez et partagez vos fichiers selon vos propres conditions : vous êtes seul propriétaire de vos données et vous gérez entièrement vos paramètres de confidentialité.
Pour beaucoup d'utilisateurs, la possibilité d'enrichir la plateforme via des plugins et des intégrations est un atout majeur. Grâce à Nextcloud docker et Nextcloud docker compose, vous déployez rapidement un système de partage de fichiers fiable et sécurisé sur les systèmes les plus courants - Nextcloud Ubuntu et Nextcloud Debian sont tous les deux disponibles.
Cette configuration est une solution concrète si vous souhaitez installer Nextcloud sans subir les contraintes des services tiers. Le processus d'installation via Nextcloud docker est conçu pour être accessible, même aux utilisateurs qui n'ont pas d'expérience en administration système.
Opter pour une installation Nextcloud Docker peut également réduire vos coûts par rapport aux solutions cloud commerciales, puisque vous payez principalement votre propre matériel ou votre instance serveur. De plus, les options de personnalisation disponibles - ajustement des paramètres PHP ou intégration d'une base de données MySQL - vous permettent d'adapter l'environnement à vos besoins précis.
Si vous cherchez comment installer Nextcloud docker, la communauté met à disposition de nombreuses ressources et des exemples de fichiers Nextcloud docker compose, ce qui rend la démarche à la fois instructive et gratifiante.
Prérequis
Avant de commencer l'installation, il est conseillé de préparer votre environnement correctement. Cette section présente les points essentiels : prérequis système, configuration du serveur et dépendances logicielles nécessaires à une installation Nextcloud docker sans accroc :
| Composant | Prérequis / Options | Remarques |
| Système d'exploitation | Ubuntu (22.04 LTS fortement recommandé, 24.04 LTS), Red Hat Enterprise Linux 9/8, Debian 12 (Bookworm), SUSE Linux Enterprise Server 15, openSUSE Leap 15.5, CentOS Stream, Alpine Linux | Nextcloud Ubuntu est très répandu |
| CPU & architecture OS | 64 bits | Vérifiez que CPU, l'OS et PHP sont en 64 bits |
| PHP | PHP 8.3 (ou autres versions) | Utilisez une version 64 bits pour éviter les problèmes de compatibilité |
| Mémoire | Minimum : 128 MB de RAM par processus ; Recommandé : 512 MB par processus ; Mise à jour : 256 MB | À ajuster selon l'utilisation |
| Accès | Accès root ou sudo | Requis pour les réglages au niveau système |
| Outils de conteneurs | Docker, Docker Compose | Simplifie l'installation et la gestion |
| Serveur Web | Apache 2.4 (avec mod_php ou php-fpm recommandé) ou nginx avec php-fpm | Choisissez selon vos besoins personnels ou ceux de votre organisation |
| Base de données | MySQL (8.0/8.4), MariaDB (10.6/10.11 recommandé, ou 11.4), ou PostgreSQL | Doit prendre en charge InnoDB et le niveau d'isolation READ COMMITTED |
Étape 1 : Mettre à jour et préparer votre système
Avant de configurer votre instance Nextcloud Docker, prenez le temps de mettre à jour votre système et d'installer tous les outils nécessaires. Considérez cela comme une mise en ordre de votre environnement avant de démarrer un nouveau projet. Exécutez ces commandes sur votre serveur Nextcloud Ubuntu :
Actualiser la liste des paquets et mettre à jour les paquets installés :
Mettez à jour vos dépôts et les paquets installés avec ces commandes :
| sudo apt update sudo apt upgrade -y |
Installer Docker, Docker Compose et les utilitaires utiles :
Installez Docker, Docker Compose ainsi que des utilitaires pratiques comme curl, wget et build-essential en exécutant :
| sudo apt install docker.io docker-compose curl wget build-essential -y |
(Optionnel) Ajouter votre utilisateur au groupe Docker :
Cette étape vous permet d'exécuter les commandes Docker sans préfixer sudo à chaque fois :
| sudo usermod -aG docker $USER |
Après avoir exécuté cette commande, déconnectez-vous puis reconnectez-vous pour appliquer les modifications.
Vérifier les installations :
Vérifiez que Docker et Docker Compose sont correctement installés :
| docker –version docker-compose --version |
Il est également fortement recommandé de surveiller les journaux de Docker pour le débogage. Vous pouvez les consulter et les gérer en suivant ces étapes.
Maintenant que votre système est à jour et que toutes les dépendances sont en place, il est indispensable de choisir une solution d'hébergement fiable. Cloudzy propose des VPS ultra-rapides services avec jusqu'à 240 GB NVMe SSD de stockage (jusqu'à 2 TB avec notre GPU VPS) et 99,95 % de disponibilité, ce qui en fait un excellent choix pour héberger votre instance Nextcloud.
Nous allons maintenant configurer votre serveur web et ajuster les paramètres PHP pour que tout fonctionne correctement avec votre instance Nextcloud Docker.
Étape 2 : Configuration de Apache/Nginx et PHP
Maintenant que votre système est prêt, il est temps de configurer votre serveur web et PHP. Cette section vous guide à travers la configuration de Apache et Nginx, ainsi que les ajustements PHP nécessaires au bon fonctionnement de Nextcloud en Docker.
Configuration de Apache
Si vous utilisez Apache, suivez ces étapes :
Créer un fichier de configuration :
- Ouvrez un nouveau fichier pour Nextcloud :
| sudo nano /etc/apache2/sites-available/Nextcloud.conf |
- Dans ce fichier, ajoutez le contenu suivant :
| Alias /Nextcloud "/var/www/Nextcloud/"
<Directory /var/www/Nextcloud/> <IfModule mod_dav.c> |
Activer le site :
- Activez votre nouvelle configuration :
| sudo a2ensite Nextcloud.conf |
Activer les modules Apache requis :
- Exécutez ces commandes pour activer les modules nécessaires :
| sudo a2enmod rewrite sudo a2enmod headers sudo a2enmod env sudo a2enmod dir sudo a2enmod mime |
Si vous prévoyez d'utiliser PHP-FPM avec Apache (via mod_fcgi), activez également :
| sudo a2enmod setenvif |
Activer SSL (optionnel) :
- Pour une connexion sécurisée, activez SSL avec :
| sudo a2enmod ssl sudo a2ensite default-ssl sudo service apache2 reload |
Configuration de Nginx
- Pour les utilisateurs de Nginx, la configuration consiste à créer un bloc serveur :
Créer un fichier de bloc serveur :
- Ouvrez un nouveau fichier :
| sudo nano /etc/nginx/sites-available/Nextcloud |
- Collez un exemple de configuration comme suit :
| server { listen 80; server_name your-server-ip or cloud.example.com;root /var/www/Nextcloud/; index index.php index.html /index.php$request_uri;location / { try_files $uri $uri/ /index.php?$args; }location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/run/php/php8.3-fpm.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } } |
Activer la configuration :
- Créez un lien symbolique pour activer le site :
| sudo ln -s /etc/nginx/sites-available/Nextcloud /etc/nginx/sites-enabled/ |
Tester et recharger Nginx :
- Vérifiez votre configuration et rechargez :
| sudo nginx -t sudo systemctl reload nginx |
Ajuster les paramètres PHP
Nextcloud dépend de PHP avec certains paramètres spécifiques. Modifiez-les en éditant le fichier de configuration PHP approprié :
Pour Apache avec PHP :
| sudo nano /etc/php/8.3/apache2/php.ini |
Pour Nginx avec PHP-FPM :
| sudo nano /etc/php/8.3/fpm/php.ini |
Dans le fichier, ajustez les paramètres suivants :
- memory_limit (par exemple, 512M)
- upload_max_filesize (par exemple, 100M)
- post_max_size (par exemple, 100M)
- max_execution_time (par exemple, 360)
Après avoir effectué les modifications, redémarrez les services concernés :
- Apache :
| sudo service apache2 restart |
- PHP-FPM :
| sudo systemctl restart php8.3-fpm |
Votre serveur web est configuré et PHP est optimisé. Passons à l'étape suivante : mettre en place la base de données qui stockera toutes vos données Nextcloud.
Étape 3 : Configuration de la base de données
Le système et le serveur web sont prêts. Il faut maintenant créer une base de données pour votre installation Nextcloud : une base dédiée et un utilisateur avec les droits appropriés. Voici comment procéder :
1. Installer le serveur MariaDB
Commencez par installer le paquet serveur MariaDB :
| sudo apt install mariadb-server -y |
2. Sécuriser l'installation MariaDB
Exécutez le script de sécurité pour supprimer les paramètres par défaut non sécurisés :
| sudo mysql_secure_installation |
Le script vous invite à définir un mot de passe root et à répondre à quelques questions de sécurité. Il est recommandé de répondre 'Y' (oui) à toutes les invites.
3. Se connecter au shell MariaDB
Accédez au shell MariaDB en tant qu'utilisateur root :
| sudo mysql -u root -p |
Saisissez le mot de passe root défini lors de la procédure de sécurisation.
4. Créer une nouvelle base de données pour Nextcloud
Dans le shell MariaDB, exécutez la commande suivante pour créer une base de données nommée Nextcloud :
| CREATE DATABASE Nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; |
5. Créer un utilisateur dédié à la base de données
Créez un nouvel utilisateur Nextclouduser avec un mot de passe fort. Remplacez your_password_here par un mot de passe sécurisé de votre choix :
| CREATE USER 'Nextclouduser'@'localhost' IDENTIFIED BY 'your_password_here'; |
6. Accorder les privilèges nécessaires à l'utilisateur
Accordez tous les privilèges sur la base de données Nextcloud à l'utilisateur Nextclouduser :
| GRANT ALL PRIVILEGES ON Nextcloud.* TO 'Nextclouduser'@'localhost'; |
7. Appliquer les modifications
Actualisez les privilèges pour que toutes les modifications prennent effet :
| VIDER LES PRIVILÈGES; |
8. Quitter le shell MariaDB
Quittez le shell MariaDB en tapant :
| EXIT; |
La base de données est maintenant configurée. Vous pouvez passer à l'étape suivante : l'installation de Nextcloud. Cela implique de télécharger les fichiers Nextcloud et de les configurer pour se connecter à la base de données que vous venez de créer.
Étape 4 : Téléchargement et installation de Nextcloud
Cette étape consiste à installer la dernière version de Nextcloud sur votre système. Deux options s'offrent à vous : l'une via Docker (idéale pour une configuration conteneurisée), l'autre suivant une installation manuelle classique.
Méthode 1 : Utiliser l'image officielle Docker
Pour une approche conteneurisée, exécutez les commandes suivantes :
Récupérer l'image Docker de Nextcloud :
Téléchargez la dernière image Docker de Nextcloud depuis Docker Hub :
| docker pull Nextcloud |
Créer un fichier Docker Compose :
Pour simplifier la gestion, créez un fichier docker-compose.yml avec le contenu suivant :
| version: '3'
services: volumes: |
Lancer les conteneurs :
Exécutez cette commande pour démarrer vos conteneurs Nextcloud et base de données en arrière-plan :
| docker-compose up -d |
Méthode 2 : Installation manuelle depuis l'archive Nextcloud
Si vous préférez gérer les fichiers directement, voici comment procéder :
Télécharger la dernière version :
Récupérez la dernière archive tar de Nextcloud :
| wget https://download.Nextcloud.com/server/releases/latest.tar.bz2 |
Extraire l'archive :
Décompressez le fichier téléchargé :
| tar -xjf latest.tar.bz2 |
Déplacer le dossier Nextcloud :
Transférez le dossier extrait vers votre répertoire web :
| sudo mv Nextcloud /var/www/Nextcloud |
Définir les permissions correctes :
Ajustez les permissions pour que votre serveur web puisse accéder aux fichiers :
| sudo chown -R www-data:www-data /var/www/Nextcloud |
Choisissez la méthode qui correspond le mieux à votre façon de travailler. L'approche Docker propose une configuration simplifiée via Docker Compose pour Nextcloud, tandis que la méthode manuelle vous donne un contrôle direct sur les fichiers. Mieux encore, les Docker VPS plans de Cloudzy constituent une plateforme efficace pour déployer Nextcloud via Docker, ce qui simplifie le processus de configuration.
Nous allons maintenant configurer Nextcloud lui-même : mise en place de votre hôte virtuel, activation de SSL, et plus encore, pour finaliser votre expérience de stockage cloud auto-hébergé.
Étape 5 : Configuration de Nextcloud
Maintenant que vous avez téléchargé et installé Nextcloud, il est temps de configurer un hôte virtuel Apache et de sécuriser votre site avec SSL pour accéder à votre stockage cloud auto-hébergé via un domaine dédié.
Création d'un fichier d'hôte virtuel Apache
Créez un fichier de configuration pour Nextcloud :
| sudo nano /etc/apache2/sites-available/Nextcloud.conf |
Collez la configuration suivante :
Adaptez DocumentRoot et ServerName à votre environnement (par exemple, remplacez cloud.example.com par votre domaine ou l'adresse IP de votre serveur) :
| <VirtualHost *:80> DocumentRoot /var/www/Nextcloud/ ServerName cloud.example.com<Directory /var/www/Nextcloud/> Exiger tous les accords Autoriser le remplacement de tout Options FollowSymLinks MultiViews<IfModule mod_dav.c> Dav off </IfModule> </Directory> </VirtualHost> |
Activation de la nouvelle configuration
Indiquez à Apache votre nouvelle configuration :
| sudo a2ensite Nextcloud.conf |
Rechargez Apache :
Appliquez les modifications en rechargeant Apache :
| sudo systemctl reload apache2 |
Sécurisation de votre site avec SSL
Pour un accès sécurisé, vous pouvez configurer SSL. Deux approches sont couramment utilisées : utiliser un certificat auto-signé ou obtenir un certificat via Let's Encrypt.
Option 1 : certificat auto-signé
Activez le module SSL :
| sudo a2enmod ssl |
Activer le site SSL par défaut :
| sudo a2ensite default-ssl |
Rechargez Apache :
| sudo systemctl reload apache2 |
Option 2 : Certificat Let's Encrypt (recommandé pour les serveurs publics)
Installer Certbot et le plugin Apache :
| sudo apt install certbot python3-certbot-apache -y |
- Obtenir et installer le certificat :
Remplacez cloud.example.com par votre domaine :
| sudo certbot –apache -d cloud.example.com |
Suivez les instructions à l'écran pour finaliser le processus.
Une fois votre hôte virtuel Apache configuré et SSL en place, votre instance Nextcloud est prête à accepter des connexions sécurisées depuis le domaine de votre choix. Nous allons maintenant configurer la base de données pour stocker vos données Nextcloud, ce qui relie tous les éléments entre eux pour une expérience cloud auto-hébergé fonctionnelle.
Étape 6 : Finalisation de l'installation
Votre serveur web et PHP sont configurés. Il est temps de terminer l'installation. Considérez cette étape comme la dernière ligne droite avant de mettre votre projet en ligne.
Ajuster les permissions des fichiers :
Avant de lancer l'assistant d'installation, exécutez la commande suivante pour vous assurer que le serveur web peut accéder à tous les fichiers Nextcloud :
| sudo chown -R www-data:www-data /var/www/Nextcloud/ |
Accéder à Nextcloud depuis votre navigateur :
Ouvrez votre navigateur et saisissez le URL de votre instance Nextcloud, par exemple :
| http://your-server-ip/Nextcloud |
Cela chargera l'assistant d'installation Nextcloud, une interface claire qui vous guide pas à pas jusqu'à la fin de la configuration.
Terminer l'assistant d'installation :
L'assistant vous demandera de renseigner :
- Les informations de votre base de données (hôte, nom, utilisateur et mot de passe). Dans une configuration Docker, l'hôte de la base de données est souvent le nom d'un conteneur ou localhost.
- Un nom d'utilisateur et un mot de passe administrateur pour votre instance Nextcloud.
Suivez les instructions à l'écran, puis cliquez sur le bouton « Terminer la configuration » une fois que vous avez terminé.
Une fois l'assistant terminé, votre serveur Nextcloud finalisera sa configuration et vous serez accueilli par votre tout nouveau tableau de bord Nextcloud. Nous passerons ensuite à la configuration post-installation : tâches cron, mise en cache et ajustements de sécurité pour maintenir votre instance en bon état de marche.
Étape 7 : Configuration post-installation
Une fois l'assistant d'installation web de Nextcloud terminé, quelques ajustements permettent d'optimiser les tâches planifiées, les performances et la sécurité. Cette partie couvre la mise en place des tâches en arrière-plan, l'intégration de la mise en cache avec Redis et le renforcement de votre instance Nextcloud.
Activation des tâches planifiées avec Cron
Pour que votre Nextcloud fonctionne correctement, planifiez les tâches en arrière-plan. Configurez une tâche cron pour exécuter le script cron de Nextcloud toutes les cinq minutes. Ouvrez le crontab de l'utilisateur du serveur web (généralement www-data) :
| sudo crontab -u www-data -e |
Ajoutez ensuite cette ligne à la fin du fichier :
| */5 * * * * php -f /var/www/Nextcloud/cron.php |
Enregistrez et fermez l'éditeur. Cette tâche s'occupera du nettoyage des fichiers temporaires, de l'envoi des notifications et d'autres opérations de maintenance.
Installation et configuration de Redis pour la mise en cache
Redis accélère votre instance Nextcloud en mettant les données en cache et en améliorant les performances de verrouillage des fichiers. Commencez par installer Redis et l'extension PHP pour Redis :
| sudo apt install redis-server php-redis -y |
Mettez ensuite à jour le fichier de configuration de Nextcloud (généralement situé dans /var/www/Nextcloud/config/config.php) pour y inclure les paramètres de mise en cache. Ajoutez ces lignes dans le tableau $CONFIG :
| 'memcache.local' => '\\OC\\Memcache\\APCu', 'memcache.locking' => '\\OC\\Memcache\\Redis', 'redis' => array( 'host' => 'localhost', 'port' => 6379, ), |
Cette configuration indique à Nextcloud d'utiliser APCu pour la mise en cache locale et Redis pour le verrouillage des fichiers, ce qui améliore les performances et la fiabilité.
Renforcement de la sécurité de Nextcloud
Quelques mesures supplémentaires pour renforcer la sécurité de votre installation :
- Définir les permissions correctes :
Ajustez les droits et les permissions du répertoire Nextcloud pour restreindre les accès :
| sudo chown -R www-data:www-data /var/www/Nextcloud sudo find /var/www/Nextcloud/ -type d -exec chmod 750 {} \; sudo find /var/www/Nextcloud/ -type f -exec chmod 640 {} \; |
- Exécuter les commandes du mode maintenance :
Activez temporairement le mode maintenance pour effectuer des vérifications de sécurité supplémentaires ou appliquer des mises à jour de configuration :
| sudo -u www-data php /var/www/Nextcloud/occ maintenance:mode --on # (Effectuez ici les tâches de maintenance nécessaires) sudo -u www-data php /var/www/Nextcloud/occ maintenance:mode --off |
- Vérifiez vos configurations de serveur web :
Assurez-vous que vos paramètres Apache ou Nginx imposent HTTPS et restreignent les accès non autorisés selon vos besoins.
Une fois ces dernières étapes complétées, votre instance Nextcloud gérera efficacement les tâches en arrière-plan, bénéficiera de meilleures performances grâce à la mise en cache, et sera mieux protégée contre les menaces de sécurité.
Conclusion
Vous avez mené votre configuration Nextcloud Docker de la page blanche à une solution de stockage cloud auto-hébergée pleinement opérationnelle. Votre système est à jour, les dépendances sont installées, et votre serveur web ainsi que PHP sont finement configurés : votre environnement Nextcloud Ubuntu est prêt à servir de hub personnel de partage de fichiers.
Au fil de vos ajustements, que vous testiez des configurations avancées ou explorez de nouvelles applications Nextcloud, le choix de votre hébergeur compte. Un hébergement VPS fiable et abordable VPS comme Cloudzy garantit que votre instance Nextcloud reste sécurisée et réactive, offrant une base solide pour vos besoins de stockage cloud.
Pour plus de sérénité, consultez les recommandations de sécurité officielles sur Renforcement de la sécurité Nextcloud et les recommandations de sauvegarde sur Guide de sauvegarde Nextcloud. Ces ressources vous aident à protéger vos données et à maintenir votre serveur en bon état de fonctionnement.