1. Prérequis
Avant de commencer, assurez-vous d'avoir :
- Un serveur avec Ubuntu 24.04 installé.
- Un nom de domaine (ici stock.aleexp.fr).
- Un accès root ou utilisateur avec des droits sudo.
- Ports 80 (HTTP) et 443 (HTTPS) ouverts sur le pare-feu.
2. Étapes d'installation
2.1 Mise à jour du système
Tout d'abord, mettez à jour votre système pour vous assurer d'avoir les derniers paquets :
sudo apt update && sudo apt upgrade -y
2.2 Installation des dépendances
Nextcloud nécessite plusieurs packages comme Apache, PHP, et MariaDB. Installez-les avec la commande suivante :
sudo apt install apache2 mariadb-server libapache2-mod-php php php-mysql php-gd php-json php-curl php-mbstring php-intl php-imagick php-xml php-zip php-bcmath php-gmp php-cli unzip curl -y
Activez les modules nécessaires pour Apache :
sudo a2enmod rewrite headers env dir mime ssl
2.3 Configuration de la base de données MariaDB
Ensuite, sécurisez votre installation MariaDB et créez une base de données pour Nextcloud :
sudo mysql_secure_installation
sudo mysql -u root -p
Dans MariaDB, exécutez les commandes suivantes :
CREATE DATABASE nextcloud;
CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY 'motdepassefort';
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextclouduser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
2.4 Téléchargement et installation de Nextcloud
Téléchargez la dernière version de Nextcloud depuis le site officiel :
cd /var/www/
sudo curl -LO https://download.nextcloud.com/server/releases/latest.zip
sudo unzip latest.zip
sudo chown -R www-data:www-data nextcloud
sudo chmod -R 755 nextcloud
2.5 Configuration d'Apache
Créez un fichier de configuration pour Apache :
sudo nano /etc/apache2/sites-available/nextcloud.conf
Ajoutez la configuration suivante (en remplaçant stock.aleexp.fr par votre domaine) :
<VirtualHost *:80>
ServerName stock.aleexp.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 redémarrez Apache pour appliquer les changements :
sudo a2ensite nextcloud.conf
sudo a2dissite 000-default.conf
sudo systemctl reload apache2
2.6 Configuration HTTPS avec Let's Encrypt
Installez Certbot pour sécuriser votre site avec HTTPS :
sudo apt install certbot python3-certbot-apache -y
Lancez la commande suivante pour obtenir un certificat SSL gratuit avec Let's Encrypt :
sudo certbot --apache -d stock.aleexp.fr
Renouvelez automatiquement les certificats SSL avec la commande suivante :
sudo systemctl enable certbot.timer
3. Finalisation de l'installation via l'interface web
-
Ouvrez votre navigateur et accédez à : https://stock.aleexp.fr.
-
Créez un compte administrateur avec un nom d'utilisateur et un mot de passe.
-
Dans les paramètres de base de données, entrez les informations suivantes :
3.1 Nom de la base de données : nextcloud
3.2 Utilisateur : nextclouduser
3.3 Mot de passe : motdepassefort -
Cliquez sur "Terminer l'installation".
Nextcloud est maintenant installé et accessible via votre domaine sécurisé https://stock.aleexp.fr.
4. Sécurisation et bonnes pratiques (facultative)
4.1 Activation des headers de sécurité
Ajoutez les headers de sécurité suivants pour renforcer la protection de votre site :
Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"
Header always set X-Content-Type-Options "nosniff"
Header always set X-Frame-Options "SAMEORIGIN"
Header always set X-XSS-Protection "1; mode-block"
Redémarrez Apache :
sudo systemctl restart apache2
4.2 Mises à jour de Nextcloud
Pour maintenir Nextcloud à jour, vous pouvez utiliser la commande suivante :
sudo -u www-data php /var/www/nextcloud/updater/update.phar
Résultats
-
Accès sécurisé via
stock.aleexp.fr
, avec un certificat SSL valide. -
Une interface web fonctionnelle de Nextcloud où vous pouvez gérer vos fichiers, calendriers, contacts et plus.
-
La base de données MariaDB est configurée et connectée à Nextcloud.
-
L'installation est prête pour être utilisée et configurée davantage, selon vos besoins (extensions, stockage externe, etc.).