Installation et configuration de Nextcloud avec Apache (Debian 8.7)

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 ici.
Avant de l’installer, nous devons installer les dépendances nécessaires à son bon fonctionnement. Pour cela on tape la commande suivante :

# apt-get install php5-curl

Installation de Nextcloud

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

# wget https://download.nextcloud.com/server/releases/nextcloud-11.0.1.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 :

# apt-get install unzip

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

# unzip nextcloud-11.0.1.zip -d /var/www/html/

Création d’un VirtualHost pour Nextcloud

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

# vi /etc/apache2/sites-available/nextcloud.conf

Et on y enregistre :

<VirtualHost *:80>
     ServerAdmin postmaster@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/apache2/nextcloud/error.log
     LogLevel warn
     CustomLog /var/log/apache2/nextcloud/access.log combined
     ServerSignature Off
</VirtualHost>

Maintenant que l’on a configuré, le virtualhost, nous devons l’activer. Pour cela nous tapons la commande suivante :

# a2ensite nextcloud

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

# mkdir /var/log/apache2/nextcloud/

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

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

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

# chown -R www-data:www-data /var/www/html/nextcloud/apps/
# chown -R www-data:www-data /var/www/html/nextcloud/config/
# chown -R www-data:www-data /var/www/html/nextcloud/data/
# chown -R www-data:www-data /var/www/html/nextcloud/themes/
# chown -R www-data:www-data /var/www/html/nextcloud/updater/
# chown root:www-data /var/www/html/nextcloud/.htaccess

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

# apachectl configtest

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

# systemctl restart apache2.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 :

# vi /etc/hosts

Puis ajouter la ligne suivante :

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

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

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

12 commentaires

  • Bonjour,

    J’ai suivi tout le tutoriel et malheureusement tout ce que j’ai en accédant c’est le code php affiché en toutes lettres…
    Si vous pouviez m’aider ce serait super!

    En attendant votre réponse.
    Cordialement

  • J’ai du faire une erreur sur l’interface web parce que maintenant, il me mets, access denied. Que faire ?

    • Bonjour,

      Pouvez-vous m’en dire un peu plus svp. A quel moment avez-vous le message d’erreur ?

      • Au moment où je termine l’installation sur http://IP serveur/nextcloud.

        Je rentre un nom de compte admin, un mot de passe, le root et mdp de ma base et quand j’appuye sur le bouton, il m’affiche une page h/ttp://IP serveur/nextcloud//index.php/apps/files/ avec marqué accessdenied

        • Bonjour,

          D’après les informations fournies, il semblerait que vous ayez oublié de créer le compte utilisateur (nextcloud) ainsi que la base de données (nextclouddb) comme indiqué dans le tuto. Il faut suivre mon tuto https://www.lecoindesdocs.fr/2015/09/16/serveur-lamp-debian-8-1-66-creation-base-de-donnees-avec-phpmyadmin/ et refaire un test

          • J’ai bien fait cela, j’ai mes utilisateurs crée, avec une base de donnée à leurs noms où ils ont tout les droits dessus. Mais toujours ce problème

          • Bonjour,

            Il faudrait que vous regardiez dans les logs d’Apache (/var/log/apache2/nextcloud/error.log) pour déterminer plus précisément d’où vient le soucis (Problème au niveau de la base de données ou du site web) 🙂

            Sinon d’après ce que je comprends, vous indiquez avoir créé une base de données par utilisateur. Il ne faut pas. Une seule suffit. C’est une fois dans Nextcloud qu’il faut créer les utilisateurs 🙂

          • Il n’y a rien dans les log.

            Voici les captures du problèmes et des logs :
            Capture des logs
            Capture_pb

            Justement j’ai regardé tout ce qui pourrait poser un problème d’authentification. Comme le problème vient d’un fichier PHP je pense que le problème vient de la base. Mais j’ai suivi le tuto, de base de donnée mais ça n’a pas marché, j’ai donc essayé de créer une base par utilisateurs.

          • Bonjour,

            Il faudrait regarder le contenu du fichier /var/www/html/nextcloud/config/config.php, notamment les champs : dbtype, dbname, dbhost, dbuser et dbpassword. Si il n’y a rien d’incohérent supprimer ce fichier, connectez-vous sur Nextcloud et configurer le sur une nouvelle base de données

  • Bonjour merci pour le tuto, une fois sur la page d’accès de Nextcloud lorsque je rentre admin/admin et les éléments de connexion j’ai un message d’erreur ‘erreur sqlstate (28000)(1045)accès dennied for user « nextcloud@localhost(using password:yes)

Ajouter un Commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *