Red Hat et dérivées version SERVEUR

Red Hat 8, Alma Linux 8 : Installer et configurer Nextcloud

Cet article a été mis à jour, vous consultez ici une archive de cet article!
Table des matières

nextcloud-logo



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)

nextcloud_tuto_install_1



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 :

nextcloud_tuto_install_2



Et voilà, nextcloud est installé ! :magic:

nextcloud_tuto_install_ok




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) :

nextcloud_tuto_update_1



Une fois fait, on est redirigé directement sur la nouvelle version :

nextcloud_tuto_update_2





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