La Cave a Tonton - Installation d'un serveur Nextcloud sur Debian 10

Installation d'un serveur Nextcloud sur Debian 10

Par Tontonayo le archive


Suite à la remise a zéro de mon serveur @home, je remet peu à peu les services dont je me sert régulièrement et j'ai attaqué aujourd'hui Nextcloud. Rien de bien compliquer en soit, j'ai crée une machine virtuel avec 500Go de disque dur, 2 coeur et 2Go de ram. J'ai installé dessus une Debian 10 Buster toute fraiche.

1. On installe ce qu'il faut

Il nous faut un serveur web qui gère le PHP et une base de donnée SQL. J'utilise Nginx, php-fpm et MariaDB:

apt install nginx php-fpm mariadb-server mariadb-client php-xml php-cli php-cgi php-mysql php-mbstring php-gd php-curl php-zip unzip

PAF! Voila c'est installé, maintenant on config.

2. MariaDB (anciennement MySQL)

Nous allons configurer MariaDB en paramétrant le mot de passe admin, un utilisateur pour Nextcloud et une base de donnée. On commence par lancer l'assistant qui va nous poser pleins de question et comme on est des grands ba on va y répondre :

mysql_secure_installation

Ensuite, nous allons nous connecter au serveur via la console et créer l'utilisateur ainsi que sa base. On se connecte :

mysql -u root -p

on crée un utilisateur "user" avec un mot de passe "password":

CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';

Ensuite on crée la base "cloud":

CREATE DATABASE cloud;

Et on donne les droits a l'user "user" de faire ce qu'il veux sur cette base :

GRANT ALL PRIVILEGES ON cloud.* TO 'user'@'localhost' WITH GRANT OPTIONS;

La on est bien. On, passe à la suite.

3. NGINX

En premier lieux, on va générer un certificat, auto-généré ou non c'est a vous de voire. Voici quelque liens pour vous aider :

https://www.quennec.fr/trucs-astuces/syst%C3%A8mes/gnulinux/commandes/openssl/openssl-g%C3%A9n%C3%A9rer-un-certificat-auto-sign%C3%A9

https://denisrosenkranz.com/tuto-certificat-ssl-gratuit-avec-lets-encrypt/

https://certbot.eff.org/lets-encrypt/debianbuster-nginx

Je n'ai pas approfondit car il existe 1000 façons pour arriver a ses fins. moi j'ai généré un certificat avec certbot avec la config par défaut de nginx, j'ai configurer nginx par la suite.

Quand le certificat est généré, nous allons éditer le fichier /etc/nginx/sites-enable/default (oui direct, je passe pas par l'available...) et mettre le contenu indiqué dans la documentation de nextcloud pour nginx directement, je vous laisse aller y jetter un oeil :

https://docs.nextcloud.com/server/17/admin_manual/installation/nginx.html

Les paramètres a modifier sont bien évidement les valeurs serveur_name, root, ssl_certificate et ssl_certificate_key par les valeurs et les fichiers de votre serveur, le reste est à votre convenance. Pour la prise en charge du PHP je passe par un sock unix, donc j'ai modifier le fichier pour donner ceci (attention a la version de PHP que vous avez installé):

upstream php-handler {       
#server 127.0.0.1:9000;       
server unix:/var/run/php/php7.3-fpm.sock;
}

Si vous avez laissé la valeur root par defaut (/var/www/nextcloud), je vous invite a vous rentre dans le répertoire suivant :

cd /var/www

Et à télécharger Nextcloud (version 17 a l'heur ou j’écris ces lignes)

wget https://download.nextcloud.com/server/releases/nextcloud-17.0.1.zip

et nous allons décompresser le fichier zip :

unzip nextcloud-17.0.1.zip

Vérifiez bien que tout les fichiers sont dans le répertoire nextcloud et donnez les droits au serveur web sur tout le contenu de celui ci:

chown -R www-data:www-data /var/www/html/nextcloud

Bon, en principe si tout va bien, vous devriez pouvoir ouvrir un explorateur web et vous rendre sur https://nomdevotreserveur et configurer l'utilisateur et la base de donnée.

Voila, on a une instance Nextcloud fonctionnelle. Si vous voulez tester si tout est bon, je vous invite a aller sur : https://scan.nextcloud.com @+


Le pays d'où vous consultez le site n'est pas autorisé a poster des commentaires afin de lutter contre le spams, merci de votre compréhension