installation Nextcloud sur Mageia 6

L’installation de nextcloud sur mageia 6 n’a pas été « out-of-the-box » en ce qui me concerne. Pour vous faire gagner un peu de temps, voici à quoi j’ai été confronté et les solutions trouvées

En préambule, je précise que j’ai installé sur Mageia 6 , le trio apache-mysql-php fourni par défaut par mageia :

urpmi task-lamp nextcloud 

ou en interface graphique : centre de configuration mageia, sélectionnez « tous les paquetages » à la place de « applications graphiques » puis recherchez task-lamp et cochez-le. Ensuite, recherchez « nextcloud » et sélectionnez-le. Validez l’installation.

A partir de là, vous avez une installation standard et fonctionnelle qui utilise :
 sqlite comme base de données au lieu de mysql
 /usr/share/nextcloud comme dossier d’installation (mais la plupart des documentations de nextcloud font référence à /var/www/nextcloud)
 /var/lib/nextcloud pour stocker les données (mais la plupart des documentations de nextcloud font référence à /var/www/nextcloud/data)
 /etc/nextcloud/config.php pour définir la configuration (mais la plupart des documentations de nextcloud font référence à /var/www/nextcloud/config.php)

Changement de base de données

Personnellement j’ utilise mariadb (mysql) et non pas sqlite. D’ailleurs, task-lamp m’a installé phpmyadmin. J’ai donc créé une base de données dans mysql :

CREATE USER 'nextcloud_user'@'localhost' IDENTIFIED BY 'un_mot_de_passe';
CREATE DATABASE IF NOT EXISTS nextcloud;
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud_user'@'localhost' IDENTIFIED BY 'un_mot_de_passe';
FLUSH PRIVILEGES;

La première commande crée un utilisateur mysql dédié pour nextcloud, la seconde crée la base nextcloud, la troisième dit que l’utilisateur dédié ne peut utiliser que la base qu’on vient de créer. Enfin, « flush » permet que ces droits d’accès soient immédiats.

A ce stade, cela ne fonctionnait toujours pas : il me manquait le paquet « php-pdo_mysql ».
urpmi php-pdo_mysql
Comme le « installation wizard » me disait tout le temps qu’il n’avait que sqlite à disposition, j’ai fait une installation manuelle :

cd /usr/share/nextcloud/
sudo -u apache php occ  maintenance:install --database
"mysql" --database-name "nextcloud"  --database-user "nextcloud_user" --database-pass
"un_mot_de_passe" --admin-user "votre_pseudo" --admin-pass "votre_mot_de_passe"

On reprend évidemment les mêmes choix de base de données que plus haut et on ajoute le tout premier utilisateur (votre_pseudo) de nextcloud qui aura les droits d’administrateur sur l’interface web.

Accès par l’extérieur

Vous avez votre propre nom de domaine qui pointe vers votre serveur ou bien celui-ci est derrière une adslbox dont vous avez personnalisé le DNS alors il vous faut compléter le fichier /etc/nextcloud/config.php :

  'trusted_domains' => 
  array (
    0 => '192.168.0.10',
    1 => 'monpseudo.hd.free.fr.',
    2 => 'monnomdedomaine.fr',
  ),

Copiez vos fichiers dans nextcloud

Si vos fichiers à mettre sur votre cloud étaient auparavant dans owncloud ou dans un autre dossier, il vous faut le déplacer dans le dossier "data" (par défaut /var/lib/nextcloud) ou bien choisir de pointer vers l’emplacement que vous voulez utiliser (ou encore de faire un lien de l’emplacement par défaut vers votre emplacement réel) :

'datadirectory' => '/var/lib/nextcloud/data',

Ensuite, il faut demander à nextcloud de cataloguer et indexer tout ça :

sudo -u httpd php console.php files:scan --all
sudo -u httpd php occ maintenance:repair

Attention, ça va prendre un temps certain et il n’y a pas d’indicateur de progression...

Voilà , Nextcloud fonctionne sur Mageia 6 et adapté à mes besoins (qui sont peut-être les vôtres et c’est pour ça que j’ai écrit ce retour d’expérience).