Clipperz

De Le Wiki de debian-fr.xyz
Aller à : navigation, rechercher

Howto Clipperz: Installer et configurer Clipperz, édition communautaire, sur une Debian Squeeze

Qu'est-ce que c'est ?

Clipperz est un gestionnaire de mots de passe en ligne (accessible depuis un navigateur). Il vous permet, avec un seul mot de passe, d'accéder à toutes les données personnelles que vous aurez mis dans votre "portefeuille").

Tout le monde n'a pas envie de stocker des données confidentielles et sensible sur un serveur qui ne lui appartient pas, quelque soit les garanties proposées... Une édition communautaire de Clipperz vient de voir le jour, elle vous permet de l'installer sur votre serveur.

Je vous propose ici d'installer Clipperz sur votre serveur Squeeze Debian.

Prérequis

Pour installer Clipperz sur votre machine il faudra les programmes suivants:

  • Apache2 + PHP5 fonctionnels
  • Mysql
  • Il faudra aussi installer git-core, python-dulwich et php-services-json:
# apt-get install git-core python-dulwich php5-common php-services-json

Préparation du serveur apache2

C'est Apache2 qui sera chargé de mettre en ligne le programme. Nous créerons pour cela un sous-domaine dans notre DNS qui pointera vers un "Vhost" de notre serveur.

Activez apache ssl si ce n'est pas déjà fait; Créez un virtual host avec support ssl; Ajoutez le mod rewrite pour forcez https.

# nano /etc/apache2/sites-available/sous.domaine.net.vhost
<VirtualHost xxx.xxx.xxx.xxx:80>
      DocumentRoot /var/www/sous.domaine.net/web
[...]
 <IfModule mod_rewrite.c>
  <IfModule mod_ssl.c>
    <Location />
      RewriteEngine on
      RewriteCond %{HTTPS} !^on$ [NC]
      RewriteRule . https://%{HTTP_HOST}%{REQUEST_URI}  [L]
    </Location>
  </IfModule>
</IfModule>

</VirtualHost>

<VirtualHost xxx.xxx.xxx.xxx:443>
      DocumentRoot /var/www/sous.domaine.net/web
[...]

Création du répertoire et récupération des sources

cd ~/
mkdir clipperz
cd clipperz
git clone git://github.com/clipperz/password-manager.git

Compilation

Il faut faire une petite compilation, c'est pourquoi nous avons installé python-dulwich:

cd password-manager
./scripts/build clean install debug --frontends beta --backends php
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)

Conservez les checksum, cela vous permettra plus tard de vérifier que le fichier index.html n'est pas corrompu...

Installation

Installation dans votre vhost

Nous copions le résultat de la compilation dans la racine de notre vhost:

cp -R target/php/* /var/www/sous.domaine.net/web/
# chown -R web35:client0 /var/www/sous.domaine.net/web/
# chown -R root:root /var/www/sous.domaine.net/web/stats/

Nous créons une base Mysql:

# mysql -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 140
Server version: 5.1.49-3 (Debian)

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL v2 license

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

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.15 sec)

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

mysql> exit
Bye

Enfin nous éditons le fichier de configuration pour y ajouter les identifiants de la base Mysql:

cd /var/www/sous.domaine.net/web/
nano configuration.php
[...]
$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']	= 'pass';		//	database password
$configuration['port'] 	= '3306';		//	database port
[...]

Nous verrons plus tard pour le cryptage en 64bits

Finalisation de l'installation

Ouvrez un navigateur web avec l’url http://sous.domaine.net/setup/index.php pour faire l’installation de la base de données.


Clipperz.jpeg Clipperz2.jpeg Clipperz3.jpeg


Copiez le contenu du répertoire beta dans la racine du site:

cp -R beta/* /var/www/sous.domaine.net/web/

Pensez à supprimer ou à déplacer le répertoire setup pour éviter les mauvaises manips.

Si vous souhaitez activer le plugin "base 64", n'effacez pas tout de suite le répertoire /setup.

Créez un fichier à la racine de votre site un fichier robots.txt qui interdise aux "bots" de venir mettre leur nez dans votre site...

User-agent: *
Disallow: /

Vous pouvez maintenant accéder à Clipperz (http://sous.domaine.net)

Clipperz4.jpeg

Activation du Plugin "base 64"

Retournez au setup: http://sous.domaine.net/setup/index.php

Dans l'onglet "Manage plugins" Cliquez sur INSTALL

Clipperz5.jpeg Clipperz6.jpeg

Modifiez maintenant le fichier de configuration pour prendre en compte le plugin:

# nano configuration.php
[...]
$configuration['db_encoding'] = 1;
[...]

Puis recréez le base de donnée:

Clipperz7.jpeg Clipperz8.jpeg


C'est terminé, rendez vous sur votre "Clipperz": http://sous.domaine.net/ (vous devriez être rédirigé sur https://sous.domaine.net/)

Clipperz10.jpeg

Vous pouvez maintenant créer un compte et vous connecter.

Clipperz11.jpeg

Effacez le répertoire /setup de la racine de votre site

Protégez l'accès à votre vhost par un mot de passe

Afin d'éviter que n'importe qui ne vienne utiliser votre Clipperz, protégez son accès par un mot de passe:

cd /var/www/sous.domaine.net/web
htpasswd -c .htpass admin
New password: 
Re-type new password: 
Adding password for user admin
# nano .htaccess
AuthType Basic
AuthName "autorisation requise"
AuthBasicProvider file
AuthUserFile /var/www/sous.domaine.net/web/.htpass
Require user admin

Avec un mot de passe et fail2ban activé, vous ne risquez plus grand chose...

Sources

Lol 21 novembre 2011 à 07:26 (CET)