====== Teampass ======
[[http://teampass.net/|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 [[fr:https_ssl|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''.((C'est ce que le site officiel préconise, je ne sais pas si c'est forcément "le mieux" mais dans le doute...))
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 ''PHP function "mysqli_fetch_all" is available ''
* 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.
{{tag>Serveur Tutoriel Web}}