Comment installer Nextcloud sur un VPS : guide complet 2026

Installer Nextcloud sur un VPS représente aujourd'hui la solution privilégiée pour héberger vos propres données cloud en toute souveraineté. Ce tutoriel 2026 détaille les étapes concrètes pour déployer Nextcloud sur un serveur Linux, de la préparation du système à la sécurisation de votre instance, en passant par l'optimisation des performances. Nous couvrirons l'installation sur Ubuntu Server 24.04 LTS, les configurations Apache et PostgreSQL, ainsi que les bonnes pratiques de maintenance.
Nextcloud s'impose comme la référence open source pour le stockage collaboratif auto-hébergé. Contrairement aux solutions propriétaires, vous gardez le contrôle total sur vos fichiers, calendriers, contacts et applications tierces. L'installation sur un VPS Linux OmegaCloud garantit des performances optimales grâce au stockage SSD SAS, un accès root SSH complet et une bande passante généreuse pour le transfert de fichiers volumineux. La page VPS Nextcloud donne le dimensionnement attendu selon le nombre d'utilisateurs actifs.
Prérequis pour installer Nextcloud VPS : choisir la bonne infrastructure
Avant de démarrer l'installation, assurez-vous que votre VPS dispose des ressources minimales recommandées. Nextcloud nécessite au moins 2 vCPU, 4 Go de RAM et 40 Go d'espace disque NVMe pour une utilisation fluide avec 10 à 50 utilisateurs. Pour des déploiements plus importants, privilégiez 4 vCPU et 8 Go de RAM.
Le choix du système d'exploitation est crucial. Ubuntu Server 24.04 LTS offre un support étendu jusqu'en 2029 et intègre nativement PHP 8.3, parfaitement compatible avec Nextcloud Hub 8. Debian 12 constitue également une base stable et éprouvée. Les distributions Enterprise comme Rocky Linux 9 ou AlmaLinux 9 conviennent parfaitement aux environnements professionnels exigeant une traçabilité stricte des mises à jour.
Votre VPS doit disposer d'une connectivité réseau fiable. L'anti-DDoS intégré à l'infrastructure protège automatiquement votre instance contre les attaques volumetriques, sans configuration supplémentaire. Vérifiez que les ports 80 (HTTP) et 443 (HTTPS) sont bien ouverts dans le pare-feu du panel de gestion.
Préparez également un nom de domaine pointant vers l'adresse IP publique de votre VPS. Les enregistrements DNS A (pour le domaine racine) et AAAA (si vous utilisez IPv6) doivent être configurés avec un TTL court (300 secondes) durant la phase d'installation, pour faciliter les tests et modifications.

Installation pas à pas de Nextcloud sur Ubuntu Server 24.04
Connectez-vous en SSH à votre VPS et commencez par mettre à jour le système. Cette étape garantit que tous les paquets de sécurité sont appliqués avant d'installer des services exposés sur Internet.
apt update && apt upgrade -y
apt install curl wget gnupg2 software-properties-common -y
Nextcloud s'appuie sur une stack LAMP (Linux, Apache, MySQL/PostgreSQL, PHP). Nous allons installer Apache 2.4, PostgreSQL 16 et PHP 8.3 avec les extensions requises. PostgreSQL offre de meilleures performances que MariaDB pour les grandes instances Nextcloud, notamment lors de l'indexation de fichiers et de la synchronisation multi-utilisateurs.
apt install apache2 libapache2-mod-php -y
apt install postgresql postgresql-contrib -y
apt install php8.3 php8.3-{gd,mbstring,curl,xml,zip,intl,bcmath,gmp,imagick,apcu,redis,pgsql} -y
Activez les modules Apache nécessaires pour le fonctionnement optimal de Nextcloud. Le module rewrite permet les URLs propres, headers améliore la sécurité HTTP, ssl active HTTPS, et http2 accélère le chargement des ressources.
a2enmod rewrite headers ssl http2 env dir mime
systemctl restart apache2
Configuration de PostgreSQL pour Nextcloud
Créez une base de données dédiée et un utilisateur PostgreSQL avec les permissions appropriées. Remplacez motdepasse_fort par une chaîne complexe générée aléatoirement (minimum 32 caractères alphanumériques avec symboles).
sudo -u postgres psql
CREATE USER nextcloud WITH PASSWORD 'motdepasse_fort';
CREATE DATABASE nextcloud TEMPLATE template0 ENCODING 'UTF8';
ALTER DATABASE nextcloud OWNER TO nextcloud;
GRANT ALL PRIVILEGES ON DATABASE nextcloud TO nextcloud;
\q
Optimisez les paramètres PostgreSQL pour Nextcloud en éditant /etc/postgresql/16/main/postgresql.conf. Augmentez shared_buffers à 25% de votre RAM disponible et effective_cache_size à 50%. Pour un VPS de 4 Go de RAM :
shared_buffers = 1GB
effective_cache_size = 2GB
maintenance_work_mem = 256MB
random_page_cost = 1.1
Redémarrez PostgreSQL pour appliquer les modifications :
systemctl restart postgresql
Téléchargement et installation de Nextcloud
Téléchargez la dernière version stable de Nextcloud depuis le site officiel. Au moment de la rédaction, Nextcloud Hub 8 (version 29) constitue la release recommandée pour les nouvelles installations.
cd /tmp
wget https://download.nextcloud.com/server/releases/latest.tar.bz2
wget https://download.nextcloud.com/server/releases/latest.tar.bz2.sha256
sha256sum -c latest.tar.bz2.sha256 < latest.tar.bz2
Si la vérification du checksum réussit, extrayez l'archive dans le répertoire web d'Apache et définissez les permissions appropriées. Le répertoire /var/www/nextcloud doit appartenir à l'utilisateur www-data pour permettre à Apache d'écrire les fichiers de configuration et les données utilisateurs.
tar -xjf latest.tar.bz2 -C /var/www/
chown -R www-data:www-data /var/www/nextcloud
chmod -R 755 /var/www/nextcloud
Créez un VirtualHost Apache dédié dans /etc/apache2/sites-available/nextcloud.conf :
<VirtualHost *:80>
ServerName cloud.votredomaine.fr
DocumentRoot /var/www/nextcloud
<Directory /var/www/nextcloud/>
Require all granted
AllowOverride All
Options FollowSymLinks MultiViews
</Directory>
ErrorLog ${APACHE_LOG_DIR}/nextcloud-error.log
CustomLog ${APACHE_LOG_DIR}/nextcloud-access.log combined
</VirtualHost>
Activez le site et désactivez le VirtualHost par défaut d'Apache :
a2ensite nextcloud.conf
a2dissite 000-default.conf
systemctl reload apache2

Sécuriser votre instance Nextcloud : HTTPS, fail2ban et durcissement
Après l'installation initiale, parcourez l'assistant web en accédant à http://cloud.votredomaine.fr. Renseignez un compte administrateur, sélectionnez PostgreSQL comme base de données, et indiquez les identifiants créés précédemment (utilisateur nextcloud, base nextcloud, hôte localhost).
Une fois l'installation terminée, activez immédiatement HTTPS avec Let's Encrypt. Certbot automatise la génération et le renouvellement des certificats TLS.
apt install certbot python3-certbot-apache -y
certbot --apache -d cloud.votredomaine.fr
Certbot modifie automatiquement votre VirtualHost pour écouter sur le port 443, active les redirections HTTP→HTTPS et configure les en-têtes de sécurité. Vérifiez le renouvellement automatique avec :
systemctl status certbot.timer
Configuration du pare-feu système
Installez et configurez UFW pour limiter l'accès aux seuls ports nécessaires. L'anti-DDoS matériel de OmegaCloud filtre déjà les attaques volumetriques en amont, mais UFW ajoute une couche applicative locale.
apt install ufw -y
ufw default deny incoming
ufw default allow outgoing
ufw allow 22/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable
Installez fail2ban pour bloquer automatiquement les tentatives de bruteforce SSH et Nextcloud. Créez un filtre personnalisé dans /etc/fail2ban/filter.d/nextcloud.conf :
[Definition]
failregex=^{"reqId":".*","level":2,"time":".*","remoteAddr":"","user":".*","app":"core","method":".*","url":".*","message":"Login failed:.*$
ignoreregex =
Ajoutez la jail correspondante dans /etc/fail2ban/jail.local :
[nextcloud]
enabled = true
port = 80,443
protocol = tcp
filter = nextcloud
logpath = /var/www/nextcloud/data/nextcloud.log
maxretry = 3
bantime = 3600
findtime = 600
Redémarrez fail2ban pour appliquer la configuration :
systemctl restart fail2ban
fail2ban-client status nextcloud
Optimisations PHP et Redis pour les performances
Nextcloud recommande l'utilisation de Redis comme cache mémoire pour les verrous de fichiers et les sessions. Installez Redis et configurez Nextcloud pour l'exploiter.
apt install redis-server -y
systemctl enable --now redis-server
Éditez /var/www/nextcloud/config/config.php et ajoutez les directives suivantes dans le tableau PHP :
'memcache.local' => '\OC\Memcache\APCu',
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => [
'host' => 'localhost',
'port' => 6379,
],
Augmentez les limites PHP dans /etc/php/8.3/apache2/php.ini pour permettre l'upload de fichiers volumineux :
memory_limit = 512M
upload_max_filesize = 16G
post_max_size = 16G
max_execution_time = 3600
Rechargez Apache pour appliquer les changements :
systemctl reload apache2
Configurez les tâches cron Nextcloud pour exécuter les opérations de maintenance en arrière-plan. Éditez la crontab de l'utilisateur www-data :
crontab -u www-data -e
Ajoutez la ligne suivante (lance le cron Nextcloud toutes les 5 minutes) :
*/5 * * * * php -f /var/www/nextcloud/cron.php
Depuis l'interface d'administration Nextcloud (Paramètres → Administration → Paramètres de base), sélectionnez « Cron » comme méthode d'exécution des tâches en arrière-plan.
Maintenance et surveillance de votre VPS Nextcloud
Une instance Nextcloud nécessite une surveillance régulière pour garantir disponibilité et performances. Le panel de gestion OmegaCloud offre un dashboard temps réel pour monitorer CPU, RAM, SSD et réseau. Définissez des alertes personnalisées lorsque l'usage RAM dépasse 80% ou l'espace disque franchit 85%.
Planifiez des snapshots hebdomadaires de votre VPS depuis le panel. Ces sauvegardes instantanées permettent de restaurer l'intégralité du système en quelques clics en cas de corruption de données ou de mise à jour défaillante. Conservez au minimum 4 snapshots rotatifs (un par semaine sur un mois).
Pour les sauvegardes applicatives, configurez l'export automatique de la base PostgreSQL et du répertoire /var/www/nextcloud/data. Créez un script /root/backup-nextcloud.sh :
#!/bin/bash
DATE=$(date +%Y%m%d)
BACKUP_DIR="/backup/nextcloud"
mkdir -p $BACKUP_DIR
# Mode maintenance
sudo -u www-data php /var/www/nextcloud/occ maintenance:mode --on
# Backup PostgreSQL
sudo -u postgres pg_dump nextcloud > $BACKUP_DIR/nextcloud-db-$DATE.sql
# Backup fichiers (exclure les previews volumineuses)
rsync -Aavx --exclude='/var/www/nextcloud/data/appdata*/preview' \
/var/www/nextcloud/data/ $BACKUP_DIR/data-$DATE/
# Fin maintenance
sudo -u www-data php /var/www/nextcloud/occ maintenance:mode --off
# Nettoyage (garder 7 jours)
find $BACKUP_DIR -type f -mtime +7 -delete
Rendez le script exécutable et planifiez-le quotidiennement à 2h du matin :
chmod +x /root/backup-nextcloud.sh
echo "0 2 * * * /root/backup-nextcloud.sh" | crontab -
Nextcloud publie des mises à jour de sécurité régulières. Consultez le blog officiel et appliquez les correctifs rapidement. Avant toute mise à jour majeure, testez sur un clone de votre VPS (fonctionnalité de snapshot/restauration sur nouveau VPS disponible via l'API). La commande occ facilite les mises à jour en ligne de commande :
sudo -u www-data php /var/www/nextcloud/updater/updater.phar
sudo -u www-data php /var/www/nextcloud/occ upgrade
Surveillez les logs Nextcloud et Apache pour détecter comportements anormaux. Les logs détaillés se trouvent dans /var/www/nextcloud/data/nextcloud.log et /var/log/apache2/nextcloud-error.log. Utilisez tail -f pour un suivi en temps réel, ou configurez un agrégateur de logs type journalctl pour centraliser la surveillance.
Activez l'authentification à deux facteurs (TOTP) pour tous les comptes administrateurs depuis Paramètres → Sécurité → Authentification à deux facteurs. L'application Nextcloud supporte nativement les générateurs OTP compatibles RFC 6238 comme Aegis, FreeOTP ou Authy (spécification IETF).

Conclusion
Installer Nextcloud sur un VPS vous garantit souveraineté, performances et contrôle total sur vos données collaboratives. Cette stack LAMP optimisée avec PostgreSQL, Redis et Apache offre une base solide pour des déploiements professionnels évolutifs. La sécurisation par certificats TLS, fail2ban et pare-feu système protège efficacement votre instance, tandis que la surveillance continue et les sauvegardes automatisées assurent la pérennité du service. Votre infrastructure cloud auto-hébergée est désormais opérationnelle.
FAQ
Quelle quantité de RAM minimum pour héberger Nextcloud avec 20 utilisateurs actifs ?
Pour 20 utilisateurs actifs avec synchronisation régulière de fichiers, prévoyez au minimum 4 Go de RAM. Nextcloud consomme environ 150 à 200 Mo par processus PHP-FPM, et Apache maintient plusieurs workers simultanés. Ajoutez 512 Mo pour PostgreSQL et 256 Mo pour Redis. Un VPS 4 vCPU / 8 Go RAM offre une marge confortable pour absorber les pics d'activité lors des synchronisations groupées ou des scans de fichiers volumineux.
Comment migrer une instance Nextcloud existante vers un nouveau VPS ?
Activez le mode maintenance sur l'ancienne instance avec sudo -u www-data php occ maintenance:mode --on. Exportez la base PostgreSQL avec pg_dump, puis copiez le répertoire /var/www/nextcloud complet via rsync ou SCP vers le nouveau serveur. Restaurez la base sur le nouveau VPS, adaptez les chemins dans config.php si nécessaire, puis désactivez le mode maintenance. Mettez à jour les enregistrements DNS pour pointer vers la nouvelle IP. Cette procédure assure une migration sans perte de données ni interruption prolongée.
Nextcloud affiche des avertissements de sécurité dans l'interface d'administration, que faire ?
Les avertissements Nextcloud concernent généralement les en-têtes HTTP manquants, le cache mémoire non configuré ou le mode HTTPS strict. Vérifiez que memory_limit est suffisant dans php.ini, activez HSTS en ajoutant Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains" dans le VirtualHost Apache, et configurez Redis comme indiqué dans ce tutoriel. Lancez sudo -u www-data php occ security:certificates pour mettre à jour les certificats racine si des erreurs TLS apparaissent lors des connexions externes.
Prêt à mettre en pratique ce que vous venez de lire ?
Découvrir nos offres