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.
Vérifier que les paquets suivants sont installés :
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.
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.
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
:
“function*mysqli_fetch_all”,
Modifier aussi le fichier d'installation ./teampass/install/install.php
:
<li>PHP function "mysqli_fetch_all" is available <span id="res2_check9"></span></li>
Pour ce mysqli_fetch_all, l'idéal serait d'avoir php configuré avec les bonnes options, mais ça parait pas très grave…
Lors de la phase finale d'installation, il risque d'y avoir une erreur sur PHP “Maximum execution time”. Pour modifier cela :
max_execution_time
et mettre 60 en valeur, au lieu de 30service apache2 restart
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 :
Troisième fenêtre :
/home
. Donnez les droits à www-data sur ce dossier (chown -R www-data:www-data /home/user/salage
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.
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.
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…
En cas de souci, que sauver de Teampass, et comment le réinstaller ?
/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…)Téléchargez et dézippez la dernière version de Teampass. Si vous démarrez d'un serveur neuf,
mysql -u root -p -D BASE < BASE.sql
), Copiez de l'ancien dossier vers le nouveau les données suivantes :
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.