Installation et configuration de Nextcloud avec Apache (CentOS 7.3)

Nextcloud un fork (dérivé) d’Owncloud. Il a été créé en 2 juin 2016, suite à des conflits d’intérêt entre les développeurs et la société ownCloud Inc.

Je pars du principe que nous avons un serveur web (Apache sans virtualhost, PHP, MariaDB) fonctionnel. Si ce n’est pas le cas vous pouvez suivre la documentation que j’ai écrite et que vous trouverez respectivement ici, ici, et la.

Avant de l’installer, nous devons installer les dépendances nécessaires à son bon fonctionnement. Pour cela on tape la commande suivante :

1
# yum install php-dom php-gd php-ldap php-mbstring php-xml

Installation de Nextcloud

Nous allons récupérer l’archive contenant les fichiers Nextcloud via la commande suivante :

1
# curl -O https://download.nextcloud.com/server/releases/nextcloud-10.0.3.zip

Avant de dézipper l’archive précédemment téléchargée nous devons installer « unzip ». Pour cela on tape la commande suivante :

1
# yum install unzip

Maintenant que nous avons récupéré l’archive, nous allons la décompresser via la commande suivante :

1
# unzip nextcloud-10.0.3.zip -d /var/www/html/

Création d’un VirtualHost pour Nextcloud

Nous allons créer un VirtualHost via la commande suivante :

1
# vi /etc/httpd/conf.d/nextcloud.conf

Et on y enregistre :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
<VirtualHost *:80>
     ServerAdmin postsmaster@moncloud.fr
     ServerName www.moncloud.fr
     DocumentRoot /var/www/html/nextcloud/
     <Directory /var/www/html/nextcloud/>
          Options +FollowSymLinks
          AllowOverride All
          <IfModule mod_dav.c>
               Dav off
          </IfModule>
          SetEnv HOME /var/www/html/nextcloud/
          SetEnv HTTP_HOME /var/www/html/nextcloud/
     </Directory>
     ErrorLog /var/log/httpd/nextcloud/error.log
     LogLevel warn
     CustomLog /var/log/httpd/nextcloud/access.log combined
     ServerSignature Off
</VirtualHost>

On va créer le répertoire qui contiendra les fichiers de log de Nextcloud via la commande suivante :

1
# mkdir /var/log/httpd/nextcloud/

Nous devons créer le répertoire data afin de procéder à la configuration de Nextcloud :

1
# mkdir /var/www/html/nextcloud/data

Nous allons modifier le propriétaire sur les répertoires et fichiers pour le bon fonctionnement de Nextcloud :

1
2
3
4
5
6
# chown -R apache:apache /var/www/html/nextcloud/apps/
# chown -R apache:apache /var/www/html/nextcloud/config/
# chown -R apache:apache /var/www/html/nextcloud/data/
# chown -R apache:apache /var/www/html/nextcloud/themes/
# chown -R apache:apache /var/www/html/nextcloud/updater/
# chown root:apache /var/www/html/nextcloud/.htaccess

Afin de pouvoir utiliser Nextcloud avec SELinux, nous devons installer le paquet « policycoreutils-python » via la commande suivante :

1
# yum install policycoreutils-python

Maintenant nous pouvons modifier le context appliqué sur les fichiers et répertoires de Nextcloud. Pour cela on tape les commandes suivantes :

1
2
3
4
# semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/nextcloud/apps(/.*)?"
# semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/nextcloud/config(/.*)?"
# semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/nextcloud/data(/.*)?"
# restorecon -rv /var/www/html/nextcloud/

On vérifie que l’on n’a pas fait d’erreur lors de la configuration de notre VirtualHost via la commande suivant :

1
# apachectl configtest

Si en retour on obtient un « Syntax OK », on rend le VirtualHost créé disponible via la commande suivante :

1
# systemctl restart httpd.service

Nous allons maintenant créer la base de données MariaDB à l’aide de la documentation que j’ai écrite précédemment ici avec les informations suivantes :

  • database : nextclouddb
  • username : nextcloud
  • mot de passe : mon_mot_de_passe

Configuration de Nextcloud

Afin de pouvoir accéder à votre site via l’url http://www.moncloud.fr, il faut ajouter une ligne au fichier « /etc/hosts ». Pour cela on édite le fichier via la commande suivante :

1
# vi /etc/hosts

Puis ajouter la ligne suivante :

1
xxx.xxx.xxx.xxx www.moncloud.fr

On vérifie ensuite que le VirtualHost fonctionnent en accédant à http://www.moncloud.fr/ On configure un compte « Administrateur » ici admin avec son mot de passe

https://www.lecoindesdocs.fr/images/2017/02/13/Configuration_Nextcloud_Create_Admin_account.png

On clique sur « Configurer la base de données » puis on rentre les informations comme ci-dessous, puis on clique sur « Terminer l’installation »

https://www.lecoindesdocs.fr/images/2017/02/13/Configuration_Nextcloud_Configure_Database_connection.png

Voila l’installation et la configuration de Nextcloud est terminée

https://www.lecoindesdocs.fr/images/2017/02/13/Configuration_Nextcloud_Configuration_finish.png