Mettre en Place un Serveur Nextcloud sur un VPS pour le Stockage Cloud Privé Publié le 19/11/2024 Temps de lecture : 9 min 14 vues <h3><strong>Introduction</strong></h3> <p>Nextcloud est une solution de stockage et de synchronisation de fichiers auto-hébergée qui permet de gérer vos données dans un environnement sécurisé. Ce tutoriel vous guide pour installer et configurer Nextcloud sur un VPS, idéal pour créer un cloud privé adapté à vos besoins personnels ou professionnels.</p> <hr> <h3><strong>Prérequis</strong></h3> <ol> <li><strong>Un VPS fonctionnant sous Ubuntu 22.04 ou Debian 11/12.</strong></li> <li><strong>Un nom de domaine ou une sous-domaine (exemple : cloud.votre-domaine.com).</strong></li> <li><strong>Privilèges root ou utilisateur avec sudo.</strong></li> <li><strong>Accès SSH à votre VPS.</strong></li> </ol> <hr> <h3><strong>Étape 1 : Préparer votre VPS</strong></h3> <h4><strong>a. Mettre à jour votre système</strong></h4> <p>Commencez par mettre à jour les paquets :</p> <pre><code>sudo apt update && sudo apt upgrade -y </code></pre> <h4><strong>b. Installer les dépendances nécessaires</strong></h4> <p>Installez les paquets suivants :</p> <pre><code>sudo apt install apache2 mariadb-server libapache2-mod-php php php-mysql php-gd php-mbstring php-curl php-xml php-zip php-intl unzip -y </code></pre> <p>Activez les modules Apache nécessaires :</p> <pre><code>sudo a2enmod rewrite headers env dir mime </code></pre> <p>Redémarrez Apache :</p> <pre><code>sudo systemctl restart apache2 </code></pre> <hr> <h3><strong>Étape 2 : Configurer MariaDB</strong></h3> <h4><strong>a. Sécuriser l’installation</strong></h4> <p>Lancez l’assistant de sécurisation :</p> <pre><code>sudo mysql_secure_installation </code></pre> <p>Choisissez les options suivantes :</p> <ul> <li>Définir un mot de passe root.</li> <li>Supprimer les utilisateurs anonymes.</li> <li>Désactiver les connexions root à distance.</li> <li>Supprimer la base de test.</li> </ul> <h4><strong>b. Créer une base de données pour Nextcloud</strong></h4> <p>Connectez-vous à MariaDB :</p> <pre><code>sudo mysql -u root -p </code></pre> <p>Exécutez les commandes suivantes en remplaçant <code>nextclouduser</code> et <code>password</code> par vos propres valeurs :</p> <pre><code>CREATE DATABASE nextcloud; CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextclouduser'@'localhost'; FLUSH PRIVILEGES; EXIT; </code></pre> <hr> <h3><strong>Étape 3 : Télécharger et Installer Nextcloud</strong></h3> <h4><strong>a. Télécharger Nextcloud</strong></h4> <p>Récupérez la dernière version de Nextcloud :</p> <pre><code>wget <a href="https://download.nextcloud.com/server/releases/latest.zip">https://download.nextcloud.com/server/releases/latest.zip</a> </code></pre> <p>Décompressez l’archive :</p> <pre><code>unzip latest.zip sudo mv nextcloud /var/www/ </code></pre> <h4><strong>b. Définir les permissions</strong></h4> <p>Donnez les droits nécessaires à Apache :</p> <pre><code>sudo chown -R www-data:www-data /var/www/nextcloud sudo chmod -R 755 /var/www/nextcloud </code></pre> <hr> <h3><strong>Étape 4 : Configurer Apache</strong></h3> <h4><strong>a. Créer un fichier de configuration pour Nextcloud</strong></h4> <p>Créez un fichier de configuration Apache :</p> <pre><code>sudo nano /etc/apache2/sites-available/nextcloud.conf </code></pre> <p>Ajoutez le contenu suivant :</p> <pre><code><VirtualHost *:80> ServerAdmin admin@votre-domaine.com DocumentRoot /var/www/nextcloud ServerName cloud.votre-domaine.com <Directory /var/www/nextcloud/> Options +FollowSymlinks AllowOverride All Require all granted <IfModule mod_dav.c> Dav off </IfModule> SetEnv HOME /var/www/nextcloud SetEnv HTTP_HOME /var/www/nextcloud </Directory> ErrorLog ${APACHE_LOG_DIR}/nextcloud-error.log CustomLog ${APACHE_LOG_DIR}/nextcloud-access.log combined </VirtualHost> </code></pre> <h4><strong>b. Activer le site et le module SSL</strong></h4> <p>Activez le fichier de configuration et le SSL :</p> <pre><code>sudo a2ensite nextcloud.conf sudo a2enmod ssl </code></pre> <p>Redémarrez Apache :</p> <pre><code>sudo systemctl reload apache2 </code></pre> <hr> <h3><strong>Étape 5 : Installer Certbot pour HTTPS</strong></h3> <p>Installez Certbot pour générer un certificat SSL :</p> <pre><code>sudo apt install certbot python3-certbot-apache -y </code></pre> <p>Lancez la configuration HTTPS :</p> <pre><code>sudo certbot --apache -d cloud.votre-domaine.com </code></pre> <p>Certbot configurera automatiquement HTTPS pour votre site.</p> <hr> <h3><strong>Étape 6 : Terminer l’installation via l’interface web</strong></h3> <ol> <li>Rendez-vous sur <code><a href="https://cloud.votre-domaine.com">https://cloud.votre-domaine.com</a></code> dans votre navigateur.</li> <li>Créez un compte administrateur.</li> <li>Renseignez les informations de la base de données : <ul> <li><strong>Utilisateur</strong> : <code>nextclouduser</code></li> <li><strong>Mot de passe</strong> : votre mot de passe.</li> <li><strong>Base de données</strong> : <code>nextcloud</code></li> </ul> </li> <li>Cliquez sur <strong>Terminer l’installation</strong>.</li> </ol> <hr> <h3><strong>Étape 7 : Configurer le stockage et les paramètres avancés</strong></h3> <h4><strong>a. Ajouter un stockage externe (optionnel)</strong></h4> <p>Nextcloud permet d’ajouter des espaces de stockage externe comme un NAS, AWS S3 ou Google Drive via l’application <strong>External Storage</strong>.</p> <h4><strong>b. Configurer Cron pour les tâches planifiées</strong></h4> <p>Activez le cron pour automatiser les tâches internes :</p> <pre><code>sudo crontab -u www-data -e </code></pre> <p>Ajoutez cette ligne :</p> <pre><code>*/5 * * * * php -f /var/www/nextcloud/cron.php </code></pre> <hr> <h3><strong>Conclusion</strong></h3> <p>Nextcloud transforme votre VPS en une solution cloud privée puissante, sécurisée et flexible. Que ce soit pour stocker des fichiers, collaborer en ligne ou synchroniser vos données, cette solution est un atout majeur pour votre entreprise ou vos projets personnels</p>