Teampass

De SLM - MediaWiki

Installation

Creation container debian 11 proxmox

Connecter vous sur la page web proxmox

  • Create CT

900px

900px

900px

900px

900px

900px

900px

Se connecter en ssh

900px

900px

900px

Installation des pré-requis

Mise à jour du serveur

apt update
apt upgrade

Installer Apache

apt install apache2 -y

Activer Apache au démarrage

systemctl enable apache2

Installer la base de données MariaDB

apt install mariadb-server -y

Installer Git

apt install git -y

Créer le répertoire de la clé de salage et lui attribuer des droits

mkdir /var/teampass
chown www-data:www-data /var/teampass/

Configuration de MariaDB

Nous initialiserons la base de données MariaDB et nous répondrons aux questions comme ci-dessous :

mysql_secure_installation
Enter current password for root (enter for none):
OK, successfully used password, moving on...
Change the root password? [Y/n] Y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
 ... Success!
Remove anonymous users? [Y/n] Y
 ... Success!
Disallow root login remotely? [Y/n] Y
 ... Success!
Remove test database and access to it? [Y/n] Y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!
Reload privilege tables now? [Y/n] Y
 ... Success!
Cleaning up...

Se connecter à la base de données avec les identifiants précédemment rentrés.

mysql -u root -p

Créer une base de données pour Teampass

create database teampassdb character set utf8 collate utf8_bin;

Créer un utilisateur ayant les droits pour accéder à cette base

grant all privileges on teampassdb.* to teampass@localhost identified by 'team_pass';
flush privileges;
quit

Installation du projet

Récupérer les sources de l’outil et les placer dans le bon répertoire.

apt install zip
cd /tmp
wget https://github.com/nilsteampassnet/TeamPass/archive/refs/tags/3.0.0.9.zip
unzip 3.0.0.9.zip
mkdir /var/www/html/teampass/
cp -r TeamPass-3.0.0.9/* /var/www/html/teampass/

Donner les droits adéquats

chown -R www-data:www-data /var/www/html/teampass/
chmod -R 775 /var/www/html/teampass/

Mettre a jour php

source

https://dev.to/pushkaranand/upgrading-to-php-7-4-26dg

A l'heure de cet article, (25/01/2022) Teampass n'est pas compatible php 8.x

  • Mettre à jour les depots
apt install apt-transport-https lsb-release apt-transport-https
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg # Download the signing key
sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' # Add Ondrej's repo to sources list.
apt update
apt upgrade

Installer les modules annexes nécessaires

apt install php7.4 libapache2-mod-php7.4 php7.4-mysql -y
apt install php7.4-{curl,mbstring,bcmath,common,gd,xml,fpm,ldap}
a2enmod proxy_fcgi setenvif
a2enconf php7.4-fpm


  • Desinstaller les ancienne version
apt purge php7.3 libapache2-mod-php7.3 # For removing old PHP 7.3
  • On redemarre
service apache2 restart
  • Verifier la nouvelle version
php -v

Configuration de PHP

Reconfigurer quelques paramètres dans PHP dont le temps de session, la mémoire et la taille des pièces jointes:

nano /etc/php/7.4/apache2/php.ini

Puis nous modifierons les lignes comme ci dessous:

max_execution_time = 60
memory_limit = 256M
upload_max_filesize = 100M

Configurer les certificat ssl

Nextcloud_letsencrypt

Configuration du VHost Apache

Configurer le VHost nécessaire a la publication du site

nano /etc/apache2/sites-available/teampass.conf
ServerName teampass.slemoal.fr

<VirtualHost *:80>
    UseCanonicalName Off
    ServerAdmin contact@slemoal.fr
    DocumentRoot "/var/www/html/teampass"

    RewriteEngine On
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost>

<VirtualHost *:443>
    SSLEngine on
    ServerAdmin contact@slemoal.fr
    SSLCertificateFile /etc/ssl/certs/teampass.slemoal.fr.cer
    SSLCertificateKeyFile /etc/ssl/private/teampass.slemoal.fr.key
    DocumentRoot "/var/www/html/teampass"

    <IfModule mod_headers.c>
      Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
    </IfModule>
</VirtualHost>

<Directory /var/www/html/teampass>
    Options +FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

ErrorLog ${APACHE_LOG_DIR}/teampass_error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/teampass_access.log combined

Créer le lien symbolique et redémarrer Apache:

ln -s /etc/apache2/sites-available/teampass.conf /etc/apache2/sites-enabled/teampass.conf
a2dissite 000-default.conf
a2enmod rewrite
a2enmod ssl
systemctl restart apache2

Initialisation Teampass

Se connecter sur: https://teampass.slemoal.fr

A l’écran d’accueil cliquer sur START. Teampass-install 001.png

A l’écran « Teampass instance information » cliquer sur START

Avec les configurations précédemment effectuées, tous les points de vérifications seront au vert.

S'assurer que l’URL est bien en HTTPS.

Cliquer ensuite sur START. Teampass-install 002.png

A l’écran « Database connection » utiliser les valeurs précédemment créées

  • Host : 127.0.0.1
  • Database Name : teampassdb
  • Login : teampass
  • Password : team_pass
  • Port : 3306 (port par défaut mariadb)

Cliquer ensuite sur Start Teampass-install 003.png

A l’écran « Teampass set-up » donner le préfixe des tables.

  • saisisser le répertoire de la clé de salage precedemment créer
  • /var/teampass
  • Definir le mot de passe administrateur de Teampass.

Nous cliquerons ensuite sur START Teampass-install 004.png

A l’écran « Preparing database » Cliquer sur START pour créer les tables de la BDD..

A l’écran « Finalization » cliquer sur START pour écrire les paramètres dans les fichiers de configuration. Teampass-install 005.png

Cliquer sur « Move to home page » pour accéder à Teampass. Teampass-install 006.png

En cas de message d'erreur lors de l'authentification en admin

supprimer le dossier d'installation

rm -r /var/www/html/teampass.slemoal.fr/install

Teampass-install 007.png

Premières connexions et paramétrages

Se connecter au portail avec admin /mots de passe

Editer le profil utilisateur (en haut à droite) et ajouter l’adresse e-mail de l’admin, la TimeZone et la langue.


Mise à jour

Créer un dump de votre base de données

mysqldump teampassdb > /var/backups/20220123_teampassdb.sql

Effectuer un zip du dossier Teampass actuel

apt install zip
zip -r /var/backups/20220123_teampass.slemoal.fr.zip /var/www/html/teampass.slemoal.fr/

Téléchargez le dernier package sur votre serveur

cd /tmp
wget https://github.com/nilsteampassnet/TeamPass/archive/refs/heads/teampass_3.0.zip

Décompressez le package dans Teampassle dossier (peut être un autre nom) et écrasez les fichiers et dossiers existants,

unzip unzip teampass_3.0.zip
cp -r TeamPass-teampass_3.0/* /var/www/html/teampass.slemoal.fr/
rm -f teampass_3.0.zip
rm -r TeamPass-teampass_3.0

Donner les droits adéquats

chown -R www-data:www-data /var/www/html/teampass.slemoal.fr/
chmod -R 775 /var/www/html/teampass.slemoal.fr/

Entrer l'URL https://teampass.slemoal.fr/install/upgrade.php

Suivez maintenant les pages de mise à niveau

à la fin de la mise à jour supprimer le dossier d'installation si toujours present

rm -r /var/www/html/teampass/install