Initialisation TeamPass

De EjnTricks

Suite à l'installation de la version 2.1.21, cet article présente la mise à jour depuis une instance de CPassMan version 1.8.2.

Hand-icon.png Votre avis

Nobody voted on this yet

 You need to enable JavaScript to vote


Icon-database-process.png Base de données

La mise à jour va nécessiter la mise à jour du schéma, comme la création de nouvelle table. Afin de s'assurer du bon fonctionnement, le compte utilisé, cpassman dans le cadre de cette installation, est mis à jour avec des privilèges importants.

mysql> GRANT ALL ON cpassman.* TO 'cpassman'@'localhost';
Query OK, 0 rows affected (0.02 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)


Pour mémoire, les comptes avaient été limités aux suivants, comme expliqué dans l'article de préparation de la base de données pour CPassMan.

  • SELECT
  • INSERT
  • UPDATE
  • DELETE


Icon-memory.png Configuration php

Les procédures de mises à jour peuvent prendre du temps. Sur des versions plus récentes de l'application, un message invite les utilisateurs à régler le paramétrage php max_execution_time. Par défaut la valeur est de 30 secondes et sera passée temporairement à 300, pour être tranquille.

Dans le cadre de cette installation, le fichier se situe à l'emplacement /etc/php/7.0/apache2/php.ini et est modifié ainsi.

;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;

; Maximum execution time of each script, in seconds
; http://php.net/max-execution-time
; Note: This directive is hardcoded to 0 for the CLI SAPI
;max_execution_time = 30
max_execution_time = 300


Configuration-icon.png Configuration instance

Sagissant d'une mise à jour, il est nécessaire de copier / référencer le fichier settings.php de la précédente version dans la nouvelle. L'installation de l'ancienne version avait été réalisée sous /var/opt/cpassman/cpassman-1.82, et le répertoire /var/opt/teampass/common a été mise en place afin d'externaliser ce type de fichier.

#sudo cp /var/opt/cpassman-1.82/includes/settings.php /var/opt/teampass/common/includes/
#sudo chown www-data:www-data /var/opt/teampass/common/includes/settings.php
#sudo chmod 600 /var/opt/teampass/common/includes/settings.php

pour rappel, le fichier avait la structure suivante.

<?php
global $lang, $txt, $k, $chemin_passman, $url_passman, $mdp_complexite, $mngPages;
global $smtp_server, $smtp_auth, $smtp_auth_username, $smtp_auth_password, $email_from,$email_from_name;
global $server, $user, $pass, $database, $pre, $db;

$k['charset'] = "ISO-8859-1";  //the charset you want to use    : French => ISO-8859-15
@define('SALT', 'PRIVATE KEY'); //Define your encryption key => NeverChange it once it has been used !!!!!

### EMAIL PROPERTIES ###
$smtp_server = "smtp.my_domain.com";
$smtp_auth = false; //false or true
$smtp_auth_username = "";
$smtp_auth_password = "";
$email_from = "";
$email_from_name = "";

### DATABASE connexion parameters ###
$server = "localhost";
$user = "DB USER NAME";
$pass = "DB USER PASSWORD";
$database = "DB NAME";
$pre = "TABLE PREFIX";

?>

Lors de la procédure de mise à jour, ce fichier sera lu afin de récupérer les informations nécessaires.

Une fois externalisé, il suffit de le référencer dans le répertoire d'installation de l'instance. Dans le cadre de cette mise à jour, le lien est placé sous /var/opt/teampass/2.1.21.1/includes.

#sudo ln -s /var/opt/teampass/common/includes/settings.php /var/opt/teampass/2.1.21.1/includes/settings.php
#sudo chown -h www-data:www-data /var/opt/teampass/2.1.21.1/includes/settings.php


Start-icon.png Exécution mise à jour

Le démarrage de la mise à jour s'effectue en accédant à l'URL http://SERVER/teampass/install/upgrade.php, pour un déploiement avec la racine teampass.

La première page donne des informations relatives à la procédure de mises à jour, ainsi que quelques pré requis.


Il suffit de cliquer sur le bouton Next.

La page suivante invite l'utilisateur à saisir l'emplacement d'installation de l'instance. Les pré requis php sont également mentionné. Il faut avoir installé les modules suivants.

  • php_mcrypt;
  • php_openssl.


Dans le cadre de cette mise à jour, l'emplacement doit être modifié pour refléter le répertoire d'installation, soit /var/opt/teampass/teampass.

En cliquant sur le bouton Launch, les vérifications sont réalisées.


A noter que la clé privée est récupérée depuis le fichier settings.php, masquée dans la copie d'écran.

Le bouton Next devient valide et il faut cliquer dessus pour passer à l'étape suivante, ou la configuration de la base est réalisée avec récupération des informations depuis le fichier settings.php.

Attention, il y a un bug sur cette étape. Malgré que le mot de passe soit correctement présenté, il est nécessaire de le saisir à nouveau dans la zone de texte. Si le test authentification échoue.

Les informations doivent correspondre à la base de données cible à mettre à jour.

Le bouton Launche permet de vérifier que les informations saisies sont correctes. EN cas de succès un message de validation est présenté au dessus des boutons.


Le bouton Next devient valide et il faut cliquer dessus pour passer à l'étape suivante.


Dans le cadre de cette mise à jour, la base de données était encodé en latin1. Or, TeamPass ne supporte plus que l'UTF-8 à présent et une conversion est proposée.

A noter qu'il est possible de conserver une sauvegarde des tables. Ceci n'est pas utilisé, préférant repartir d'un dump en cas de problème.

Celle-ci est démarrée en cliquant sur le bouton Launch. Une fois la conversion terminée, un message de succès est affiché et le bouton Next devient actif.


En cliquant sur le bouton Next, la page de mise à jour est présentée avec les actions qui seront réalisées.


Il faut déclencher la mise à jour en cliquant sur le bouton Launch. En fin d'exécution, toutes les actions doivent être identifiées avec une coche verte.

A noter que les mots de passe doivent être de nouveau cryptés. Le boutton Click to continue est apparu avec une information sur le nombre de mots de passe affectés.

En cliquant sur celui-ci, le process est déclenché et une information sur la progression est affichée.


Une fois terminée, un mesage est affiché est le bouton Next est disponible.


L'étape suivante permet de spécifier l'emplacement du fichier contenant la clé privée. Celle-ci n'est plus sauvegardée dans le fichier settings.php mais dans un fichier externalisé. Il est recommandé que celui-ci ne soit pas dans l'arborescence de l'instance afin d'éviter de l'exposer sur le serveur Web, même si il serait possible de l'exclure avec des règles d'accès.

Par défaut, l'emplacement est /includes, soit dans l'application et donc non conseillé, et il faut modifier cette valeur. Comme décrit dans la phase d'initialisation, l'emplacement spécifié est /var/opt/teampass/common/saltkey.


Il faut alors cliquer sur le bouton Launch. La création du fichier est alors réalisée ainsi que la mise à jour du fichier settings.php.


Le bouton Next devient actif et il faut cliquer dessus et la mise à jour est alors terminée.