Vous êtes ici : Accueil / Debian GNU/Linux / Applications Web / Gestion de mots de passes / Installer le gestionnaire de mots de passe CPassMan sur Debian

Installer le gestionnaire de mots de passe CPassMan sur Debian

Par Pierre-Yves Landuré Dernière modification 02/11/2012 17:35

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 :

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