Beaucoup s'éloignent des options traditionnelles telles que Google Drive ou Dropbox au profit de solutions auto-hébergées qui vous permettent de gérer vos données selon vos propres conditions, et Nextcloud est une option solide.
Cet article vous guidera à travers un didacticiel complet, étape par étape, sur la façon d'installer Nextcloud Docker sur les systèmes Ubuntu et Debian. Il couvrira tout, de la mise à jour de votre système et de l'installation des dépendances à la configuration de votre serveur Web et de PHP, en passant par la configuration de la base de données et la finalisation de l'installation avec Nextcloud Docker Compose.
Pourquoi auto-héberger Nextcloud ?
L'auto-hébergement Nextcloud signifie prendre le contrôle de votre propre solution de stockage cloud au lieu de compter sur des services traditionnels comme Google Drive ou Dropbox. Avec Nextcloud, vous avez la liberté de stocker et de partager des fichiers selon vos conditions, vous donnant la pleine propriété de vos données et un contrôle total sur les paramètres de confidentialité.
Pour de nombreux utilisateurs, la possibilité de modifier et d’améliorer la plate-forme via des plugins et des intégrations constitue un attrait important. En utilisant Nextcloud Docker et Nextcloud Docker Compose, vous pouvez déployer rapidement un système de partage de fichiers fiable et sécurisé sur les systèmes populaires car Nextcloud Ubuntu et Nextcloud Debian sont disponibles.
Cette configuration est une solution pratique si vous souhaitez installer Nextcloud sans être lié aux limitations des services tiers. Le processus d'installation du docker Nextcloud est conçu pour être simple, permettant même à ceux qui ne sont pas des administrateurs système chevronnés de se lancer dans l'auto-hébergement.
L'adoption d'une installation Nextcloud Docker peut également permettre d'économiser de l'argent par rapport aux solutions cloud commerciales, puisque vous payez principalement pour votre propre matériel ou instance de serveur. De plus, les options de personnalisation disponibles, comme l'ajustement des paramètres PHP ou l'intégration d'une base de données MySQL, vous permettent d'adapter l'environnement à vos besoins spécifiques.
Si vous vous demandez comment installer Nextcloud Docker, il existe une multitude de supports et de ressources communautaires qui proposent des exemples de fichiers de composition de Nextcloud Docker, ce qui rend le processus à la fois éducatif et enrichissant.
Conditions préalables
Avant de vous lancer dans le processus d’installation, il est judicieux d’avoir votre environnement en bon état. Cette section couvre les bases, de la configuration système requise et de la configuration du serveur aux dépendances logicielles pour une installation fluide du Docker Nextcloud :
| Composant | Exigences/Options | Remarques |
| Système opérateur | 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 populaire |
| Architecture du processeur et du système d'exploitation | 64 bits | Assurez-vous que le processeur, le système d'exploitation et PHP sont 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 Mo de RAM par processus ; Recommandé : 512 Mo par processus ; Programme de mise à jour : 256 Mo | Ajuster en fonction de l'utilisation |
| Accéder | Accès root ou sudo | Requis pour les ajustements au niveau du système |
| Outils de conteneur | Docker, Docker Composer | Simplifie l'installation et la gestion |
| Serveur Web | Apache 2.4 (avec mod_php ou php-fpm recommandé) ou nginx avec php-fpm | Choisissez en fonction des besoins personnels ou organisationnels |
| Base de données | MySQL (8.0/8.4), MariaDB (10.6/10.11 recommandé ou 11.4) ou PostgreSQL | Doit prendre en charge le niveau d'isolement InnoDB et READ COMMITTED |
Étape 1 : Mettez à jour et préparez votre système
Avant de configurer votre instance Nextcloud Docker, prenez un moment pour mettre à jour votre système et installer tous les outils nécessaires. Pensez à cela comme à ranger votre espace de travail avant de vous lancer dans un projet amusant. Suivez ces commandes sur votre serveur Nextcloud Ubuntu :
Actualisez votre liste de packages et mettez à niveau vos packages :
Mettez à jour vos référentiels de packages et mettez à niveau les packages installés avec ces commandes :
| sudo apt mise à jour sudo apt mise à niveau -y |
Installez Docker, Docker Compose et les utilitaires utiles :
Obtenez Docker, Docker Compose et d'autres utilitaires pratiques tels que curl, wget et build-essential en exécutant :
| sudo apt install docker.io docker-compose curl wget build-essential -y |
(Facultatif) Ajoutez votre utilisateur au groupe Docker :
Cette étape vous permet d'exécuter des commandes Docker sans ajouter sudo à chaque fois :
| sudo usermod -aG docker $USER |
Après avoir exécuté cette commande, déconnectez-vous et reconnectez-vous pour appliquer les modifications.
Vérifiez les installations :
Vérifiez que Docker et Docker Compose sont correctement installés :
| docker-version docker-compose –version |
Il est également fortement recommandé de garder un œil sur vos journaux Docker pour le dépannage, que vous pouvez vérifier et gérer en suivant ces étapes.
Maintenant que votre système est mis à jour et que toutes les dépendances sont en place, il est indispensable de sélectionner une solution d'hébergement fiable. Offres Cloudzy VPS ultra-rapide services avec jusqu'à 240 Go de stockage SSD NVMe (jusqu'à 2 To avec notre VPS GPU) et une disponibilité de 99,95 %, ce qui en fait un excellent choix pour héberger votre instance Nextcloud.
Ensuite, nous configurerons votre serveur Web et ajusterons les paramètres PHP pour nous assurer que tout fonctionne correctement avec votre instance Nextcloud Docker.
Étape 2 : Configuration d'Apache/Nginx et PHP
Maintenant que votre système est prêt, il est temps de préparer le terrain en configurant votre serveur Web et PHP. Cette section vous guide dans la configuration d'Apache et Nginx ainsi que dans les ajustements PHP qui permettent à votre Nextcloud de fonctionner correctement dans Docker.
Configuration d'Apache
Si vous utilisez Apache, procédez comme suit :
Créez un fichier de configuration :
- Ouvrez un nouveau fichier pour Nextcloud :
| sudo nano /etc/apache2/sites-available/Nextcloud.conf |
- Dans ce fichier, ajoutez quelque chose comme :
| Alias /Nextcloud « /var/www/Nextcloud/ »
<Répertoire /var/www/Nextcloud/> <IfModule mod_dav.c> |
Activez le site :
- Activez votre nouvelle configuration :
| sudo a2ensite Nextcloud.conf |
Activez les modules Apache requis :
- Exécutez ces commandes pour activer les modules nécessaires :
| réécriture sudo a2enmod en-têtes sudo a2enmod sudo a2enmod env répertoire sudo a2enmod sudo a2enmod mime |
Si vous envisagez d'utiliser PHP-FPM avec Apache (en utilisant mod_fcgi), activez également :
| sudo a2enmod setenvif |
Activer SSL (facultatif) :
- Pour une connexion sécurisée, activez SSL avec :
| sudo a2enmod ssl sudo a2ensite par défaut-ssl rechargement du service sudo apache2 |
Configuration de Nginx
- Pour les utilisateurs de Nginx, la configuration implique la création d'un bloc serveur :
Créez un fichier de bloc serveur :
- Ouvrez un nouveau fichier :
| sudo nano /etc/nginx/sites-available/Nextcloud |
- Collez un exemple de configuration comme :
| serveur { écoutez 80 ; nom_serveur votre-adresse-ip-serveur ou cloud.example.com;root /var/www/Nextcloud/; index index.php index.html /index.php$request_uri;location / { try_files $uri $uri/ /index.php?$args; }emplacement ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/run/php/php8.3-fpm.sock; fastcgi_index index.php; inclure fastcgi_params ; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } } |
Activez la configuration :
- Créez un lien symbolique pour activer le site :
| sudo ln -s /etc/nginx/sites-available/Nextcloud /etc/nginx/sites-enabled/ |
Testez et rechargez Nginx :
- Vérifiez votre configuration et rechargez :
| sudo nginx -t sudo systemctl recharger nginx |
Modifier les paramètres PHP
Nextcloud dépend de PHP avec certains paramètres. Ajustez-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 tels que :
- limite_mémoire (par exemple, 512 M)
- upload_max_filesize (par exemple, 100 M)
- post_max_size (par exemple, 100 M)
- max_execution_time (par exemple, 360)
Après avoir apporté les modifications, redémarrez les services respectifs :
- Apache :
| sudo service apache2 redémarrage |
- PHP-FPM :
| sudo systemctl redémarrer php8.3-fpm |
Une fois votre serveur Web configuré et PHP affiné, vous êtes prêt pour l'étape suivante : configurer la base de données pour contenir toutes vos données Nextcloud.
Étape 3 : configuration de la base de données
Une fois votre système et votre serveur Web configurés, l'étape suivante consiste à configurer une base de données pour votre installation Nextcloud. Cela implique la création d'une base de données et d'un utilisateur dédié avec les privilèges appropriés. Voici comment procéder :
1. Installez le serveur MariaDB
Tout d'abord, installez le package du serveur MariaDB :
| sudo apt install mariadb-server -y |
2. Sécurisez l'installation de MariaDB
Exécutez le script de sécurité pour supprimer les paramètres par défaut non sécurisés :
| sudo mysql_secure_installation |
Vous serez invité à définir un mot de passe root et à faire d'autres choix liés à la sécurité. Il est recommandé de répondre « Y » (oui) à toutes les invites.
3. Connectez-vous au shell MariaDB
Accédez au shell MariaDB en tant qu'utilisateur root :
| sudo mysql -u racine -p |
Entrez le mot de passe root que vous avez défini lors du processus d'installation sécurisée.
4. Créez 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 :
| CRÉER UNE BASE DE DONNÉES Nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci ; |
5. Créez un utilisateur de base de données dédié
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 :
| CRÉER UN UTILISATEUR 'Nextclouduser'@'localhost' IDENTIFIÉ PAR '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 Nextcloud :
| ACCORDEZ TOUS LES PRIVILÈGES SUR Nextcloud.* À 'Nextclouduser'@'localhost' ; |
7. Appliquer les modifications
Videz les privilèges pour vous assurer que toutes les modifications prennent effet :
| PRIVILÈGES FLUSH ; |
8. Quittez le shell MariaDB
Quittez le shell MariaDB en tapant :
| SORTIE; |
Une fois la base de données configurée et configurée, vous êtes maintenant prêt à passer à l'étape suivante : installer Nextcloud. Cela impliquera 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 et à la configurer. Vous avez ici deux options : une utilisant Docker (idéale pour une configuration conteneurisée) et une autre suite à une installation manuelle plus traditionnelle.
Méthode 1 : utilisation de l'image Docker officielle
Si vous préférez une approche conteneurisée, suivez ces commandes :
Extrayez l'image Docker Nextcloud :
Téléchargez la dernière image Nextcloud Docker depuis Docker Hub :
| docker extraire Nextcloud |
Créez un fichier de composition Docker :
Pour une expérience de gestion plus simple, créez un fichier appelé docker-compose.yml avec le contenu suivant :
| version : '3'
services: tomes : |
Lancez les conteneurs :
Exécutez cette commande pour démarrer vos conteneurs Nextcloud et de base de données en arrière-plan :
| docker-compose up -d |
Méthode 2 : installation manuelle à partir de l'archive Nextcloud
Si vous préférez gérer les fichiers directement, voici comment procéder :
Téléchargez la dernière version :
Récupérez la dernière archive tar Nextcloud :
| wget https://download.Nextcloud.com/server/releases/latest.tar.bz2 |
Extrayez l'archive :
Décompressez le fichier téléchargé :
| tar -xjf dernier.tar.bz2 |
Déplacez le dossier Nextcloud :
Transférez le dossier extrait vers votre répertoire Web :
| sudo mv Nextcloud /var/www/Nextcloud |
Définir les autorisations correctes :
Ajustez la propriété 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 style. L'approche Docker offre une configuration simple à l'aide de Nextcloud Docker Compose, tandis que la méthode manuelle vous donne un contrôle direct sur les fichiers. Encore mieux, en utilisant Cloudzy VPS Docker plans crée une plate-forme efficace pour déployer Nextcloud via Docker, facilitant ainsi le processus de configuration.
Nous aborderons ensuite la configuration de Nextcloud lui-même (configuration de votre hôte virtuel, activation de SSL, etc.) pour compléter votre expérience cloud auto-hébergée.
É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 afin que vous puissiez 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 :
Ajustez DocumentRoot et ServerName en fonction de votre configuration (par exemple, en remplaçant cloud.example.com par l'adresse IP de votre domaine ou de votre serveur) :
| <Hôte Virtuel *:80> DocumentRoot /var/www/Nextcloud/ Nom du serveur cloud.example.com<Directory /var/www/Nextcloud/> Exiger que tout soit accordé Autoriser tout remplacer Options FollowSymLinks MultiViews<IfModule mod_dav.c> Dav off </SiModule> </Répertoire> </HôteVirtuel> |
Activation de la nouvelle configuration
Informez Apache de votre nouvelle configuration :
| sudo a2ensite Nextcloud.conf |
Recharger Apache :
Appliquez les modifications en rechargeant Apache :
| sudo systemctl recharger apache2 |
Sécuriser votre site avec SSL
Pour un accès sécurisé, vous pouvez configurer SSL. Il existe deux approches courantes : 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 |
Activez le site SSL par défaut :
| sudo a2ensite par défaut-ssl |
Recharger Apache :
| sudo systemctl recharger apache2 |
Option 2 : Chiffrer le certificat (recommandé pour les serveurs publics)
Installez Certbot et le plugin Apache :
| sudo apt install certbot python3-certbot-apache -y |
- Obtenez et installez le certificat :
Remplacez cloud.example.com par votre domaine :
| sudo certbot –apache -d cloud.example.com |
Suivez les invites pour terminer le processus.
Avec votre hôte virtuel Apache configuré et SSL en place, votre instance Nextcloud est configurée pour servir des connexions sécurisées à partir du domaine que vous avez choisi. Ensuite, nous passerons à la configuration de la base de données pour stocker vos données Nextcloud, qui relie le tout pour une expérience cloud auto-hébergée fluide.
Étape 6 : Finalisation de la configuration
Maintenant que votre serveur Web et PHP sont configurés, il est temps de terminer votre installation. Cette étape revient à ajouter la touche finale à votre projet avant de le dévoiler au monde.
Ajustez les autorisations de 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édez à Nextcloud via votre navigateur :
Ouvrez votre navigateur et saisissez l'URL de votre instance Nextcloud, telle que :
| http://your-server-ip/Nextcloud |
Cela chargera l'assistant d'installation de Nextcloud, une interface conviviale qui vous guidera tout au long de la configuration finale.
Complétez l'assistant d'installation :
Dans l'assistant, vous serez invité à saisir :
- Détails 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 défini comme nom de conteneur ou localhost.
- Un nom d'utilisateur et un mot de passe administrateur pour votre instance Nextcloud.
Suivez les instructions à l'écran et cliquez sur le bouton « Terminer la configuration » lorsque vous avez terminé.
Une fois l'assistant terminé, votre serveur Nextcloud terminera sa configuration et vous serez accueilli par votre tout nouveau tableau de bord Nextcloud. Ensuite, nous passerons à la configuration des paramètres post-installation tels que les tâches cron, la mise en cache et les ajustements de sécurité pour assurer le bon fonctionnement de votre instance.
Étape 7 : Configuration post-installation
Après avoir terminé l'assistant d'installation Web de Nextcloud, quelques derniers ajustements peuvent aider à affiner les tâches planifiées, les performances et la sécurité. Cette partie concerne la configuration 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 Cron pour les tâches planifiées
Pour que votre Nextcloud continue de fonctionner correctement, c'est une bonne idée de planifier des tâches en arrière-plan. Configurez une tâche cron pour exécuter le script cron Nextcloud toutes les cinq minutes. Ouvrez la crontab pour 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. Ce travail gérera des tâches telles que le nettoyage des fichiers temporaires, l'envoi de notifications et d'autres routines de maintenance.
Installation et configuration de Redis pour la mise en cache
L'utilisation de Redis peut accélérer votre instance Nextcloud en mettant en cache les données et en améliorant les performances de verrouillage des fichiers. D'abord, installer Redis et l'extension PHP pour Redis :
| sudo apt installer redis-server php-redis -y |
Ensuite, mettez à jour votre fichier de configuration Nextcloud (généralement trouvé dans /var/www/Nextcloud/config/config.php) pour 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' => tableau ( 'hôte' => 'localhost', 'port' => 6379, ), |
Cette configuration indique à Nextcloud d'utiliser APCu pour la mise en cache locale et Redis pour le verrouillage des fichiers, améliorant ainsi les performances et la fiabilité.
Renforcement des paramètres de sécurité Nextcloud
Quelques mesures supplémentaires peuvent renforcer la sécurité de votre installation :
- Définir les autorisations de fichiers correctes :
Ajustez la propriété et les autorisations de votre répertoire Nextcloud pour restreindre l'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écutez les commandes du mode maintenance :
Activez temporairement le mode maintenance pour effectuer des contrôles de sécurité supplémentaires ou des mises à jour de configuration :
| sudo -u www-data php /var/www/Nextcloud/occ maintenance:mode –on # (Effectuez ici toutes les tâches de maintenance nécessaires) sudo -u www-data php /var/www/Nextcloud/occ maintenance:mode –off |
- Vérifiez les configurations de votre serveur Web :
Confirmez que vos paramètres Apache ou Nginx appliquent HTTPS et restreignent les accès non autorisés si nécessaire.
Avec ces dernières étapes, votre instance Nextcloud gérera efficacement les tâches en arrière-plan, bénéficiera de performances améliorées grâce à la mise en cache et sera mieux protégée contre les menaces de sécurité potentielles.
Pensées finales
Vous avez maintenant fait passer votre configuration Docker Nextcloud d'une toile vierge à une solution de stockage cloud auto-hébergée entièrement fonctionnelle. Avec votre système mis à jour, les dépendances installées et le serveur Web ainsi que PHP finement réglés, votre environnement Nextcloud Ubuntu est prêt à servir de hub de partage de fichiers personnel.
Alors que vous continuez à affiner votre configuration, à expérimenter des configurations avancées ou à explorer de nouvelles applications Nextcloud, il est utile de prendre en compte votre fournisseur d'hébergement. Un système fiable et VPS abordable comme Cloudzy garantit que votre instance Nextcloud reste sécurisée et réactive, ce qui en fait une base concrète pour vos besoins de stockage cloud.
Pour plus de tranquillité d’esprit, il est sage de consulter les consignes de sécurité officielles sur Renforcement de la sécurité Nextcloud et recommandations de sauvegarde sur Guide de sauvegarde Nextcloud. Ces ressources vous aident à assurer la sécurité de vos données et le bon fonctionnement de votre serveur.