Introduction
Nextcloud est une plateforme de partage de fichiers et de collaboration auto-hébergée et open-source conçue pour un stockage et une communication sécurisés des données. Elle offre une alternative robuste aux services cloud commerciaux, permettant un contrôle total de vos données. Ce guide vous guidera à travers l’installation de Nextcloud sur Ubuntu 24.04/22.04, en veillant à ce que votre configuration soit sécurisée et optimisée.
Prérequis
Avant de commencer, assurez-vous d’avoir les éléments suivants :
- Une instance de serveur Ubuntu 24.04/22.04.
- Un utilisateur non-root avec des privilèges sudo.
- Un nom de domaine complet (FQDN) pointé vers l’adresse IP de votre serveur.
- Des connaissances de base sur les opérations en ligne de commande.
Étape 1 : Mettre à jour votre système
Tout d’abord, assurez-vous que votre système est à jour. Exécutez les commandes suivantes :
$ sudo apt update
$ sudo apt upgrade -y
Étape 2 : Installer le serveur web Apache
Nextcloud nécessite un serveur web pour servir son interface web. Nous utiliserons Apache à cette fin.
$ sudo apt install apache2 -y
Activez et démarrez Apache :
$ sudo systemctl enable apache2
$ sudo systemctl start apache2
Vérifiez l’état pour vous assurer qu’Apache fonctionne :
$ sudo systemctl status apache2
Étape 3 : Installer PHP et les extensions nécessaires
Nextcloud est construit sur PHP, nous devons donc installer PHP ainsi que plusieurs extensions requises par Nextcloud.
$ sudo apt install php libapache2-mod-php php-mysql php-gd php-json php-curl php-mbstring php-intl php-imagick php-xml php-zip -y
Vérifiez la version de PHP pour vous assurer qu’elle est correctement installée :
$ php -v
Étape 4 : Installer le serveur de base de données MariaDB
Nextcloud nécessite une base de données pour stocker ses données. Nous utiliserons MariaDB, un fork populaire de MySQL.
$ sudo apt install mariadb-server -y
Sécurisez l’installation de MariaDB :
$ sudo mysql_secure_installation
Suivez les invites pour définir le mot de passe root et supprimer les utilisateurs et bases de données inutiles.
Étape 5 : Créer une base de données pour Nextcloud
Connectez-vous à l’interface de MariaDB en tant qu’utilisateur root :
$ sudo mysql -u root -p
Créez une base de données et un utilisateur pour Nextcloud :
CREATE DATABASE nextcloud;
CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextclouduser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Étape 6 : Télécharger et configurer Nextcloud
Naviguez vers le répertoire /var/www et téléchargez la dernière version de Nextcloud :
$ cd /var/www
$ sudo wget https://download.nextcloud.com/server/releases/latest.zip
Extrayez l’archive téléchargée :
$ sudo apt install unzip -y
$ sudo unzip latest.zip
Définissez les permissions correctes :
$ sudo chown -R www-data:www-data nextcloud
$ sudo chmod -R 755 nextcloud
Étape 7 : Configurer Apache pour Nextcloud
Créez un nouveau fichier de configuration Apache pour Nextcloud :
$ sudo nano /etc/apache2/sites-available/nextcloud.conf
Ajoutez la configuration suivante :
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/nextcloud
ServerName your_domain
<Directory /var/www/nextcloud/>
Options +FollowSymlinks
AllowOverride All
<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>
Activez la nouvelle configuration et les modules Apache requis :
$ sudo a2ensite nextcloud.conf
$ sudo a2enmod rewrite headers env dir mime
Redémarrez Apache pour appliquer les modifications :
$ sudo systemctl restart apache2
Étape 8 : Installer et configurer SSL
Pour la sécurité, il est crucial d’utiliser SSL/TLS pour chiffrer le trafic entre le serveur et les clients. Nous utiliserons Certbot pour obtenir un certificat SSL gratuit de Let’s Encrypt.
Installez Certbot et le plugin Apache :
$ sudo apt install certbot python3-certbot-apache -y
Obtenez et installez le certificat SSL :
$ sudo certbot --apache -d your_domain
Suivez les invites pour compléter l’installation SSL. Certbot configurera automatiquement Apache pour utiliser le nouveau certificat.
Étape 9 : Compléter l’installation de Nextcloud dans le navigateur
Ouvrez votre navigateur web et accédez à votre domaine :
https://your_domain
Vous serez accueilli par la page de configuration de Nextcloud. Complétez les étapes suivantes :
- Créer un compte administrateur : Fournissez un nom d’utilisateur et un mot de passe pour le compte administrateur de Nextcloud.
- Configuration de la base de données : Entrez les détails de la base de données que vous avez créés précédemment :
- Utilisateur de la base de données : nextclouduser
- Mot de passe de la base de données : your_password
- Nom de la base de données : nextcloud
- Terminer la configuration : Cliquez sur “Terminer la configuration” pour compléter l’installation.
Étape 10 : Sécuriser votre installation Nextcloud
Configurer les domaines de confiance
Ouvrez le fichier de configuration de Nextcloud :
$ sudo nano /var/www/nextcloud/config/config.php
Ajoutez votre domaine au tableau des domaines de confiance :
'trusted_domains' =>
array (
0 => 'localhost',
1 => 'your_domain',
),
Configurer une tâche cron pour les tâches d’arrière-plan
Nextcloud nécessite l’exécution régulière de tâches d’arrière-plan. Configurez une tâche cron pour gérer cela :
$ sudo crontab -u www-data -e
Ajoutez la ligne suivante pour exécuter la tâche cron toutes les 5 minutes :
*/5 * * * * php -f /var/www/nextcloud/cron.php
Étape 11 : Optimiser les performances de Nextcloud
Installer et configurer Opcache
Opcache est une extension PHP qui met en cache les scripts PHP compilés pour améliorer les performances.
Installez Opcache :
$ sudo apt install php-opcache -y
Configurez Opcache en modifiant le fichier de configuration PHP :
$ sudo nano /etc/php/8.1/apache2/php.ini
Ajoutez ou modifiez les lignes suivantes :
opcache.enable=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1
Redémarrez Apache pour appliquer les modifications :
$ sudo systemctl restart apache2
Étape 12 : Configurations supplémentaires
Activer les URL conviviales
Pour activer les URL conviviales dans Nextcloud, modifiez le fichier .htaccess
:
$ sudo nano /var/www/nextcloud/.htaccess
Ajoutez les lignes suivantes à la fin :
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteRule ^\.well-known/carddav /remote.php/dav/ [R=301,L]
RewriteRule ^\.well-known/caldav /remote.php/dav/ [R=301,L]
</IfModule>
Activez mod_rewrite dans Apache :
$ sudo a2enmod rewrite
$ sudo systemctl restart apache2
Augmenter la limite de mémoire PHP
Modifiez le fichier de configuration PHP pour augmenter la limite de mémoire pour de meilleures performances :
$ sudo nano /etc/php/8.1/apache2/php.ini
Définissez la limite de mémoire à 512MB ou plus :
memory_limit = 512M
Redémarrez Apache :
$ sudo systemctl restart apache2
Étape 13 : Utiliser Nextcloud
Votre installation de Nextcloud est maintenant complète. Vous pouvez commencer à utiliser Nextcloud en y accédant via votre navigateur web. Explorez ses fonctionnalités telles que le partage de fichiers, le calendrier, les contacts et diverses applications qui améliorent ses fonctionnalités.
Conclusion
L’installation de Nextcloud sur Ubuntu 24.04/22.04 implique plusieurs étapes, notamment la configuration d’un serveur web, PHP et un serveur de base de données, suivie de la configuration SSL pour une communication sécurisée. En suivant ce guide, vous devriez disposer d’une instance Nextcloud pleinement fonctionnelle qui offre une solution de stockage cloud robuste et auto-hébergée. N’oubliez pas de mettre régulièrement à jour votre instance Nextcloud et ses dépendances pour maintenir la sécurité et les performances.
3 thoughts on - Comment installer Nextcloud sur Ubuntu 24.04/22.04/20.04
Bonjour,
j’ai suivi pas à pas le tuto mais ça ne marche pas .
Après l’étape 7 quand j’essaie d’accéder à mon adresse ip je tombe sur la page apache 2 ubuntu default.
Quand j’essaie via mon nom de domaine je tombe sur le provider qui m’indique que mon nom de domaine a bien été créé…
Je n’arrive pas à accéder à la page d’installation de nextcloud.
Une petite aide serait bienvenue.
Cordialement
assurez-vous que votre domaine pointe vers l’adresse IP de votre serveur et que le chemin du dossier nextcloud est le même dans la configuration Apache.
Cordialement.
Bonsoir, comment fait pour que le service email fonctionne ? Je veux que les utilisateurs simples puissent changer leur mot de passe en utilisent des authentifications par mail.