TeamPass Installation
Cet article présente l'installation de TeamPass sur une machine Ubuntu et en mode autonome. L'installation a été réalisée en effectuant une mise à jour d'une instance de CPassMan.
Pour être tout à fait honnête, la mise à jour n'est franchement pas évidente car réalisée tardivement. De plus, celle-ci a été réalisée suite à une mise à jour du serveur Ubuntu version 16.04, sur lequel les composants suivants ont été mis à jour.
Or, l'application n'est pas totalement compatible et l'installation initiale est réalisée avec une version assez ancienne, pour ensuite monter progressivement les versions.
Il est également impératif de sauvegarder la base de données avant de dérouler les actions suivantes. Le risque est relativement important, et la sauvegarde permet de repartir depuis le début.
La mise à jour est réalisée avec la version 2.1.21
. Au moment de rédiger l'article, une version 2.1.20
était disponible mais totalement incompatible avec une version de php 7.X
.
Cet article est en cours de rédaction, des problèmes de migration depuis cpassman sont toujours en train d'être investigués
Sommaire
Base de données
Lors de l'installation de CPassMan, la base de données avait été créée avec l'encoding latin1
. Or entre temps, des modifications ont été réalisée et il semblerait que l'encoding soit à présent UTF-8
. Donc dans le cadre de cette installation / mise à jour, il est nécessaire de changer l'encoding de la base, de nom cpassman
, avec la procédure suivante.
#mysqldump --add-drop-table -u root -p -c -e --default-character-set=utf8 --single-transaction --skip-set-charset --add-drop-database -B cpassman > dump_cpassman.sql Enter password: #sed 's/DEFAULT CHARACTER SET latin1/DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci/' < dump_cpassman.sql | sed 's/DEFAULT CHARSET=latin1/DEFAULT CHARSET=utf8/' > dump_cpassman-utf8.sql #mysql -u root -p < dump_cpassman-utf8.sql Enter password:
Mise en place instance
Pré requis
L'installation d' OwnCloud s'effectue uniquement en déployant le paquet officiel et l'exposer sous un serveur Web comme Apache, nécessitant l'activation de plusieurs modules requis.
- mcrypt;
- openssl, disponible par défaut.
Il faut donc s'assurer que les paquets sont installés.
Comme indiqué sur la documentation officielle, les paquets sont installés avec apt-get
.
#sudo apt-get install php-mcrypt
Initialisation
L'application va être installée sous /var/opt/
avec une organisation qui doit permettre de faciliter les montées de version. Un répertoire commun est mis en place /var/opt/teampass
dans lequel les binaires sont installés.
#sudo mkdir /var/opt/teampass #sudo chown www-data:www-data /var/opt/teampass #sudo chmod 700 /var/opt/teampass
Lors de l'installation, il sera nécessaire de créer / copier un fichier de paramétrage ainsi qu'un répertoire pour contenir une clé "privée". Comme ces fichiers seront repris de version en version, une externalisation est réalisée et sera pointée à l'aide de lien. Tout ceci est placé dans le répertoire parent /var/opt/teampass/common
. Comme la mise à jour a été tenté plusieurs fois, il est dès à présent connu la nécessité d'avoir deux répertoires.
-
includes
dans lequel sera placé le fichier de configuration; -
saltkey
dans lequel sera placé le fichier avec la clé privée.
#sudo mkdir -p /var/opt/teampass/common/includes #sudo mkdir -p /var/opt/teampass/common/saltkey #sudo chown -R www-data:www-data /var/opt/teampass/common #sudo chmod -R 700 /var/opt/teampass/common
Téléchargement
L'application est téléchargée dans le répertoire /tmp
.
#sudo wget -O /tmp/teampass-2.1.21.tar.gz https://github.com/nilsteampassnet/TeamPass/archive/2.1.21.tar.gz
Installation
Elle est installée en décompressant l'archive.
#sudo tar -C /var/opt/teampass -xzvf /tmp/teampass-2.1.21.tar.gz #sudo rm /tmp/teampass-2.1.21.tar.gz
La décompression est effectuée dans le répertoire TeamPass-2.1.21
que l'on peut renommer pour avoir uniquement le numéro de version.
#sudo mv /var/opt/teampass/TeamPass-2.1.21 /var/opt/teampass/2.1.21
Puis le lien /var/opt/teampass/teampass
est mis en place pour référencer la version active. Ainsi, il sera facile de préparer les mises à jours, il suffira de modifier le lien.
#sudo ln -s /var/opt/teampass/2.1.21 /var/opt/teampass/teampass #sudo chown -h www-data:www-data /var/opt/teampass/teampass
Propriétaire fichiers
L'installation a été réalisée avec le compte root
. Il est préférable de donner la propriété au compte de démarrage du serveur web, soit www-data
dans le cadre de cette installation.
#sudo find /var/opt/teampass/2.1.21/ -exec chown www-data:www-data {} \;
Sécurisation
Après avoir modifier le propriétaire des fichiers, il est conseillé de positionner des droits restrictifs afin que seul le propriétaire puisse accéder à ceux-ci.
#sudo find /var/opt/teampass/2.1.21/ -type f -exec chmod 0600 {} \; #sudo find /var/opt/teampass/2.1.21/ -type d -exec chmod 0700 {} \; #sudo chmod 700 /var/opt/teampass/2.1.21
Correctifs
Cependant, toutes les tentatives préalablement réalisées ont mis en évidence quelques bugs. Une copie de l'instance est réalisée sous le répertoire /var/opt/teampass/2.1.21.1
afin d'y apporter divers correctifs / patches. Ceux-ci sont décrit dans la page des bugs.