Outils du site

fr:teampass

Teampass

Teampass est un gestionnaire de mot de passe collaboratif. Chaque utilisateur fait partie d'un ou plusieurs groupes, et chaque groupe a accès à un lot de mots de passe.

Installation

Prérequis

Vérifier que les paquets suivants sont installés :

  • Apache,
  • MySQL,
  • PHP 5.3.0 (ou plus récent),
  • mcrypt PHP extension,
  • openssl PHP extension,
  • ldap PHP extension (si utilisé)

Sur Debian Jessie :

apt-get install php5-mcrypt

Vérifiez aussi que votre serveur a un certicat ssl en fonctionnement (même auto-signé), la connexion en https est obligatoire.

Préparer la base de donnée

L'installation se fait via mysql et phpmyadmin, mais cela peut être adapté.

Ouvrir Phpmyadmin, sélectionner Bases de données (ou Databases si ce n'est pas francisé), créer une nouvelle base du nom qu'on veut (teampass par exemple) en sélectionnant l'encodage UTF8_general_ci.1)

Sélectionner l'onglet Privilèges. Cliquer sur ajouter un nouvel utilisateur (en dessous de la liste des utilisateurs), par exemple master_of_teampass. Pour le client, garder localhost. Choisir ou générer un mot de passe et le noter !

Ne donner aucun droit à cet utilisateur lors de la création.

Éditer ensuite ses privilèges, choisir “Privilèges spécifiques à une base de données” (en bas de la fenêtre), sélectionner la table de teampass, tout cocher, exécuter.

Le dossier Teampass

Télécharger et dézipper la dernière version de Teampass dans /var/www. Renommer le dossier comme on souhaite voir le lien apparaitre par la suite (par exemple “teampass”, en minuscule).

Vérifier que le dossier appartient bien à www-data et qu'il est écrivable

chown -R www-data:www-data ./teampass
chmod -R gu+rw ./teampass

En cas de souci lors de l'installation à propos de : mysqli_fetch_all

Modifier le fichier d'installation ./teampass/install/install.js :

  • Chercher “function*mysqli_fetch_all”,
  • Enlever ce morceau.
  • Enregistrer.

Modifier aussi le fichier d'installation ./teampass/install/install.php :

  • Chercher la ligne <li>PHP function "mysqli_fetch_all" is available&nbsp;<span id="res2_check9"></span></li>
  • L'enlever.
  • Enregistrer.

Pour ce mysqli_fetch_all, l'idéal serait d'avoir php configuré avec les bonnes options, mais ça parait pas très grave…

Temps d'execution de PHP

Lors de la phase finale d'installation, il risque d'y avoir une erreur sur PHP “Maximum execution time”. Pour modifier cela :

  • ouvrir avec un éditeur de texte /etc/php5/apache2/php.ini
  • Chercher max_execution_time et mettre 60 en valeur, au lieu de 30
  • Relancer Apache service apache2 restart

Finalisation

Aller à l'adresse web de teampass, par exemple https://khaganat.net/teampass . Il redirige automatiquement vers le dossier d'installation.

Lancez l'installation.

Sur la première fenêtre, vérifiez le chemin, (dans une version, il y avait une barre oblique de trop). Cliquez ensuite sur “Launch” et corrigez ce qui pourrait ne pas aller.

Seconde fenêtre :

  • Host : localhost
  • dataBase name : le nom de la base de donnée nouvellement créée (teampass)
  • Login : l'utilisateur gérant teampass
  • Password : son mot de passe
  • Port : laissez celui par défaut sauf si votre machine a un réglage spécial.

Troisième fenêtre :

  • Table prefix : teampass_
  • Encryption key (SaltKey): (générez)
  • Absolute path to SaltKey : Choisissez un dossier pour stocker la clé de salage qui soit en dehors de la zone web, par exemple dans /home. Donnez les droits à www-data sur ce dossier (chown -R www-data:www-data /home/user/salage
  • SMTP set-up: À remplir, ainsi que les suivants, d'après vos informations de connexion mail.
  • SMTP server :Email server configuration
  • SMTP authorization:false or true
  • SMTP authorization username :
  • SMTP authorization password :
  • SMTP Port :
  • SMTP security :
  • Email from :
  • Email from name :
  • Administrator account set-up: mot de passe du compte admin

Ensuite ça va tout seul, faites next jusqu'à start et connectez-vous !

En cas d'erreur lors de l'accès à la page teampass après l'installation, vérifier le fichier teampass/includes/settings.php. Un mot de passe avec des caractères accentués peut avoir été mal interprété et noté n'importe comment dans ce fichier.

Premier pas

Le premier admin est “admin”, avec le mot de passe renseigné lors de l'installation. Teampass est alors en mode maintenance, aucun utilisateur ne peux se connecter. C'est le moment de peaufiner les détails.

Créez des utilisateurs et des groupes, créez aussi un administrateur avec un nom moins commun que “admin”. L'administrateur peut gérer le fonctionnement général de Teampass mais pas accéder aux mots de passe. Créez-vous un autre compte pour modifier les mots de passes.

Activer LDAP

Je ne sais pas trop le détail des options, mais pour qu'un utilisateur se connecte, il faut d'abord qu'il soit créé via teampass, avec le même nom que dans ldap. Dans ce cas, teampass vérifie s'il existe et demande pas de mot de passe spécial.

http://teampasswordmanager.com/docs/ldap-authentication/

Teampass bloque sur les mots de passe contenant guillemets et apostrophes. Éditer la table mysql (via phpmyadmin par exemple) devrait régler ça. Je n'ai par contre pas trouvé les autres réglages pour que ldap fonctionne…

Aux dernières nouvelles, si Teampass était connecté à LDAP, les utilisateurs basiques ne pouvaient plus se connecter (comme si leur mot de passe était faux). Les admins pouvaient se connecter pour virer ldap dans les options de connexion ; tout rentrait alors dans l'ordre…

Restaurer Teampass

En cas de souci, que sauver de Teampass, et comment le réinstaller ?

À sauver régulièrement

  • Sauvez le dossier du “sel”, qui est en principe stocké dans un fichier lisible en clair.
  • Sauvez la base mysql de Teampass via un cron régulier : /usr/bin/mysqldump -u master_of_teampass -p$(cat /home/user/master_of_teampass_pass) –opt teampass > /home/user/mybackup/teampass.sql (modifiez le nom d'utilisateur, le dossier, le fichier où stocker le mot de passe en clair, etc…)
  • Sauvez aussi le dossier “teampass”. Tout ne sera pas utile, mais c'est pratique.

Pour restaurer/mettre à niveau

Téléchargez et dézippez la dernière version de Teampass. Si vous démarrez d'un serveur neuf,

  • remettez la base Mysql en place (mysql -u root -p -D BASE < BASE.sql ),
  • la clé de salage
  • et vérifiez que les options de base soient bien configurées (dossier accessible en écriture, modules de php activés, php.ini modifié…

Copiez de l'ancien dossier vers le nouveau les données suivantes :

  • teampass/includes/settings.php
  • teampass/files/*
  • teampass/upload/*
  • teampass/backup/* (si existant)

Rendez-vous à l'adresse http://your_domain/teampass/install/upgrade.php et suivez les indications. Tout devrait bien se passe.

Si vous ré-installez Teampass sur un autre nom de domaine, après avoir remis la base de donnée en place et AVANT l'upgrade, videz la table “teampass_misc”, elle contient le nom de domaine et devrait être régénéré lors de la mise à jour.

1)
C'est ce que le site officiel préconise, je ne sais pas si c'est forcément “le mieux” mais dans le doute…
fr/teampass.txt · Dernière modification: 2016/09/14 06:51 (modification externe)