Red Hat 8, Alma Linux 8 : Installer et configurer Nextcloud
Table des matières
Nextcloud est un logiciel libre offrant une plateforme de services de stockage et partage de fichiers et d'applications diverses en ligne. Il est présenté comme une alternative à Dropbox lequel est basé sur un cloud public.
Ici, je réaliserai une installation via les sources officielles, car on ne sera pas contraint d'utiliser la version présente dans les dépôts EPEL qui n'est pas à jour.
Nextcloud étant une plateforme web, il est nécessaire d'installer et de configurer un serveur Web, PHP et un système de gestion de Base de Données.
On installe tout ce qu'il faut sur notre serveur pour faire fonctionner nextcloud (LAMP + wget + bzip2 + SSL) :
Pour la pile LAMP, se référer au tutoriel : https://www.linuxtricks.fr/wiki/centos-installer-et-configurer-un-serveur-lamp-7-et-8
Attention, la version 21 de Nextcloud demande au minimum PHP 7.3. Voir : https://www.linuxtricks.fr/wiki/rhel-et-derivees-installer-une-autre-version-de-php-grace-aux-modules
Si SELinux est actif, on active ce booléen permettant à nextcloud d'écrire dans le répertoire "data"
Dans un premier temps, on récupère les sources directement depuis le site officiel : https://nextcloud.com/install/#instructions-server
Ici, je vais le récupérer directement sur le serveur via wget (ici au moment du tuto c'est la version 21.0.0 mais téléchargez la dernière version) :
On extrait ensuite l'archive :
On met apache comme propriétaire des fichiers nextcloud :
Nous allons utiliser une base MariaDB, on aurait pu aussi utiliser sqlite. Mariadb offre de meilleures performances en cas de forte sollicitation de Nextcloud.
On créé la base de données :
Et on se créé un utilisateur pour nextcloud:
On créé un fichier pour la configuration du "VirtualHost" de nextcloud nommé /etc/httpd/conf.d/nextcloud.conf pour autoriser le .htaccess (directive AllowOvveride) et notre alias :
On redémarre le serveur Web pour prendre en compte la nouvelle configuration :
On se connecte ensuite sur le serveur : http://ip_serveur/nextcloud
On arrive sur la page de configuration.
On créé le premier utilisateur (qui sera administrateur)
On sélectionne la base de données "MySQL/MariaDB" en renseignant la base de données, l'utilisateur et le mot de passe associé dans les champs adéquats :
Et voilà, nextcloud est installé !
Si on veut mettre à jour Nextcloud , on peut procéder de 2 façons.
Dans un premier temps, on récupère les sources directement depuis le site officiel : https://nextcloud.com/install/#instructions-server
Ici, je vais le récupérer directement sur le serveur via wget (la mise à jour vers 21.0.1) :
On active le mode maintenance :
On extrait l'archive précédemment téléchargée :
On met à jour :
Et on désactive le mode maintenance :
On extrait ensuite l'archive au même endroit que la version précédente :
On met apache comme propriétaire des fichiers nextcloud:
On se connecte ensuite sur le serveur : http://ip_serveur/nextcloud
Et on fait la mise à jour (captures d'écran datent de la version 18 mais le principe est le même) :
Une fois fait, on est redirigé directement sur la nouvelle version :
J'ai découpé le tuto en 2, voir la suite ici : http://www.linuxtricks.fr/wiki/owncloud-configuration-et-administration-avec-le-script-occ
Ce tutoriel est vérifié avec RHEL, CentOS, AlmaLinux.
Introduction
Nextcloud est un logiciel libre offrant une plateforme de services de stockage et partage de fichiers et d'applications diverses en ligne. Il est présenté comme une alternative à Dropbox lequel est basé sur un cloud public.
Ici, je réaliserai une installation via les sources officielles, car on ne sera pas contraint d'utiliser la version présente dans les dépôts EPEL qui n'est pas à jour.
Prérequis
Nextcloud étant une plateforme web, il est nécessaire d'installer et de configurer un serveur Web, PHP et un système de gestion de Base de Données.
Installation des prérequis
On installe tout ce qu'il faut sur notre serveur pour faire fonctionner nextcloud (LAMP + wget + bzip2 + SSL) :
Code BASH :
dnf install wget bzip2
Pour la pile LAMP, se référer au tutoriel : https://www.linuxtricks.fr/wiki/centos-installer-et-configurer-un-serveur-lamp-7-et-8
Attention, la version 21 de Nextcloud demande au minimum PHP 7.3. Voir : https://www.linuxtricks.fr/wiki/rhel-et-derivees-installer-une-autre-version-de-php-grace-aux-modules
Configuration des éléments du système
Si SELinux est actif, on active ce booléen permettant à nextcloud d'écrire dans le répertoire "data"
Code BASH :
setsebool -P httpd_unified on
Installation de nextcloud
Dans un premier temps, on récupère les sources directement depuis le site officiel : https://nextcloud.com/install/#instructions-server
Ici, je vais le récupérer directement sur le serveur via wget (ici au moment du tuto c'est la version 21.0.0 mais téléchargez la dernière version) :
Code BASH :
wget https://download.nextcloud.com/server/releases/nextcloud-21.0.0.tar.bz2
On extrait ensuite l'archive :
Code BASH :
tar -xjf nextcloud-21.0.0.tar.bz2 -C /var/www/html/
On met apache comme propriétaire des fichiers nextcloud :
Code BASH :
chown -R apache:apache /var/www/html/nextcloud/
Configuration des services
Base de données
Nous allons utiliser une base MariaDB, on aurait pu aussi utiliser sqlite. Mariadb offre de meilleures performances en cas de forte sollicitation de Nextcloud.
On créé la base de données :
Code BASH :
mysql -u root -p
Code SQL :
CREATE DATABASE clouddb;
Et on se créé un utilisateur pour nextcloud:
Code SQL :
GRANT ALL ON clouddb.* TO 'clouddbuser'@'localhost' IDENTIFIED BY 'password'; FLUSH PRIVILEGES;
Apache
On créé un fichier pour la configuration du "VirtualHost" de nextcloud nommé /etc/httpd/conf.d/nextcloud.conf pour autoriser le .htaccess (directive AllowOvveride) et notre alias :
Code BASH :
vi /etc/httpd/conf.d/nextcloud.conf
Code BASH :
<IfModule mod_alias.c> Alias /nextcloud /var/www/html/nextcloud </IfModule> <Directory "/var/www/html/nextcloud"> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory>
On redémarre le serveur Web pour prendre en compte la nouvelle configuration :
Code BASH :
systemctl restart httpd.service
Configuration de nextcloud
On se connecte ensuite sur le serveur : http://ip_serveur/nextcloud
On arrive sur la page de configuration.
On créé le premier utilisateur (qui sera administrateur)
On sélectionne la base de données "MySQL/MariaDB" en renseignant la base de données, l'utilisateur et le mot de passe associé dans les champs adéquats :
Et voilà, nextcloud est installé !
Mettre à jour Nextcloud
Si on veut mettre à jour Nextcloud , on peut procéder de 2 façons.
Dans un premier temps, on récupère les sources directement depuis le site officiel : https://nextcloud.com/install/#instructions-server
Ici, je vais le récupérer directement sur le serveur via wget (la mise à jour vers 21.0.1) :
Code BASH :
wget https://download.nextcloud.com/server/releases/nextcloud-21.0.1.tar.bz2
Méthode CLI
On active le mode maintenance :
Code BASH :
cd /var/www/html/nextcloud/ sudo -u apache php occ maintenance:mode --on
On extrait l'archive précédemment téléchargée :
Code BASH :
cd /root tar -xjf nextcloud-21.0.1.tar.bz2 -C /var/www/html/
On met à jour :
Code BASH :
cd /var/www/html/nextcloud/ sudo -u apache php occ upgrade
Et on désactive le mode maintenance :
Code BASH :
sudo -u apache php occ maintenance:mode --off
Méthode Web
On extrait ensuite l'archive au même endroit que la version précédente :
Code BASH :
tar -xjf nextcloud-21.0.1.tar.bz2 -C /var/www/html/
On met apache comme propriétaire des fichiers nextcloud:
Code BASH :
chown -R apache:apache /var/www/html/nextcloud/
On se connecte ensuite sur le serveur : http://ip_serveur/nextcloud
Et on fait la mise à jour (captures d'écran datent de la version 18 mais le principe est le même) :
Une fois fait, on est redirigé directement sur la nouvelle version :
Configuration et administration avec le script OCC
J'ai découpé le tuto en 2, voir la suite ici : http://www.linuxtricks.fr/wiki/owncloud-configuration-et-administration-avec-le-script-occ