Comment installer Nextcloud sur un VPS
Écrit par l'équipe ApexVPS • Dernière mise à jour : juillet 2026 • Lecture de 9 min
Ce guide de configuration nextcloud vps vous accompagne dans l'hébergement de votre propre cloud privé — fichiers, calendriers, contacts et photos — sur un serveur que vous contrôlez entièrement. Exécuter Nextcloud sur un VPS vous offre des ressources dédiées, un accès root complet et aucun abonnement par utilisateur, afin que vos données restent les vôtres. Vous trouverez ci-dessous les prérequis, deux méthodes d'installation éprouvées (Docker Compose ou une pile LAMP manuelle), comment ajouter HTTPS avec Let's Encrypt, ainsi que les étapes de réglage et de sauvegarde pour garder le serveur rapide et sécurisé. Chaque commande cible un serveur Ubuntu ou Debian fraîchement installé.
Pourquoi auto-héberger Nextcloud sur un VPS ?
Nextcloud est une plateforme open-source qui remplace Google Drive, Dropbox et une grande partie d'une suite de productivité par un logiciel que vous exécutez vous-même. Un VPS est son environnement naturel : contrairement à l'hébergement mutualisé, vous disposez d'un accès root, d'un coût mensuel fixe et de performances prévisibles. Sur un VPS véritablement dédié, il n'y a pas de voisins bruyants en compétition pour le CPU, ce qui importe lorsque plusieurs personnes synchronisent des fichiers en même temps. Si vous évaluez quels services méritent d'être auto-hébergés, notre aperçu du choix d'un VPS pour l'auto-hébergement compare les charges de travail courantes et la marge de manœuvre nécessaire pour chacune.
Prérequis avant de commencer
Vous avez besoin de trois choses : un VPS avec Ubuntu 22.04/24.04 ou Debian 12, un nom de domaine dont vous pouvez modifier les DNS, et un accès SSH au serveur en tant qu'utilisateur avec sudo. Un domaine n'est pas strictement requis pour les tests, mais vous ne pouvez pas émettre un certificat TLS de confiance sans lui, alors considérez-le comme obligatoire pour une utilisation réelle.
Choisir la bonne taille de VPS
La taille dépend du nombre de personnes qui utilisent le serveur et de si vous stockez des médias. Pour un utilisateur unique ou une famille qui synchronise des documents, 2 vCPU et 4 Go de RAM sont confortables. Dès que vous ajoutez les applications Photos, Memories ou médias, ou que vous accueillez plus d'une poignée de comptes actifs, passez à un plan Business ou supérieur — la RAM supplémentaire, le NVMe plus rapide et les snapshots horaires rendent la génération de vignettes et les aperçus bien plus fluides. Vous pouvez comparer les offres sur notre page de tarification VPS ; monter en gamme plus tard est rapide, il est donc acceptable de commencer modestement et de grandir.
Pointez votre domaine vers le serveur
Créez un enregistrement A (et un enregistrement AAAA si vous utilisez IPv6) qui pointe un nom d'hôte tel que cloud.example.com vers l'adresse IP publique de votre serveur. La propagation DNS peut prendre un certain temps. Confirmez qu'il résout avant de demander un certificat :
dig +short cloud.example.com
Méthode 1 — Nextcloud avec Docker Compose
Les conteneurs sont le moyen le plus rapide d'obtenir une installation propre et reproductible, et ils isolent Nextcloud, sa base de données et son cache du reste du système. Si les conteneurs sont nouveaux pour vous, notre guide du débutant sur Docker sur un VPS couvre les fondamentaux d'abord. Installez Docker à l'aide du script de commodité officiel, puis ajoutez votre utilisateur au groupe docker :
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
# log out and back in so the group change takes effect
Créez un dossier de projet et un compose.yaml qui exécute Nextcloud avec MariaDB et Redis. L'application est liée à 127.0.0.1:8080 afin qu'elle ne soit accessible que via le proxy inverse que vous ajouterez plus tard, pas directement depuis Internet :
mkdir ~/nextcloud && cd ~/nextcloud
nano compose.yaml
services:
db:
image: mariadb:10.11
restart: always
command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
volumes:
- db:/var/lib/mysql
environment:
- MARIADB_ROOT_PASSWORD=change-this-root-password
- MYSQL_PASSWORD=change-this-db-password
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
redis:
image: redis:alpine
restart: always
app:
image: nextcloud:apache
restart: always
ports:
- "127.0.0.1:8080:80"
depends_on:
- db
- redis
volumes:
- nextcloud:/var/www/html
environment:
- MYSQL_HOST=db
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_PASSWORD=change-this-db-password
- REDIS_HOST=redis
volumes:
db:
nextcloud:
Démarrez la pile et vérifiez que les trois conteneurs démarrent :
docker compose up -d
docker compose ps
Nextcloud écoute maintenant sur localhost:8080. Passez à la section TLS pour l'exposer de manière sécurisée via HTTPS.
Méthode 2 — Installation manuelle sur une pile LAMP
Si vous préférez gérer les composants vous-même, une installation classique Linux, Apache, MariaDB et PHP (LAMP) vous donne un contrôle total. Mettez à jour le système et installez le serveur web, la base de données et les extensions PHP dont Nextcloud a besoin :
sudo apt update && sudo apt upgrade -y
sudo apt install -y apache2 mariadb-server libapache2-mod-php unzip \
php php-gd php-mysql php-curl php-mbstring php-intl php-xml \
php-zip php-bcmath php-gmp php-imagick
Sécurisez la base de données, puis créez une base de données et un utilisateur dédiés :
sudo mysql_secure_installation
sudo mysql -u root -p
CREATE DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'nextcloud'@'localhost' IDENTIFIED BY 'change-this-db-password';
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Téléchargez la dernière version dans la racine web et définissez les permissions pour qu'Apache puisse y écrire :
cd /var/www
sudo wget https://download.nextcloud.com/server/releases/latest.zip
sudo unzip latest.zip
sudo chown -R www-data:www-data /var/www/nextcloud
Créez un hôte virtuel Apache pour votre domaine, activez-le ainsi que les modules nécessaires à Nextcloud, puis rechargez :
sudo a2enmod rewrite headers env dir mime
sudo a2ensite nextcloud.conf
sudo systemctl reload apache2
Sécurisez-le avec TLS (Let's Encrypt)
Ne faites jamais fonctionner Nextcloud sur du HTTP non chiffré — les connexions et les fichiers voyageraient sans cryptage. Certbot du projet Let's Encrypt délivre un certificat gratuit et fiable et le renouvelle automatiquement. Pour l'installation manuelle d'Apache, utilisez le plug-in Apache :
sudo apt install -y certbot python3-certbot-apache
sudo certbot --apache -d cloud.example.com
Pour la voie Docker, placez Nginx devant comme reverse proxy qui transmet à 127.0.0.1:8080, puis laissez Certbot le sécuriser :
sudo apt install -y nginx certbot python3-certbot-nginx
sudo certbot --nginx -d cloud.example.com
Certbot installe une minuterie systemd qui renouvelle les certificats avant leur expiration. Vous pouvez confirmer le bon renouvellement avec un essai à sec :
sudo certbot renew --dry-run
Configuration initiale
Ouvrez https://cloud.example.com dans un navigateur. Sur l'écran de configuration, créez votre compte administrateur et, pour l'installation manuelle, saisissez le nom de la base de données, l'utilisateur et le mot de passe créés précédemment (l'image Docker est déjà connectée à sa base, elle ignore donc cette étape). Terminez l'assistant et Nextcloud atterrit sur la vue Fichiers. Ajoutez immédiatement votre domaine à la liste des trusted_domains si vous voyez un avertissement — pour Docker, cela signifie modifier la configuration dans le conteneur :
docker compose exec -u www-data app \
php occ config:system:set trusted_domains 1 --value=cloud.example.com
Pour l'installation manuelle, la même commande s'exécute depuis le répertoire d'installation avec sudo -u www-data php /var/www/nextcloud/occ .... L'outil en ligne de commande occ est votre principal point d'entrée pour l'administration à partir de maintenant.
Réglages et tâches de fond
Une installation par défaut fonctionne, mais quelques changements font toute la différence. Passez les tâches de fond de AJAX au cron système pour que les tâches s'exécutent de manière fiable même quand personne n'est connecté. Pour l'installation manuelle, ajoutez une entrée cron pour l'utilisateur web :
sudo crontab -u www-data -e
# add this line, then save:
*/5 * * * * php -f /var/www/nextcloud/cron.php
Définissez ensuite l'option "Cron" sous Administration → Paramètres de base. Autres astuces utiles : augmentez PHP memory_limit à au moins 512M, activez Redis pour le verrouillage des fichiers et le cache (déjà inclus dans le fichier Compose ci-dessus), et définissez une fenêtre de maintenance pour que les tâches lourdes s'exécutent la nuit. Lancer les vérifications intégrées aide à détecter ce qui manque :
sudo -u www-data php /var/www/nextcloud/occ status
sudo -u www-data php /var/www/nextcloud/occ setupchecks
Des sauvegardes que vous pouvez réellement restaurer
Les snapshots de votre VPS sont la première ligne de défense — sauvegardes quotidiennes sur Starter Pro, snapshots horaires sur Business et Enterprise — mais une bonne habitude est une sauvegarde séparée au niveau de l'application que vous pouvez restaurer fichier par fichier. Mettez Nextcloud en mode maintenance, videz la base de données, archivez le répertoire de données, puis désactivez le mode maintenance :
sudo -u www-data php /var/www/nextcloud/occ maintenance:mode --on
mysqldump --single-transaction -u nextcloud -p nextcloud > nextcloud-db.sql
sudo tar -czf nextcloud-data.tar.gz /var/www/nextcloud/data
sudo -u www-data php /var/www/nextcloud/occ maintenance:mode --off
Pour l'installation Docker, exécutez les mêmes appels occ via docker compose exec -u www-data app php occ ... et sauvegardez les volumes nommés. Conservez au moins une copie hors du serveur et testez occasionnellement une restauration — une sauvegarde non testée n'est qu'un espoir.
Pour le garder opérationnel
Mettez à jour Nextcloud via la mise à jour intégrée ou l'interface web peu après chaque version, maintenez le système d'exploitation à jour avec sudo apt upgrade, et examinez le panneau d'avertissements Sécurité et configuration dans la zone d'administration. Avec la protection DDoS, les réseaux privés et la surveillance 24/7 côté infrastructure, et Let's Encrypt ainsi que des mises à jour régulières côté application, un Nextcloud auto-hébergé est une alternative vraiment fiable aux grandes suites cloud.
Questions fréquemment posées
De combien de RAM une configuration VPS Nextcloud a-t-elle besoin ?
Pour un utilisateur ou une famille synchronisant des documents, 4 Go de RAM et 2 vCPU sont confortables. Ajoutez des bibliothèques de photos ou vidéos, la génération d'aperçus ou plusieurs utilisateurs actifs et un plan Business avec 8 Go de RAM et un NVMe plus rapide convient mieux. Enterprise ajoute 16 Go et du NVMe RAID pour des équipes plus grandes.
Dois-je choisir Docker ou l'installation manuelle LAMP ?
Choisissez Docker Compose pour une pile propre et reproductible, facile à déplacer ou reconstruire, et le chemin LAMP manuel si vous préférez gérer Apache, PHP et MariaDB directement. Les deux sont entièrement pris en charge sur un VPS avec accès root ; le résultat final est le même Nextcloud.
Un Nextcloud auto-hébergé est-il sécurisé ?
Oui, s'il est configuré correctement : servez tout sur HTTPS avec un certificat Let's Encrypt, maintenez l'OS et Nextcloud à jour, utilisez des mots de passe forts avec l'authentification à deux facteurs, et comptez sur les sauvegardes de votre VPS. Comme vous l'hébergez vous-même, aucun tiers n'a un accès permanent à vos fichiers.
Ai-je besoin d'un nom de domaine ?
En pratique, oui. Vous pouvez tester avec une adresse IP brute, mais un certificat TLS de confiance exige un domaine, et les clients de synchronisation mobiles et de bureau attendent un nom d'hôte HTTPS correct. Un simple domaine à faible coût avec un enregistrement A pointant vers votre serveur suffit.
Puis-je payer sans carte de crédit ?
Oui. Le paiement chez ApexVPS est exclusivement en crypto via OxaPay, acceptant Bitcoin, Ethereum, USDT et plus de 30 pièces — pas de carte de crédit ni de compte bancaire. L'inscription ne nécessite qu'un e-mail pour envoyer vos informations d'accès, plus des notes facultatives comme une clé SSH ou un OS préféré. Aucun nom, adresse ou KYC n'est requis.