Clipperz
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.
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)
Activation du Plugin "base 64"
Retournez au setup: http://sous.domaine.net/setup/index.php
Dans l'onglet "Manage plugins" Cliquez sur INSTALL
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:
C'est terminé, rendez vous sur votre "Clipperz": http://sous.domaine.net/ (vous devriez être rédirigé sur https://sous.domaine.net/)
Vous pouvez maintenant créer un compte et vous connecter.
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)