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

owncloud_logo



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.3.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



Installer des modules complémentaires




On peut installer des modules complémentaires pour enrichir les fonctionnalités de ownCloud : https://apps.owncloud.com/

Exemple avec l'application Musique : https://apps.owncloud.com/content/show.php/Music?content=164319

On télécharge et dézippe l'archive sur le PC et envoyer dans owncloud/apps par FTP ou, directement depuis le serveur, télécharger avec wget (j'ai pris ici directement l'adresse sur le dépôt github) :

Se rendre d'abord dans le bon dossier :

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


Télécharger l'application :

Code BASH :
wget https://github.com/owncloud/music/releases/download/v0.3.6/music.zip


On dézippe :

Code BASH :
unzip music.zip


On donne les droits :

Code BASH :
chown -R apache:apache music


On supprime le zip précédemment téléchargé :

Code BASH :
rm music.zip


Ensuite dans Owncloud, on active l'application en allant dans Applications, puis Désactivées et activer Music.

owncloud_activer_musique



On peut le faire en ligne de commande :

Code BASH :
cd /var/www/html/owncloud/
sudo -u apache php occ app:enable music


On créé n'importe où un dossier avec ses musiques (Par exemple Musique à la racine) et on y place ses fichiers (MP3, OGG ...)

owncloud_televerser_musique



Enfin, en se rendant dans le menu, puis Musique, on peut écouter sa musique comme un site de streamming classique :

owncloud_jouer_musique



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


Si on ajoute à la main un fichier dans le dossier Owncloud : data/user/files/dossier1/fichier par exemple, il n'est pas visible dans owncloud.

Bien mettre le propriétaire du fichier : apache

Re-scanner avec occ les fichiers :

Code BASH :
sudo -u apache php occ files:scan --all