Se rendre au contenu

Installer Nextcloud sur Debian 12

Nextcloud est une solution open source puissante pour héberger vos fichiers, calendriers, contacts et bien plus, le tout sur votre propre serveur. Voici un guide pas à pas pour installer Nextcloud sur une machine Debian 12.

Étape 1 : Mise à jour de votre système

Commencez par vous assurer que votre système est à jour :

sudo apt-get update && sudo apt-get upgrade -y

Étape 2 : Installation et configuration d’Apache

Installez le serveur web Apache :

sudo apt install apache2 -y

Activez Apache pour qu’il démarre automatiquement au démarrage :

sudo systemctl is-enabled apache2

Vérifiez que le service est actif :

sudo systemctl status apache2

Étape 3 : Configurer le pare-feu avec UFW

Installez UFW (Uncomplicated Firewall) pour sécuriser votre serveur :

sudo apt install ufw

Autorisez les connexions SSH et activez le pare-feu :

sudo ufw allow OpenSSH sudo ufw enable

Autorisez les connexions HTTP et HTTPS :

sudo ufw allow "WWW Full" sudo ufw reload

Vérifiez le statut du pare-feu :

sudo ufw status

Étape 4 : Installer PHP et ses modules requis

Nextcloud nécessite PHP et plusieurs modules. Installez-les en une commande :

sudo apt install -y php php-curl php-cli php-mysql php-gd php-common php-xml php-json php-intl php-pear php-imagick php-dev php-mbstring php-zip php-soap php-bz2 php-bcmath php-gmp php-apcu libmagickcore-dev php-redis php-memcached

Vérifiez la version de PHP et les modules installés :

php --version php -m

Étape 5 : Configurer PHP

Éditez le fichier de configuration PHP pour optimiser les performances et ajuster les limites nécessaires à Nextcloud :

sudo nano /etc/php/8.2/apache2/php.ini

Modifiez les paramètres suivants :

date.timezone = Europe/Zurich memory_limit = 4096M upload_max_filesize = 100000M post_max_size = 100000M max_execution_time = 3600 file_uploads = On allow_url_fopen = On display_errors = Off output_buffering = Off zend_extension=opcache opcache.enable = 1 opcache.interned_strings_buffer = 64 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 6 : Installer et configurer MariaDB

Installez MariaDB :

sudo apt install mariadb-server -y

Assurez-vous qu’il est activé :

sudo systemctl is-enabled mariadb

Vérifiez son statut :

sudo systemctl status mariadb

Configurez MariaDB avec l’assistant de sécurisation :

sudo mariadb-secure-installation

Créez une base de données et un utilisateur pour Nextcloud :

sudo mariadb -u root -p CREATE DATABASE nextcloud_db; CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY 'StrongPassword'; GRANT ALL PRIVILEGES ON nextcloud_db.* TO 'nextclouduser'@'localhost'; FLUSH PRIVILEGES; SHOW GRANTS FOR 'nextclouduser'@'localhost'; quit

Étape 7 : Télécharger et configurer Nextcloud

Installez les outils nécessaires :

sudo apt install curl unzip -y

Téléchargez et décompressez Nextcloud :

cd /var/www/ curl -o nextcloud.zip https://download.nextcloud.com/server/releases/latest.zip unzip nextcloud.zip

Assurez-vous que les permissions sont correctement définies :

sudo chown -R www-data:www-data nextcloud

Étape 8 : Configurer Apache pour Nextcloud

Créez un fichier de configuration pour le site Nextcloud :

sudo nano /etc/apache2/sites-available/nextcloud.conf

Ajoutez le contenu suivant, en ajustant les détails comme le nom de domaine :

<VirtualHost *:80> ServerName cloud.ait.hosting DocumentRoot /var/www/nextcloud/ ErrorLog /var/log/apache2/files.cloud.ait.hosting-error.log CustomLog /var/log/apache2/files.cloud.ait.hosting-access.log combined <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> </VirtualHost>

Activez le site et redémarrez Apache :

sudo a2ensite nextcloud.conf sudo apachectl configtest sudo systemctl restart apache2

Étape 9 : Sécuriser avec Certbot

Installez Certbot pour générer un certificat SSL :

sudo apt install certbot python3-certbot-apache

Exécutez Certbot pour configurer HTTPS :

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email admin@ait.hosting -d cloud.ait.hosting

Conclusion

Votre installation de Nextcloud sur Debian 12 est maintenant terminée. Accédez à votre serveur via le navigateur en utilisant l’URL configurée (par exemple, https://cloud.ait.hosting), et suivez les instructions à l’écran pour finaliser la configuration. 🎉

   

Cron job

Créer un nouveau crontab qui sera utilisé pour exécuter le script crontab de Nextcloud


sudo crontab -u www-data -e


Ajoutez la configuration suivante au fichier crontab


*/5  *  *  *  * php --define apc.enable_cli=1 -f /var/www/nextcloud/cron.php


Enregistrer et quitter le fichier


Bonus

Ouvrez le fichier de configuration de Nextcloud /var/www/nextcloud/config/config.php


sudo nano /var/www/nextcloud/config/config.php


et rajouter ces commandes


'memcache.local' => '\OC\Memcache\APCu',  
'default_phone_region' => 'ch', 
'maintenance_window_start' => 1,


Enregistrez les modifications et fermez le fichier lorsque vous avez terminé


OCC Commandes

Peut être utile

sudo -u www-data php --define apc.enable_cli=1  /var/www/nextcloud/occ maintenance:repair --include-expensive
sudo -u www-data php --define apc.enable_cli=1  /var/www/nextcloud/occ db:add-missing-indices
sudo -u www-data php --define apc.enable_cli=1  /var/www/nextcloud/occ db:add-missing-columns
sudo -u www-data php --define apc.enable_cli=1  /var/www/nextcloud/occ db:add-missing-primary-keys



Évaluation
1 0

Il n'y a aucune réaction pour le moment.

pour être le premier à laisser un commentaire.