Installation d’un cloud personnel avec NextCloud

Jusqu’à présent j’utilisais OwnCloud pour synchroniser et stocker les informations (contacts téléphoniques notamment) de mon téléphone mobile. Le serveur n’est pas accessible d’internet et je synchronise en WIFI seulement à la maison, ce qui suffit à mon utilisation. A ce sujet j’avais rédigé ce post. Cela permet de ne pas dépendre d’un tiers qui est rarement de confiance comme Google (entre autres) pour stocker ses informations personnelles. Il se trouve qu’OwnCloud a dérivé petit à petit vers un produit commercial ce qui conduit à la création d’un fork appelé NextCloud. Aujourd’hui certaines fonctions ne sont présentes que dans la version payante d’OwnCloud alors qu’elle reste disponible dans NextCloud. De fait NextCloud semble s’imposer comme outil de Cloud et j’ai donc fait le choix de migrer d’OwnCloud à NextCloud.

A vrai dire je ne suis pas parti d’une migration de données même s’il existe des outils pour le faire. J’ai considéré que j’avais peu de données à migrer et que cela ne valait pas le coup d’autant qu’elles restaient stockées sur le téléphone et que je pouvais toujours peupler facilement la base à l’installation de NextCloud. Pour l’installation de NextCloud, rappelons qu’il faut disposer d’un serveur httpd avec PHP et un serveur de bases de donnée (autrement dit un serveur LAMP (Linux, Apache, MySQL/MariaDB et PHP)). Ensuite l’installation est assez simple, on peut se baser sur cette page. J’ai installé le package, qu’on récupèrera par , sous /var/www/nextcloud. On donnera la propriété du répertoire à l’utilisateur du process httpd tel que défini dans le fichier httpd.conf avec la commande chown.

chown -R daemon:daemon /var/www/nextcloud

Côté configuration d’Apache, voilà ce qu’on retrouve dans le fichier httpd.conf

<Directory "/var/www/nextcloud">
  Require all granted
  AllowOverride All
  Options FollowSymLinks MultiViews

  <IfModule mod_dav.c>
    Dav off
  </IfModule>
</Directory>

et puis j’ai défini l’accès à NextCloud par un simple alias

Alias /nextcloud "/var/www/nextcloud"

et toujours dans le même fichier on veillera au chargements des modules headers, env, dir et mime. Pour la configuration de PHP, j’ai dû reprendre complètement sa compilation et rajouter les options de compilation –with-password-argon2 –with-freetype –with-external-gd. Ce n’est pas suffisant j’ai dû installer les modules PHP, redis, memcached et apcu qui gèrent le cache, qu’on installera en tapant en tant que root :

pecl install redis
pecl install memcached
pecl install apcu

A noter que memcached utilise libmemcached qu’on récupèrera par et qu’on installera en tapant

tar xvfz libmemcached-1.0.18.tar.gz
cd libmemcached-1.0.18
./configure
make
make install

Si vous avez une erreur du style

clients/memflush.cc:42:22: error: le C++ ISO interdit la comparaison entre un pointeur et un entier [-fpermissive]

Il suffira d’éditer le fichier Makefile et de rajouter -fpermissive aux déclarations des directives CFLAGS et CXXFLAGS. Maintenant on modifiera le fichier php.ini et on rajoutera à la fin.

extension=redis.so
extension=apcu.so
apc.enabled=1
apc.enable_cli=1
extension=memcached.so

On relance Apache et voilà ce que ça donne à la première connexion à l’URL http://votre-serveur/nextcloud.

On définit le compte administrateur, le répertoire des données ainsi que le type de base de données, attention à l’avertissement il est préférable d’utiliser une base de donnée avec MySQL/MariaDB plutôt qu’avec SQLite.

Je m’attarde maintenant sur la synchronisation avec le mobile, pour les contacts et le calendrier c’est identique à la configuration avec OwnCloud décrite dans mon post . On utilisera l’application DAVdroid, si vous aviez déjà un compte précédent avec un serveur OwnCloud vous constaterez qu’il n’est pas possible de modifier l’URL du serveur, il faut supprimer le compte et en recréer un autre. Attention d’exporter préalablement tous vos contacts et entrées d’agenda ! Ensuite sous DAVdroid on entre l’URL du style http://mon-serveur/nextcloud/remote.php/dav et on se laisse guider, vous trouverez par quelques copies d’écran. A noter que vous pouvez aussi bien passer par un QR Code pour lancer la connexion.

Pour la synchronisation des fichiers du portable (dont images et vidéos) on utilisera simplement l’application Android NextCloud.

Sinon niveau utilisation on retrouve donc ses contacts dans le client web de NextCloud et il est toujours plus facile de les gérer sur PC que sur le petit écran du mobile.

On accède également à son mail même si je préfère un outil comme roundcube mail comme évoqué ici.

Pour le reste je vous renvoie vers la documentation d’utilisation de NextCloud.

2 réflexions sur « Installation d’un cloud personnel avec NextCloud »

  1. bonjour,
    je ne suis pas du tout développeur, j’ai cependant réussi via call_instal.php d’installer nextcloud sur un serveur dedié.
    cependant je souhaiterai modifier le type de base de données par défaut SQlite en un MySQL.
    Là impossible de comprendre ce que j dois faire pour la conversion, je ne saisi pas comment “appeler” et utiliser OCC.
    pourriez-vous me guider
    (je suis sous CPANEL)
    merci beaucoup

Laisser un commentaire