Mise en place d'un serveur de stockage Nextcloud sur debian 12

Qu'est ce que Nextcloud
Nextcloud est un logiciel open-source de site d'hébergement de fichiers et une plateforme de collaboration. Il se distingue des solutions centralisées comme Google Drive ou Dropbox en offrant une alternative privée et sécurisée que vous pouvez héberger vous-même. Il permet non seulement le stockage de fichiers, mais aussi la collaboration en ligne, la gestion de données personnelles, et bien plus encore, tout en mettant un fort accent sur la sécurité et le contrôle utilisateur.
Dans cet article, nous vous proposons un guide détaillé pour installer et configurer manuellement Nextcloud sur un serveur Debian 12 à partir d'une archive.
Prérequis pour installer Nextcloud
Un serveur
Une machine sous Debian 12 "bookworm" (la démonstration dans ce guide est réalisée avec une machine virtuelle), avec un serveur web tel qu'Apache2, une base de donnée MariaDB et la dernière version de PHP.
Mémoire RAM
Avec au moins 512MB de mémoire sur votre machine.
Client de bureau
Qui sera entre autre votre machine local afin de pouvoir accéder a l'interface web de Nextcloud.
Mise à jour du système
Une fois connecté sur votre machine, faites une mise à jour de votre système afin de garantir que tout les paquets sont bien à jour. Puis installer les paquets nécessaires tel que wget, unzip (si vous utilisez l'archive .zip) qui ne sont pas installés par défaut et qui nous servira a récupérer l'archive .zip puis a l'extraire :
sudo apt update && sudo apt upgrade -y
apt install wget unzip -y
Installez Apache, PHP ainsi que ses modules requis:
apt install apache2 php php-common php-curl php-gd php-mbstring php-xml php-zip php-mysql php-pgsql -y
Installation de nextcloud
Télécharger l’archive Nextcloud
Pour commencer nous pouvons créer un dossier qui sera temporaire afin de pouvoir télécharger l'archive de Nextcloud, pour cela nous pouvons créer en amont un dossier Nextcloud
depuis la racine /tmp
en réalisant cette commande :
mkdir /tmp/Nextcloud
Déplacez vous dans le répertoire /tmp/Nextcloud puis téléchargez l’archive .zip
depuis le site officiel de Nextcloud en exécutant la commande, puis décompressez-le avec unzip :
wget https://download.nextcloud.com/server/releases/latest.zip
unzip latest.zip
Par la suite l'extraction va créer un dossier nextcloud
que nous déplacerons dans le répertoire /var/www/ avec cette commande :
mv nextcloud/ /var/www/
Installation de MariaDB
Nous allons ensuite installer le paquet MariaDB server avec cette commande :
apt install mariadb-server -y
Démarrons le service de MariaDB avec la commande :
systemctl start mariadb
Nous pouvons par la suite entrer dans la console d'administration de la base de données en lançant la commande :
mysql
Une fois dans la console d'administration, nous allons créer une base de donnée qui sera dédiée a Nextcloud. Pour commencer, créons ensemble une nouvelle base de donnée nextcloud
, puis par la création d'un nouvel utilisateur usernextcloud
avec comme mot de passe usernextcloud
mais bien sur vous pouvez mettre ce que vous souhaitez, et nous lui affecterons les droits nécessaires à cet utilisateur.
CREATE DATABASE nextcloud;
CREATE USER 'usernextcloud'@'localhost' IDENTIFIED BY 'usernextcloud';
GRANT ALL PRIVILEGES ON nextcloud.* TO 'usernextcloud'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Configuration du serveur web
Pour la configuration du serveur web apache2, nous allons créer un fichier de configuration unique de nextcloud, ce fichier sera dans le répertoire /etc/apache2/sites-available/
. Puis entrer avec un éditeur de texte (vim ou nano) avec cette commande :
nano /etc/apache2/sites-available/nextcloud.conf
Une fois dans le fichier, ajoutez-y le contenu suivant :
<VirtualHost *:80>
DocumentRoot /var/www/nextcloud/
ServerName votre_nom_de_domaine
<Directory /var/www/nextcloud/>
Require all granted
AllowOverride All
Options FollowSymLinks MultiViews
<IfModule mod_dav.c>
Dav off
</IfModule>
</Directory>
</VirtualHost>
Remplacez votre_nom_de_domaine
par votre nom de domaine ou l'adresse IP de votre serveur.
Ensuite nous allons activez le site ainsi que les modules qui sont nécessaires :
a2ensite nextcloud.conf
a2enmod headers env dir mime
Maintenant nous allons donner les droits adéquats aux fichiers et répertoires avec cette commande :
chown -R www-data:www-data /var/www/nextcloud/
Et nous redémarrons le service d'apache avec :
systemctl restart apache2
L'assistant d'installation graphique
Une fois cela fait, nous pouvons aller sur notre navigateur internet tel que Chrome et taper l'adresse IP ou le nom de domaine de votre serveur hébergeant Nextcloud, pour ma part ce sera http://192.168.1.36
, mais cette adresse IP pourra être différente chez vous.
Nous pouvons apercevoir l’assistant d’installation de Nextcloud, a ce moment la vous devez définir un nom d'utilisateur qui sera l'administrateur ainsi que son mot de passe. Vous allez également devoir indiquez le compte de la base de données qui nous avons préalablement définit dans l'installation de MariaDB, son mot de passe ainsi que le nom de celle-ci. Pour finir, cliquer sur "Installer".

Création des groupes
Depuis l'interface d'administration
Maintenant que nous avons fini la configuration, on va pouvoir ajouter un groupe. Pour cela cliquez sur votre avatar ou sur votre nom dans le coin supérieur droit de la page pour ouvrir le menu déroulant, puis cliquez sur l'onglet "Compte" dans le menu pour accéder à la gestion des groupes et des utilisateurs.
Dans la section de gauche, vous trouverez plusieurs onglets ou vous avez la possibilité de créer un nouveau compte et groupes. Pour commencer nous allons créer un nouveau groupe "Marketing". Dirigez vous dans la section de gauche puis cliquez sur le symbole "+" a coté de "Groupes". Une fenêtre apparaîtra vous invitant à entrer le nom de votre groupe.

Depuis l'interface de ligne de commande (CLI)
Pour pouvoir créer un groupe depuis l'interface de commande, déplacez vous dans le répertoire d'installation de Nextcloud /var/www/nextcloud
. Par la suite exécuter cette commande :
sudo -u www-data php occ group:add Vendeur
Cette commande nous permettra de créer un groupe nommé "Vendeur", si le groupe est créé avec succès alors un message apparaitra confirmant la création Created group "Vendeur"
.
Vous pouvez également si vous le souhaitez, voir la liste des groupes en tapant la commande :
sudo -u www-data php occ group:list
Création des utilisateurs
Depuis l'interface d'administration
Maintenant que l'on a créer un groupe, on vas pouvoir créer un nouvel utilisateur et l'ajouter au nouveau groupe que nous avons précédemment créer. Pour cela, cliquez sur le symbole "+ Nouveau compte" situé en haut a gauche, une fenêtre apparaitra comme ci-dessous, dans notre exemple, notre cobaye se nommera "Jean Michel" avec comme mot de passe "Azertyuiop1+!", en l'ajoutant dans le groupe "Marketing" et de le mettre en tant qu'administrateur de ce groupe. En plus de cela, il est également possible d'ajouter un e-mail, un quota et un responsable hiérarchique.

Depuis l'interface de ligne de commande
Pour pouvoir créer un utilisateur depuis l'interface de commande, déplacez vous dans le répertoire d'installation de Nextcloud /var/www/nextcloud
. Nous allons créer un utilisateur nommé "DCamille" qui sera ajouté au groupe "Marketing" et comme nom d'affichage "Camille Dupont". Par la suite exécuter la commande de la première ligne :
sudo -u www-data php occ user:add --display-name="Camille Dupont" --group="Marketing" "DCamille"
Enter password: #tapez un mot de passe pour cet utilisateur
Confirm password: #réecrivez le mot de passe
The account "DCamille" was created successfully
Display name set to "Camille Dupont"
Account "DCamille" added to group "Marketing"
Une fois la commande exécuter, il faudra entrer un mot de passe pour cet utilisateur, puis de le réécrire. Une fois cela fait, un message de confirmation apparaitra indiquant que l'utilisateur a bien été créer, que son nom d'affichage a été choisi comme étant "Camille Dupont", que son identifiant de connexion sera "DCamille", et que ce compte a été ajouté au groupe "Marketing".
Vous pouvez également si vous le souhaitez, voir la liste des utilisateurs en tapant la commande :
sudo -u www-data php occ user:list
Conclusion
Dans ce tutoriel, nous avons installé et configuré un serveur de stockage Nextcloud sur Debian 12, en mettant en place Apache, MariaDB et PHP. Ensuite, on a configuré Nextcloud, puis on a ajouté des utilisateurs et des groupes, depuis l'interface web, comme via la ligne de commande.
Ce tutoriel peut être réalisé sur un VPS By Hoster, qui offre une solution idéale pour l'hébergement de votre serveur Nextcloud. De plus, vous pouvez bénéficier de 10 % de réduction sur toute la boutique en choisissant By Hoster pour votre hébergement.
Pour nous aider à nous améliorer, n'hésitez pas à faire part de vos avis en commentaires ou même à poser vos questions si vous avez besoin d'aide supplémentaire.
Vous pouvez également partager cet article et nous suivre sur Twitter/X :
ainsi que sur Instagram :
