Logo Khaganat
Traductions de cette page?:

Ceci est une ancienne révision du document !


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 777 ./teampass

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 !

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 ?

  • Sauvegardez l'utilisateur qui se connecte à la base de donnée (exportez-le depuis mysql). Notez son mot de passe.
  • 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…)

Pour restaurer, réinstallez Teampass comme indiqué plus haut, MAIS :

  • Recréez une base de donné et son utilisateur ayant exactement les mêmes noms, droit et mots de passe (le plus simple est donc de créer la base de donnée vierge, puis d'importer l'utilisateur).
  • Faites l'installation normale, mais indiquez le même chemin pour le sel, le même salage, et le même mot de passe admin.
  • Une fois l'installation finie, videz la base Teampass toute nouvelle,
  • Sur la sauvegarde de l'ancienne base de donnée (teampass.sql), cherchez la ligne commençant par INSERT INTO `teampass_misc`. Sur cette ligne, remplacez l'ancienne adresse web par votre nouvelle adresse (https://mondomaine.com//) afin d'éviter d'être redirigé ensuite. * puis injectez en ligne de commande la sauvegarde modifiée : mysql -u root -p -D teampass < teampass.sql (adaptez suivant le nom de la base, bien sûr…) * Si Teampass vous déclare alors que le logiciel n'est pas à jour, méfiance ! il risque de modifier des choses, rendant les mots de passe illisibles. Faites la mise à jour et en cas de souci, répétez la phase précédente : videz la base de donnée de teampass, puis réinjectez la sauvegarde.
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…
CC Attribution-Share Alike 4.0 International Driven by DokuWiki
fr/teampass.1451056322.txt.gz · Dernière modification : 2021/12/03 19:18 (modification externe)

Licences Mentions légales Accueil du site Contact