Installer le gestionnaire de mots de passe CPassMan sur Debian
CPassMan est le nom court de Collaborative Password Manager. C'est un outil permettant de gérer les mots de passe communs à une équipe de travail. Ce guide vous aide à installer cette application sur Debian GNU/Linux.
Ce guide est testé sur:
- Debian 6.0 Squeeze
Pré-requis
Ce guide nécessite un serveur MySQL disposant du script mysql-tools disponible dans le guide Installer et configurer MySQL sur Debian.
Ce guide nécessite un serveur HTTP avec support du PHP disposant au choix d'un des scripts suivant :
- Le script a2tools disponible dans le guide Installer Apache 2 sur Debian.
- Le script lighty-tools disponible dans le guide Installer Lighttpd et PHP 5 sur Debian.
Paramètres
Renseignez le nom de domaine ou sera disponible l'application :
DOMAIN="passwords.domaine-exemple.fr"
Renseignez le nom d'hôte de votre serveur MySQL (si vous ne savez pas de quoi il s'agit, ne modifiez pas cette valeur) :
MYSQL_HOST="localhost"
Si votre serveur MySQL n'est pas local, ce guide effectuera une connexion SSH pour y créer la base de données.
Installation
Installez les modules PHP nécessaires au bon fonctionnement de l'application :
command apt-get install php5-mysql php5-mcrypt unzip apg
Redémarrez votre serveur HTTP pour prendre en compte les modifications :
test -x /etc/init.d/apache2 && /etc/init.d/apache2 force-reload test -x /etc/init.d/lighttpd && /etc/init.d/lighttpd force-reload
Récupérez le nom de la dernière version de l'application :
FILE=$(command wget "http://code.google.com/p/cpassman/downloads/list" \
--quiet --output-document=- \
| command grep --max-count=1 "//cpassman.googlecode.com/files/" \
| command sed -e 's|.*href="//cpassman.googlecode.com/files/\([^"]*\)".*|\1|')
Téléchargez la dernière version de l'application :
command wget "http://cpassman.googlecode.com/files/${FILE}" \
--output-document='/tmp/cpassman.zip'
Décompressez l'archive obtenue :
command unzip -d '/tmp' '/tmp/cpassman.zip'
Déplacez le dossier obtenu vers son emplacement final :
command mv '/tmp/cpassman' "/opt/${DOMAIN}"
Modifiez l'architecture des dossiers pour correspondre à la LSB :
command mkdir --parent "/var/lib/cpassman/${DOMAIN}"
command mv "/opt/${DOMAIN}/files" "/var/lib/cpassman/${DOMAIN}/files"
command mv "/opt/${DOMAIN}/upload" "/var/lib/cpassman/${DOMAIN}/upload"
command ln -s "/var/lib/cpassman/${DOMAIN}/upload" "/opt/${DOMAIN}/upload"
command ln -s "/var/lib/cpassman/${DOMAIN}/files" "/opt/${DOMAIN}/files"
Corrigez les permissions :
command touch "/opt/${DOMAIN}/install/settings.php"
command chown www-data:www-data "/opt/${DOMAIN}/install/settings.php"
command chown www-data:www-data "/opt/${DOMAIN}/install"
command chown www-data:www-data "/opt/${DOMAIN}/includes"
command chown www-data:www-data "/var/lib/cpassman/${DOMAIN}/files"
command chown www-data:www-data "/var/lib/cpassman/${DOMAIN}/upload"
Supprimez l'archive téléchargée :
command rm '/tmp/cpassman.zip'
Configuration
Créez la base de données :
if [ "${MYSQL_HOST}" = "localhost" ]; then MYSQL_PARAMS=$(command mysql-tools create-domain-db "${DOMAIN}") else command echo "Saisissez le mot de passe de l'utilisateur root MySQL :" command read PASSWORD MYSQL_PARAMS=$(command ssh "root@${MYSQL_HOST}" "command mysql-tools create-domain-db '${DOMAIN}' '$(command cat /etc/mailname)' '${PASSWORD}'") fi
Récupérez les paramètres de la nouvelle base de données :
MYSQL_DB="$(echo "${MYSQL_PARAMS}" | command grep -e "^MYSQL_DB" \ | cut --delimiter="=" --fields="2-")" MYSQL_USER="$(echo "${MYSQL_PARAMS}" | command grep -e "^MYSQL_USER" \ | cut --delimiter="=" --fields="2-")" MYSQL_PASSWORD="$(echo "${MYSQL_PARAMS}" | command grep -e "^MYSQL_PASSWORD" \ | cut --delimiter="=" --fields="2-")" echo "${MYSQL_PARAMS}"
Générez une clef de chiffrement des mots de passe en base de données :
command apg -m 32 -x 32 -n 1 -a 1 -M SNCL
Créez la configuration du serveur HTTP pour votre domaine :
if [ -x "/usr/bin/a2tools" ]; then command a2tools add-vhost "${DOMAIN}" "/opt/${DOMAIN}/" fi if [ -x "/usr/bin/lighty-tools" ]; then command lighty-tools add-vhost "${DOMAIN}" "/opt/${DOMAIN}/www" fi
L'application devrait maintenant être disponible sur le nom de domaine que vous avez choisi.
Terminez l'installation en vous rendant sur la page donnée par la commande :
echo "http://${DOMAIN}/install/install.php"
Une fois la configuration terminée, supprimez le dossier d'installation et corrigez les droits :
command rm -r "/opt/${DOMAIN}/install"
command rm "/opt/${DOMAIN}/readme.txt"
command chown root:root "/opt/${DOMAIN}/includes"
Il ne vous reste plus qu'a configurer l'application pour qu'elle corresponde à vos besoins.
Sauvegardes
Pour sauvegarder votre installation, je vous propose d'utiliser Backup Manager. Pour l'installer, vous pouvez suivre mon guide:
Installer et configurer Backup Manager sur Debian
Une fois Backup Manager installé, configurez la sauvegarde des fichiers de l'application :
command backup-manager-tools add "/opt/${DOMAIN}"
command backup-manager-tools add "/var/lib/cpassman"
Important: Sauvegarder les fichiers ne suffit pas ! Il faut aussi sauvegarder la base de données. La procédure pour ce faire est disponible dans l'article MySQL sur Debian.
Remerciements
- Merci aux développeurs de Collaborative Password Manager.