Utiliser Debian et dérivées

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

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 :
apt install apache2 libapache2-mod-php php php-cli php-{curl,gd,intl,memcache,xml,zip,mbstring,json} bzip2 wget


Reportez-vous à cet article pour plus d'infos sur l'installation et la configuration d'un serveur Web sur Debian : https://www.linuxtricks.fr/wiki/debian-installer-un-serveur-lamp-apache-mysql-php


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 :

Code BASH :
wget https://download.nextcloud.com/server/releases/nextcloud-18.0.0.tar.bz2


On extrait ensuite l'archive :

Code BASH :
tar -xjf nextcloud-18.0.0.tar.bz2 -C /var/www/html/


On met apache comme propriétaire des fichiers nextcloud :

Code BASH :
chown -R www-data:www-data /var/www/html/nextcloud


Ici, vous l'aurez compris, nextcloud sera joignable via Vous pouvez décompresser à la racine du serveur web si votre serveur ne sert qu'à NextCloud !

Configuration des services




Base de données



Lors de l'installation, on a plusieurs choix : MySQL/MariaDB, PostgreSQL, Sqlite.

SQLite



Pour des petites bases de données, on peut utiliser SQLite :

Code BASH :
apt install sqlite3 php-sqlite3


MySQL / MariaDB



Pour des bases de données plus grosses, on peut choisir MariaDB :

Code BASH :
apt install mariadb-server


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

Code BASH :
vi /etc/apache2/sites-enabled/nextcloud.conf


Code BASH :
<IfModule mod_alias.c>
   Alias /owncloud /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 apache2.service


Configuration de nextCloud




On se connecte ensuite sur le serveur : [url=http://ip_serveur/nextcloud]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


Code BASH :
cd /root
wget https://download.nextcloud.com/server/releases/nextcloud-18.0.1.tar.bz2




Méthode CLI




On active le mode maintenance :

Code BASH :
cd /var/www/html/nextcloud/
sudo -u www-data php occ maintenance:mode --on


On extrait l'archive précédemment téléchargée :

Code BASH :
cd /root
tar -xjf nextcloud-18.0.1.tar.bz2 -C /var/www/html/


On met apache comme propriétaire des fichiers nextcloud :

Code BASH :
chown -R www-data:www-data /var/www/html/nextcloud/


On met à jour :

Code BASH :
cd /var/www/html/nextcloud/
sudo -u www-data php occ upgrade


Et on désactive le mode maintenance :

Code BASH :
sudo -u www-data 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-18.0.1.tar.bz2 -C /var/www/html/


On met apache comme propriétaire des fichiers nextcloud :

Code BASH :
chown -R www-data:www-data /var/www/html/nextcloud/


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

Et on fait la mise à jour :

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 : https://www.linuxtricks.fr/wiki/owncloud-et-nextcloud-configuration-et-administration-avec-le-script-occ