Installation de Clipperz sur Debian 7

Installation de Clipperz sur Debian 7
Jérémie Kassianoff
12 janvier 2014
5 min de lecture

Clipperz est un gestionnaire de mot de passe libre. Adapté pour un usage personnel et familial. Une interface web sécurisée et des algorithmes forts.

Cas d'usage concret

Vous cherchez un gestionnaire de mots de passe libre à héberger vous-même : voici comment installer Clipperz sur Debian 7.

Clipperz est un gestionnaire de mot de passe  open source sous licence AGPL v3.
La force de Clipperz est la possibilité de l’héberger soi-même et d’en modifier le code source.
Adapté pour l’usage personnel et familiale, il  propose des fonctionnalités intéressantes!
Cet article se base sur le Github de Clipperz, et sera installé sur une distribution Debian 7.

Pré-requis : Installation et compilation

Installation d’un serveur « LAMP » classique :

bash
apt-get install apache2 mysql-server php5-mysql php5

Installation de git et de python :

bash
apt-get install git-core python-git python-dulwich php-services-json

Télécharger le projet « passwordmanager » dans le Github de clipperz :

bash
git clone git://github.com/clipperz/password-manager.git

Se rendre dans le dossier :

bash
cd password-manager

Exécuter la compilation:

bash
./scripts/build install --backends php --frontends beta
bash
cleaning upMODULE: beta
MODULE: php
PHP builder - RUN
frontend [beta]: compressing JS code
frontend [beta]: compressing JS code
frontend [beta]: compressing CSS
frontend [beta]: compressing JS code
[PHP builder - beta] index.html checksum: 43ec93f292a1275928a6d657da2dc2d8 (md5)
[PHP builder - beta] index.html checksum: 38ee8108a1caed357ad76092a46d6b211dd79d11 (sha1)
[PHP builder - beta] index.html checksum: cdbef767238dec531ddc1da9d803b98681c6fbb6d6adac99266385c13b8f3211 (sha256)

Le checksum de l’index apparaît, conservez-le car il permet de savoir si vous êtes corrompu ou non !

Installation de clipperz

Le chemin d’installation de Clipperz sera défini dans le dossier :

bash
mkdir /var/www/clipperz/
cd /var/www/clipperz/

Copier l’ensemble de la compilation précédente à l’intérieur  :

bash
cp -R target/php/* /var/www/clipperz/

Le dossier appartiendra au serveur web :

bash
chown -R www-data:www-data /var/www/clipperz/

Lancer mysql en ligne de commande :

bash
mysql -p
=>Enter password: 
=>Welcome to the MySQL monitor.  Commands end with ; or g.
=>Your MySQL connection id is 100
=>Server version: 5.5.33-0+Wheezy1 (Debian)

Les requêtes SQL à ajouter seront les suivantes :

bash
mysql> create database clipperz;
Query OK, 1 row affected (0.02 sec)

mysql> grant all privileges on clipperz.* to 'clipperz'@'localhost' identified by "clipperz";
Query OK, 0 rows affected (0.14 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.06 sec)

mysql> exit
Bye

Le fichier de configuration de clipperz devra contenir les informations de la base de données :

bash
nano /var/www/clipperz/configuration.php

Retrouver cette partie dans la configuration du fichier et remplacer « password » :

bash
[...]
$configuration['db_encoding'] = 0;

// edit the information below to match your database settings

$configuration['db']    = 'clipperz';       //  database name
$configuration['host']  = 'localhost';  //  database host
$configuration['user']  = 'root';       //  database user
$configuration['pass']  = 'password';       //  database password
$configuration['port']  = '3306';       //  database port
[...]

Interface web avec « POG »*

Installation de la base de données avec « php object generator« 
Lancez avec votre navigateur : http://votre\_domaine/setup/index.php

Laissez par défaut les options « Tables » et « Tests« , puis cliquez sur « POG me up! »
La suite vous informe que tout s’est bien passé :

bash
Initializing POG Setup....OK!
File Structure....OK!
Configuration Info....OK!

Storage Status
    Aligning [record] with table 'record'....OK!
    Aligning [user] with table 'user'....OK!
    Aligning [onetimepassword] with table 'onetimepassword'....OK!
    Aligning [onetimepasswordstatus] with table 'onetimepasswordstatus'....OK!
    Aligning [recordversion] with table 'recordversion'....OK!

POG Essentials

record

Save()….OK! SaveNew()….OK! Delete()….OK! GetList() Limit….OK! Sorting….OK! DeleteList()….OK! Optimizing….OK! ***

user

Save()….OK! SaveNew()….OK! Delete()….OK! GetList() Limit….OK! Sorting….OK! DeleteList()….OK! Optimizing….OK! ***

onetimepassword

Save()….OK! SaveNew()….OK! Delete()….OK! GetList() Limit….OK! Sorting….OK! DeleteList()….OK! Optimizing….OK! ***

onetimepasswordstatus

Save()….OK! SaveNew()….OK! Delete()….OK! GetList() Limit….OK! Sorting….OK! DeleteList()….OK! Optimizing….OK! ***

recordversion

Save()….OK! SaveNew()….OK! Delete()….OK! GetList() Limit….OK! Sorting….OK! DeleteList()….OK! Optimizing….OK! POG Relations PreRequisites

record

Is properly connected (OK) ***

user

Is properly connected (OK) ***

onetimepassword

Is properly connected (OK) ***

onetimepasswordstatus

Is properly connected (OK) ***

recordversion

Is properly connected (OK) POG Relations

record

Addrecordversion()….OK! GetrecordversionList()….OK! Delete(recordversion)….OK! Save(recordversion)….OK! Set(recordversion)List….OK! Setuser()….OK! Getuser()….OK! ***

user

Addrecord()….OK! Addonetimepassword()….OK! GetrecordList()….OK! GetonetimepasswordList()….OK! Delete(record)….OK! Delete(onetimepassword)….OK! Save(record)….OK! Save(onetimepassword)….OK! Set(record)List….OK! Set(onetimepassword)List….OK! ***

onetimepassword

Setuser()….OK! Setonetimepasswordstatus()….OK! Getuser()….OK! Getonetimepasswordstatus()….OK! ***

onetimepasswordstatus

Addonetimepassword()….OK! GetonetimepasswordList()….OK! Delete(onetimepassword)….OK! Save(onetimepassword)….OK! Set(onetimepassword)List….OK! ***

recordversion

Setrecord()….OK! Getrecord()….OK! CHECKED 5 OBJECT(S). FOUND 0 ERROR(S). HURRAY! -----------------

Vous pouvez cliquer sur le bouton « Proceed » et c’est terminé !

Le plugin Base 64 peut être activé via « manage plugin » et « install ».
Éditez le fichier de configuration :

bash
[...]
$configuration['db_encoding'] = 1;

Le résultat dans « POG » :

bash
BASE64 Status

    Checking MySQL function....OK!

    Checking db_encoding status....OK!

BASE64 Status...OK!

---------------------------------------------------

Copier l’ensemble du répertoire « beta » à la racine du site web :

bash
cp -R beta/* /var/www/clipperz/

Quelques conseils pour la fin de l’installation :

  • Vous pouvez maintenant déplacer ou supprimer votre fichier « setup » afin de le rendre inaccessible.
  • La création d’un fichier robots.txt qui interdit l’indexation de votre Clipperz exemple :
bash
User-agent: *
Disallow: /
  • Désactiver les inscriptions dans le fichier « index.php » :
    Remplacer case « registration » par case « disabled_registration«

Une fois terminé votre interface web Clipperz est prête !

Amusez-vous bien.

Conclusion

J'ai présenté ici l'installation de Clipperz, un gestionnaire de mots de passe open source auto-hébergeable, sur une distribution Debian 7 avec une stack LAMP classique. La compilation du projet, la mise en place de la base de données via l'outil POG et l'activation du plugin Base64 permettent d'obtenir une interface web fonctionnelle en quelques étapes. Cette solution offre un bon compromis pour un usage personnel ou familial tout en gardant le contrôle total sur ses données sensibles.