Skip to main content

Installation de Nextcloud

Dans un premier temps, nous allons faire :
sudo apt update -y && sudo apt upgrade -y
Puis nous allons installer LAMP (Linux, Apache, MySQL et PHP) qui contient tout ce dont a besoin Nextcloud pour fonctionner.
Cela passe donc par l'installation d'Apache, MySQL et tout PHP. Ici j'installe les dernières versions disponibles lors de la documentation.
Donc installons le serveur web Apache2 :
sudo apt install apache2 -y

image.png

Puis activons-le et autorisons-le à démarrer au démarrage :
sudo systemctl start apache2 && sudo systemctl enable apache2

image.png

Installons maintenant le serveur de base de données nécessaire pour Nextcloud, ici ce sera MariaDB Server :
sudo apt install mariadb-server -y

image.png

Puis activons-le et autorisons-le à démarrer au démarrage :
sudo systemctl start mariadb && sudo systemctl enable mariadb

image.png

Et installation de PHP et ses dépendances nécessaires à Nextcloud :
Debian 13 :
sudo apt install php libapache2-mod-php php-cgi php-mysqli php-pear php-phpseclib php-mysql php-mbstring php-zip php-gd php-curl php-common -y
Debian 12 :
sudo apt install php php-cli php-mysql php-curl php-gd php-mbstring php-xml php-zip -y
image.png
Maintenant crée la base de données pour Nextcloud avec une utilisation :
sudo mysql
CREATE USER 'nextuser'@'localhost' IDENTIFIED BY 'VotremotdepasseICI';
CREATE DATABASE nextdb;
GRANT ALL PRIVILEGES ON nextdb.* TO 'nextuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Donc, on rentre dans la console MySQL, puis on crée l'utilisateur, puis la base de données et on donne tous les droits. Puis on sort :

image.png

Maintenant, téléchargeons Nextcloud avec la commande wget et on va dans le dossier HTML avant :
cd /var/www/html
wget https://download.nextcloud.com/server/releases/latest.zip

image.png

Puis on le dézip, lui donne les droits web puis élève les droits également aux fichiers du type exec :
unzip latest.zip
chown -R www-data:www-data nextcloud/
find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;

image.png

Et on supprime le fichier zip :
rm latest.zip

image.png

Passons à la configuration d'Apache 2. Nous allons créer la configuration d'activation du lien interne de Nextcloud. Il permet de dire où se trouve chaque paramètre et page. Pour mon cas, je vais faire avec Nano :
sudo nano /etc/apache2/sites-available/nextcloud.conf

image.png

Et pour le début on vas resté en HTTP qui est en port 80 donc on ne touchera pas à "VirtualHost *:80" et ne mettais pas ce qui est en #:
<VirtualHost *:80>
ServerName lerenard.eu #ici mettais votre domaine ou n'importe quoi si vous en avait pas
DocumentRoot /var/www/html/nextcloud

<Directory /var/www/html/nextcloud>
AllowOverride All
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

image.png

Vous faites Ctrl + x, puis il demandera si vous voulez enregistrer. Vous faites "o" ou "y" et vous faites entrer.
Maintenant nous allons réécrire la configuration de Apache, puis appliquer le "nextcloud.conf" (sauf si vous avez nommé autrement), puis désactiver la configuration de base de Apache qui affiche la page que Apache2 fonctionne, ce qui permettra d'avoir par défaut Nextcloud :
sudo a2enmod rewrite
sudo a2ensite nextcloud.conf
sudo a2dissite 000-default.conf

image.png

Et comme il faut redémarrer le service web Apache2, on fait donc :
systemctl restart apache2

image.png

Maintenant, dans un navigateur internet, tapez l'adresse IP de votre serveur et vous devriez avoir ça :

image.png

Ici, nous allons mettre un nom de compte pour l'administrateur, ici j'ai mis renard puis mis un mot de passe. Après, on va se pencher sur le compte de base de données où nous allons mettre le nom du compte créé dans MySQL et le mot de passe associé, puis on lui dit le nom de la base de données. On finit par faire "Installer :

image.png

Si tout va bien, vous arriverez ici :

image.png

Pour mon exemple, je vais laisser tout coché mais vous pouvez cocher tous ou laisser certaines, cela dépend de vos besoins.
image.png
Nous avons donc finit ici pour l'installation.