Julien Dutartre - Blog informatique - Scrum Master Versusmind

Nextcloud – Installer son Google Drive perso

Rédigé par Julien Aucun commentaire
Nextcloud logo

Nextcloud est une alternative open-source à Google Drive ou Dropbox. A là différence des ces derniers, Nextcloud stocke vos fichiers sur votre NAS ou votre serveur perso. Voyons comment on l’installe et l’utilise via cet article technique.

Nextcloud est le Google Drive ++ avec lequel nos données restent sous notre propriété. Google Drive et Dropbox fonctionnent parfaitement, ce sont des outils qui ont fait leurs preuves, cependant personne ne sait exactement ce que ces entreprises font de nos données. C’est pour cela que des alternatives comme Nextcloud existent. Il n’est pas le seul dans sa catégorie, on retrouve par exemple son grand frère ownCloud duquel il est dérivé. Les deux solutions s’installent sur votre NAS (Netgear ou Synology par exemple) ou alors sur votre serveur perso (comme une vieille machine qui tourne chez vous, ou un vrai serveur dédié). Seule « obligation », disposer de suffisamment d’espace disque pour tout stocker. Dans mon cas j’ai effectué une installation sur un serveur dédié avec le système d’exploitation Debian 8 « Jessie ».

On retrouve avec Nextcloud diverses fonctionnalités dont voici quelques exemples :

  • Synchronisation de fichiers entre le serveurs et son/ses ordinateurs avec un client à la Google Drive (client compatible Windows, Linux, OSX/MacOS, Android et iOS)
  • Partage de fichiers par lien avec date d’expiration ou non
  • Agenda
  • Gestion des contacts (téléphone, mail…)
  • Todo list
  • Et plein d’autres choses

Installation Nextcloud Server sur Debian 7 et 8

 

Plusieurs prérequis sont nécessaires pour une installation optimale de Nextcloud

  • Un serveur web (Apache/PHP ou Nginx/PHP-FPM) – dans mon cas Nginx
  • Un SGBD (MySQL ou MariaDB) – dans mon cas MySQL (SQLite n’est pas une option viable)
  • Un certificat SSL – avec Let’s Encrypt pour ma part (c’est gratuit !)

Installation des prérequis

L’installation se fait par les paquets

sudo apt-get update
sudo apt-get install nginx
sudo apt-get install php5-fpm php5-mysql

A noter que la version 7 de php fonctionne également parfaitement avec Nextcloud. Il faudra d’ailleurs que j’y passe pour ce service…

Créez un fichier de configuration Nginx pour votre vhost (/etc/nginx/site-available/nextcloud.conf) avec votre éditeur de texte favoris. Je vous mets  en exemple mon fichier de configuration légèrement modifié (configuré pour du ssl avec Let’s Encrypt et avec php5.6) :

server{
        listen 80;
        server_name mondomainecloud.com;
        return 301 https://$server_name$request_uri;  # enforce https
}

server {
         listen 443 ssl;
         server_name mondomainecloud.com;
ssl_certificate /etc/letsencrypt/live/mondomainecloud.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/mondomainecloud.com/privkey.pem;


  # Path to the root of your installation
  root /var/www/nextcloud/;

  # Disable gzip to avoid the removal of the ETag header
  gzip off;

  # Uncomment if your server is build with the ngx_pagespeed module
  # This module is currently not supported.
  #pagespeed off;

  rewrite ^/caldav(.*)$ /remote.php/caldav$1 redirect;
  rewrite ^/carddav(.*)$ /remote.php/carddav$1 redirect;
  rewrite ^/webdav(.*)$ /remote.php/webdav$1 redirect;

  index index.php;
  error_page 403 /core/templates/403.php;
  error_page 404 /core/templates/404.php;

  location = /robots.txt {
    allow all;
    log_not_found off;
    access_log off;
    }

  location ~ ^/(?:\.htaccess|data|config|db_structure\.xml|README){
    deny all;
    }
location / {
   # The following 2 rules are only needed with webfinger
   rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
   rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;

   rewrite ^/.well-known/carddav /remote.php/carddav/ redirect;
   rewrite ^/.well-known/caldav /remote.php/caldav/ redirect;

   rewrite ^(/core/doc/[^\/]+/)$ $1/index.html;

   try_files $uri $uri/ /index.php;
   }

   location ~ \.php(?:$|/) {
   fastcgi_split_path_info ^(.+\.php)(/.+)$;
   include fastcgi_params;
   fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
   fastcgi_param PATH_INFO $fastcgi_path_info;
   fastcgi_param HTTPS on;   
   fastcgi_pass php5-fpm-sock;
   }

   # Optional: set long EXPIRES header on static assets
   location ~* \.(?:jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {
       expires 30d;
       # Optional: Don't log access to assets
         access_log off;
   }
  }

Enfin créer un lien symbolique dans le dossier sites-enabled et redémarrer Nginx.

ln -s /etc/nginx/sites-available/nextcloud.conf /etc/nginx/sites-enabled/nextcloud.conf
systemctl restart nginx.service

Créer également un utilisateur mysql avec une base de données et les bons droits associés :

mysql> create database nextcloud;
mysql> 
mysql> GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextclouduser'@'localhost' identified by "passwordbiencompliqué";
mysql> flush privileges;
mysql> exit;

On peut maintenant passer véritablement à l’installation de Nextcloud.

Pour cela récupérez l’archive en suivant ce lien et en faisant un clic-droit sur tar.bz2 pour copier le lien

En ssh mettez vous dans votre document root défini par la directive root du fichier de configuration Nginx (dans notre exemple /var/www/nextcloud), puis téléchargez le fichier, décompressez le et mettez le bon propriétaire (exemple www-data).

wget https://download.nextcloud.com/server/releases/nextcloud-xxx.tar.bz2
tar xfvj nextcloud-xxxx.tar.bz2
rm nextcloud-xxxx.tar.bz2
chown -R www-data:www-data nextcloud

Maintenant rendez-vous sur votre navigateur et tapez le nom de domaine que vous avez choisi (dans mon exemple, mondomainecloud.com). Créez alors un compte administrateur, et sélectionner MySQL comme gestionnaire de base de données en cliquant sur « Stockage & base de données ». Dans notre cas la base de données et Nextcloud sont sur le même serveur, renseignez donc les informations suivantes comme nous l’avons fait tout à l’heure:

  • nextclouduser
  • lemotdepassechoisitoutalheure
  • nextcloud
  • localhost

A partir de là, vous pouvez vous connecter à l’interface d’administration de votre cloud !

Installation Nextcloud client sur Windows 10, OSX et Android

Ne vous inquiétez pas vous avez fait le plus dur ! Le reste de l’installation va se faire en quelques clics.
Maintenant que vous avez installé la partie serveur, il reste à télécharger et installer les clients de synchronisation. Ces logiciels clients s’installent sur vos machines de tous les jours et s’utilise de la même manière que Dropbbox ou Google Drive.

Sur Windows et Mac le téléchargement se fait par ce lien. Il suffit ensuite de se laisser guider et d’indiquer lors de l’installation l’url de son cloud personnel Nextcloud. Une fois fait vous vous retrouverez avec un dossier Nextcloud sur votre ordinateur permettant de synchroniser vos fichiers s’y trouvant entre votre serveur et votre pc/mac. Oui tout comme Google Drive (je sais je me répète). Sur Linux vous pouvez passer par le dépôt officiel github ou le gestionnaire de paquet de votre distrib.

En ce qui concerne Android et iOS, des applications gratuites se trouvent sur Google Play et l’AppStore. Ces applications permettent de retrouver vos fichiers mais également d’envoyer directement sur votre serveur toute nouvelle photo ou vidéo prise avec votre smartphone.

Dans un prochain article on passera à la configuration et l’utilisation plus avancé de Nextcloud. Bientôt à vous les joies du partage de fichier par lien, du partage de calendrier ou de la gestion de TODO List centralisée !

Écrire un commentaire

Quelle est la deuxième lettre du mot advvrw ?

Fil RSS des commentaires de cet article