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 Gitbut de Clipperz, et sera installé sur une distribution Debian 7.
Pré-requis : Installation et compilation
Installation d’un serveur « LAMP » classique :
apt-get install apache2 mysql-server php5-mysql php5
Installation de git et de python :
apt-get install git-core python-git python-dulwich php-services-json
Télécharger le projet « password–manager » dans le Github de clipperz :
git clone git://github.com/clipperz/password-manager.git
Se rendre dans le dossier :
cd password-manager
Exécuter la compilation:
./scripts/build install --backends php --frontends beta
cleaning up … MODULE: 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 :
mkdir /var/www/clipperz/ cd /var/www/clipperz/
Copier l’ensemble de la compilation précédente à l’intérieur :
cp -R target/php/* /var/www/clipperz/
Le dossier appartiendra au serveur web :
chown -R www-data:www-data /var/www/clipperz/
Lancer mysql en ligne de commande :
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 :
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 :
nano /var/www/clipperz/configuration.php
Retrouver cette partie dans la configuration du fichier et remplacer « password » :
[...] $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é :
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 :
[...] $configuration['db_encoding'] = 1;
Le résultat dans « POG » :
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 :
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 :
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 !
De nouveaux articles sur Clipperz arriveront prochainement…