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

Introduction





ownCloud 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 de CentOS qui n'est pas à jour, ou ajouter un dépôt tiers.



Prérequis





OwnCloud é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.

Je vais utiliser ici Apache + MariaDB + PHP.



Installation des prérequis





On installe tout ce qu'il faut sur notre serveur pour faire fonctionner ownCloud (LAMP + wget + bzip2 + SSL) :



Code BASH :
yum install httpd php php-mysql mariadb-server mariadb sqlite php-dom php-mbstring php-gd php-pdo php-process wget bzip2 mod_ssl openssl




Configuration des éléments du système





Si SELinux est actif, on active ce booléen permettant à ownCloud d'écrire dans le répertoire "data"



Code BASH :
setsebool -P httpd_unified on




Et on autorise dans le pare-feu les protocoles http et https :



Code BASH :
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https




On active les services concernés au démarrage :



Code BASH :
systemctl enable httpd.service
systemctl enable mariadb.service




Et on les démarre :



Code BASH :
systemctl start httpd.service
systemctl start mariadb.service




Installation de ownCloud





Dans un premier temps, on récupère les sources directement depuis le site officiel : https://owncloud.org/install/#instructions-server



Ici, je vais le récupérer directement sur le serveur via wget :



Code BASH :
wget https://download.owncloud.org/community/owncloud-8.1.1.tar.bz2




On extrait ensuite l'archive :



Code BASH :
tar -xjf owncloud-8.1.1.tar.bz2 -C /var/www/html/




On met apache comme propriétaire des fichiers ownCloud :



Code BASH :
chown -R apache:apache /var/www/html/owncloud/




Configuration des services





Base de données





Si on est sur une nouvelle base de données, on l'initialise :



Code BASH :
mysql_secure_installation




On créé ensuite la base de données :



Code BASH :
mysql -u root -p




Code SQL :
CREATE DATABASE clouddb;




Et on se créé un utilisateur pour ownCloud :



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 ownCloud nommé /etc/httpd/conf.d/owncloud.conf pour autoriser le .htaccess (directive AllowOvveride) et notre alias :



Code BASH :
vi /etc/httpd/conf.d/owncloud.conf




Code BASH :
<IfModule mod_alias.c>
   Alias /owncloud /var/www/html/owncloud
</IfModule>
<Directory "/var/www/html/owncloud">
   Options Indexes FollowSymLinks
   AllowOverride All
   Order allow,deny
   allow from all
</Directory>




On redémarre le serveur Web pour prendre en compte la nouvelle configuration :



Code BASH :
systemctl restart httpd.service




Configuration de ownCloud





On se connecte ensuite sur le serveur : http://ip_serveur/owncloud



On arrive sur la page de configuration.

On créé le premier utilisateur (qui sera administrateur)



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



owncloud_centos_2





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



Mettre à jour Owncloud





Si on veut mettre à jour ownCloud, on peut procéder de 2 façons.

Ici dans l'article, j'ai utilisé la version 8.1.1 et depuis il y a eu la 8.1.3.



Dans un premier temps, on récupère les sources directement depuis le site officiel : https://owncloud.org/install/#instructions-server



Ici, je vais le récupérer directement sur le serveur via wget :



Code BASH :
wget https://download.owncloud.org/community/owncloud-8.1.1.tar.bz2






Méthode CLI





On active le mode maintenance :



Code BASH :
cd /var/www/html/owncloud/
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 owncloud-8.1.3.tar.bz2 -C /var/www/html/




On met à jour :



Code BASH :
cd /var/www/html/owncloud/
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 owncloud-8.1.3.tar.bz2 -C /var/www/html/




On met apache comme propriétaire des fichiers ownCloud :



Code BASH :
chown -R apache:apache /var/www/html/owncloud/




On se connecte ensuite sur le serveur : http://ip_serveur/owncloud



Et on fait la mise à jour :



owncloud_centos_3





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



owncloud_centos_4







Petites astuces





Augmenter la taille maxi des fichiers téléversables





Par défaut, on ne peut pas téléverser des fichiers de plus de 2Mo. (Limitation de la configuration de PHP).



Si on souhaite monter la limite à 512Mo par exemple, il faut éditer le fichier /etc/php.ini et modifier les lignes suivantes :



Code BASH :
upload_max_filesize = 512M
post_max_size = 512M




Et bien sûr redémarrer httpd :



Code BASH :
 systemctl restart httpd




OCC : Script d'administration





Il existe un script dans owncloud nommé "occ" à la racine de ownCloud.

On peut effectuer des tâches d'administration avec.



Code BASH :
cd /var/www/html/owncloud




Le script s'exécute avec php et avec les droits apache.



La liste des commandes est disponible via :



Code BASH :
sudo -u apache php occ list




Et pour avoir l'aide sur une commande (exemple avec le mode maintenance) :



Code BASH :
sudo -u apache php occ help maintenance:mode




Par exemple, on peut activer et désactiver un "mode maintenance" pour Owncloud.



Code BASH :
sudo -u apache php occ maintenance:mode --on




Et pour le désactiver :



Code BASH :
sudo -u apache php occ maintenance:mode --off