Installation de Cozy Cloud, une solution d’auto-hébergement facile

Cozy Cloud est une plateforme auto-hébergée open source de cloud personnel simple et pratique. Voici comment faire pour l'installer !
logo cozy cloud

L’auto-hébergement est devenu aujourd’hui un phénomène qui ne cesse de prendre de l’ampleur, surtout depuis l’explosion des services dits “dans le Cloud”. De nombreuses solutions gratuites sont présentes, comme AjaXplorer (voir notre tutoriel d’installation), ownCloud, ou encore DropBox , Google Drive ou SkyDrive de Microsoft pour les services propriétaires.

Cozy Cloud est une solution d’auto-hébergement qui est est particulièrement simple d’utilisation. Voici pourquoi et comment faire pour l’installer sur votre serveur !

Pourquoi installer Cozy Cloud pour son auto-hébergement ?

Un des avantages indéniables faisant le contre-poids dans la balance en faveur de Cozy réside dans le fait que vous pouvez moduler le système comme bon vous semble ! Les seules limites étant les modules disponibles, dont le nombre ne cesse de croître de jour en jour. En effet, vous pouvez ajouter, modifier et supprimer tous les composants du système, selon vos besoins et vos ressources.

Le module « Todo List » ne vous est pas utile ? Supprimez le ! Vous avez besoin d’un agenda personnel ? Un module existe, facile de prise en main, et installable en 3 clics seulement !

Pour en savoir encore plus sur ce nouveau système d’auto-hébergement, une visite sur le site officiel du projet est conseillée, disponible sur https://cozy.io/fr/.

Cozy Cloud est une plateforme d’auto-hébergement à installer sur un serveur dédié à ce système, c’est à dire un serveur que vous pouvez modifier, configurer. Vous pouvez donc l’installer sur un VPS d’un hébergeur quelconque, ou votre RaspberryPi par exemple ! Vous ne pourrez pas l’installer (pour le moment) sur un FTP, comme les offres d’hébergements mutualisés.

LES MOTS CLÉS DE COZY :

  • Confidentialité – Vos données sont stockées où vous le souhaitez, dont vous seul êtes propriétaire ;
  • Maîtrise des technologies – Le projet Cozy se basant sur des technologies web fiables et réputées, en plus d’êtres libres, il vous est possible de modifier le système selon vos besoins et vos attentes ;
  • Contrôle total des données – Vous et vous-seul avez le contrôle intégral de vos données présentes sur la plateforme Cozy Cloud.

Installation de Cozy Cloud : le tuto détaillé

Dans notre situation, nous installerons le système sur une Debian Wheezy stable, bénéficiant des dernières mises à jour en date, sans paquets et autres services superflux (pas de serveur web, DNS ou autre).

Pour éviter tout problème de droit, il est nécessaire d’être connecté en « Root » sur votre serveur pour y effectuer l’installation.

Quelle machine virtuelle ?

La machine (virtuelle) que nous utilisons est totalement vierge, mais rien ne vous empêche d’installer Cozy sur votre serveur disposant d’un service annexe. Vous devrez toutefois faire attention à certaines dépendances et autres configurations annexes à effectuer pour que le système puisse être utilisable convenablement.

Après avoir mit à jour votre système (apt-get update && apt-get upgrade), vous devez installer au préalable les deux paquets nécessaires à l’exécution du script d’installation :

apt-get install python python-pip python-paramiko sudo

Utilisation du language Python

Comme le « suggère » le nom des paquets, vous allez installer le langage de programmation Python dans un premier temps, puis l’outil « python-pip« , qui vous permettra de manipuler les paquets exécutables au format Python. De plus, cet outil va nous permettre de télécharger les utilitaires et fichiers nécessaires à la compilation et l’installation de Cozy Cloud.

Vous devez aussi installer la librairie « paramiko » de Python, pour que le script d’installation puisse s’exécuter correctement. Cette librairie fourni un ensemble d’outils et d’utilitaires pour implémenter des connections SSH pour communiquer avec votre serveur de manière sécurisée, mais aussi de permettre des installations sécurisées.

Les paquets pré-requis étant maintenant installés, il faut saisir la commande suivante pour télécharger et installer les outils complémentaires de Python nécessaires à l’extraction et l’installation du script Cozy Cloud :

pip install fabric fabtools

Quelques explications complémentaires

  • Fabric : Un logiciel utilisé pour le déploiement d’applications et quelques tâches d’administration sytème ;
  • Fabtools : Une extension pour Fabric, permettant de créer des fichiers « fabfile ».

Lorsque les paquets sont installés, récupérez le fichier script permettant l’installation de Cozy Cloud – Le fichier est à récupérer directement sur le dépôt GitHub officiel du projet :

wget https://raw.github.com/mycozycloud/cozy-setup/master/fabfile.py

Le script ne pèse que quelques kilo-octets (~11 ko), le téléchargement se fait donc instantanément.

Il est maintenant possible de lancer l’installation !

Par défaut, vous pouvez lancer cette commande :

fab -H root@ip-server -f /emplacement/fichier/fabfile.py install
  • On lance l’installation « fab » à l’aide des outils fournis par Python, et les « fabtools » précédemment téléchargés ;
  • « -H root@ip-server » : On spécifie ici l’utilisation de « root » sur la machine où doit être installé Cozy Cloud ;
    Naturellement, vous devez changer ces options selon votre configuration – Vous pouvez aussi ajouter un port à côté de l’IP du serveur, en ajoutant « :22″ par exemple.
  • L’attribut « -f /emplacement/fichier/fabfile.py » est à spécifier si vous vous ne lancez pas le script au même endroit où se trouve le fichier « fabfile.py » de Cozy Cloud. Par défaut, vous pouvez saisir l’option, pour que l’outil « fab » trouve directement le fichier à utiliser.
  • « install » est on ne peut plus explicite : Lancement de l’installation !

Le script va se lancer, en vous demandant d’entrer le mot de passe de l’utilisateur concerné (l’utilisateur utilisé dans la ligne de commande d’installation) ; L’installation va pouvoir alors s’effectuer.

Selon la puissance matérielle de votre station, l’installation peut prendre plus ou moins de temps. De plus, si votre connexion internet dispose d’un débit assez faiblele téléchargement des paquets nécessaire risque de prendre un peu de temps.

Tous les paquets nécessaires quant à l’installation seront téléchargés automatiquement, vous n’avez pas besoin d’intervenir dans le processus. En moyenne, vous allez avoir plus de 150 paquets à télécharger, mais ceux-ci sont relativement petits et ne prennent que très peu de place sur le système.

Configuration du nom de domaine

Lors de l’installation, un nom de domaine vous sera demandé, peu après l’installation d’un utilitaire relatif à PythonCe nom de domaine concerne le module de messagerie. Le serveur de mails utilisé est « Postfix« . Le nom de domaine que vous entrerez vous permettra d’avoir une adresse en « contact@votrenomdedomaine.fr » (nom de domaine en gras) par exemple. Tout dépendra de la configuration que vous allez effectuer.

Plus loin dans l’installation, un certificat (pour la connexion SSLsera crééDes informations vous serons demandées, pour avoir un certificat disposant de données valides concernant l’identité du serveur. De préférence, remplissez correctement les formulaires et les questions posées. Les informations concerne le propriétaire du serveur, et donc indirectement le serveur aussi.

Au final, il vous sera demandé :

  • Les initiales du pays où le serveur est placé (e.q. : France = FR) ;
  • Région (e.q. : BASSE-NORMANDIE) ;
  • Nom du pays (e.q. : FRANCE) ;
  • Ville (e.q. : CAEN) ;
  • Nom de l’entreprise (e.q. : IDEALOGEEK) ;
  • Nom FQDN du serveur <OU> Nom du propriétaire du certificat et du serveur (e.q. : IDEALOGEEK.FR) ;
  • Mail du propriétaire (e.q. : contact@idealogeek.fr) ;

Naturellement, vous devez changer les informations selon votre identité personnelle et votre cas.

Le certificat précédemment créé est utile pour vérifier l’identité sur le site / serveur auquel on accèdeNous nous assurons ainsi que nous contactons bien notre serveur (bien que les certificats peuvent être falsifier, mais c’est une autre histoire).

Fin de l’installation de Cozy Cloud

L’installation arrive à son terme, après la création du certificat. En effet, la dernière étape consiste en l’installation d’un serveur web, pour que vous puissiez afficher convenablement Cozy. Le serveur installé est Nginx, un serveur libre et aussi puissant que l’ancien et vénérable « Apache2″.

La compilation se fait naturellement et automatiquement, sans que vous n’ayez besoin d’intervenir lors du processus de configuration. Les options spécifiques au serveur web vis-à-vis de Cozy seront elles aussi pré-configurées, pour que vous n’ayez pas besoin de passer du temps dans les lignes de codes.

Une fois la compilation et l’installation des paquets nécessaire au fonctionnement de CozyCloud, vous pouvez dès maintenant ouvrir l’interface web !

Lancez donc un navigateur web – Vous devez saisir l’adresse IP du serveur en mettant le protocole HTTPS avant. Soit (exemple) : https://ip-serveur-cozy

En arrivant sur l’interface de Cozy, une première page s’affichera – Vous devez créer votre premier utilisateur, qui sera l’administrateur du Cozy :

  • Il suffit donc de saisir votre adresse mail et un mot de passe fort pour sécuriser un minimum votre Cozy.
  • Appuyez sur la touche « Entrée » de votre clavier pour valider le formulaire et continuer la création du compte.
  • Lorsque le compte sera créé (la manipulation ne prend que quelques secondes), vous afficherez la page principale de Cozy

Bienvenue chez vous ! Vous n’avez plus qu’à profiter de votre nouveau cloud auto-hébergé et personnel ! 

Liste et résolution des problèmes possibles

Page d’accueil blanche intitulée « Welcome to Nginx ! »

L’erreur est due à cause d’un problème de saisie de protocole : En quelques mots, vous avez oubliez de saisir « https » devant l’IP de votre serveur Cozy.

Ainsi, vous devez saisir quelque chose de cette forme pour accéder au serveur : https://ip_du_serveur_cozy

Erreur SSL « ssl_error_rx_record_too_long »

SSL a reçu un enregistrement qui dépasse la longueur maximale autorisée.
(Code d'erreur : ssl_error_rx_record_too_long)

Dans un premier temps, supprimez le certificat SSL stocké dans votre navigateur correspondant au serveur Cozy.

Ainsi, vous devez avoir quelque chose de cette forme pour accéder au serveur : https://ip_du_serveur_cozy

Error 502 « Bad Gateway » – Nginx

L’erreur 502 arrive lorsque vous avez spécifié le protocole HTTPS, mais qu’il n’y a aucune réponse « derrière ». Par conséquent, le serveur ne sait pas / plus sur quel port communiquer avec Cozy.
Pour se connecter au serveur, Cozy utilise un serveur proxy autonome mit en place lors de l’installation. Ce dernier n’est alors peut être pas lancé, ou présente un problème de configuration.

Il faut alors mettre à jour le proxy, pour bénéficier des dernières mises à jour effectuées par l’équipe de Cozy Cloud :

npm update -g cozy-monitor

La mise à jour prend quelques instants, le temps de récupérer les fichiers nécessaires.

Une fois la mise à jour effectuée, il faut redémarrer non seulement le « proxy », mais aussi le « home », qui est l’interface de base de Cozy :

cozy-monitor restart proxy
cozy-monitor restart home

Une fois les deux modules redémarrés, relancez votre navigateur, et tester de nouveau la connexion sur votre Cozy – Vous devriez y accéder maintenant sans problème.

Erreur « Server Error Occured » lors de la création d’un premier compte Cozy

La solution a été trouvée par un visiteur -nemocorp-, merci à lui !

Il s’agit d’un problème de création de dossier : les « home directory » (répertoires des utilisateurs) pour les utilisateurs « cozy », « cozy-home » et « cozy-data-system » ne sont pas créés. Il faut donc les créer et y attribuer les droits correspondants.
Soit les commandes suivantes sont à passer :

sudo mkdir /home/{cozy,cozy-data-system,cozy-home}
chown -R cozy-data-system:cozy-data-system /home/cozy-data-system && chown -R cozy-home:cozy-home /home/cozyhome

L’installation est normalement effective après cette résolution – La création de compte doit se faire correctement suite à la création des dossiers.

Erreur de compilation lors du processus d’installation

Sur les versions stable de Debian, soit la version 7 « Wheezy », l’installation de CouchDB nécessite une version spécifique du moteur Javascript « SpiderMonkey ».Pour rectifier le problème, il faut alors éditer le fichier « fabfile.py » – A la ligne 169, vous devez avoir quelque chose de cette forme :

'libmozjs-dev',

Cette ligne est à modifier par celle-ci :

'libmozjs185-dev',

Vous pouvez ensuite relancer l’installation de Cozy, qui s’effectuera beaucoup plus rapidement que la première fois, compte-tenu de certains paquets étant déjà installés.