Teampass : Différence entre versions

De SLM - MediaWiki
 
(27 révisions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
 
== Installation ==
 
== Installation ==
=== Creation container Lamp sur proxmox ===
+
=== Creation container debian 11 proxmox ===
  
 
Connecter vous sur la page web proxmox
 
Connecter vous sur la page web proxmox
Ligne 25 : Ligne 25 :
 
[[File:Kitty_Config_3.png||900px]]
 
[[File:Kitty_Config_3.png||900px]]
  
=== First boot ===
+
=== Installation des pré-requis ===
Saisissez le mot de passe mysql souhaité
+
Mise à jour du serveur
[[File:Kitty_Config_3.png||900px]]
+
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
 +
 
 +
<nowiki>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...</nowiki>
 +
 
 +
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
 +
 
 +
<nowiki>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"
  
Suivez le wizzard
+
    <IfModule mod_headers.c>
 +
      Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
 +
    </IfModule>
 +
</VirtualHost>
  
=== PHP ===
+
<Directory /var/www/html/teampass>
Par defaut notre version de Php est de 7.3, un minimum de 7.4 est necessaire, nous alons donc installer la version la plus recente à ce jour soit la 8.1
+
    Options +FollowSymLinks
 +
    AllowOverride All
 +
    Require all granted
 +
</Directory>
  
<nowiki>apt install apt-transport-https lsb-release apt-transport-https
+
ErrorLog ${APACHE_LOG_DIR}/teampass_error.log
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg # Download the signing key
+
LogLevel warn
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.
+
CustomLog ${APACHE_LOG_DIR}/teampass_access.log combined
apt update
 
apt upgrade
 
apt install libapache2-mod-php8.1
 
a2enmod php8.1
 
apt purge php7.3 libapache2-mod-php7.3
 
systemctl restart apache2
 
 
</nowiki>
 
</nowiki>
  
Installation des dependance necessaire
+
Créer le lien symbolique et redémarrer Apache:
  apt install php8.1-mbstring
+
  ln -s /etc/apache2/sites-available/teampass.conf /etc/apache2/sites-enabled/teampass.conf
  apt install openssl
+
a2dissite 000-default.conf
  apt install php8.1-bcmath
+
a2enmod rewrite
apt install php8.1-iconv
+
  a2enmod ssl
apt install php8.1-gd
+
  systemctl restart apache2
apt install php8.1-mysql
+
 
apt install php8.1-mysqli
+
=== Initialisation Teampass ===
apt install php8.1-xml
+
Se connecter sur:
  apt install php8.1-curl
+
https://teampass.slemoal.fr
 +
 
 +
A l’écran d’accueil cliquer sur START.
 +
[[File:Teampass-install_001.png||900px]]
 +
 
 +
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.
 +
[[File:Teampass-install_002.png||900px]]
 +
 
 +
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
 +
[[File:Teampass-install_003.png||900px]]
 +
 
 +
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
 +
[[File:Teampass-install_004.png||900px]]
 +
 
 +
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.
 +
[[File:Teampass-install_005.png||900px]]
 +
 
 +
Cliquer sur « Move to home page » pour accéder à Teampass.
 +
[[File:Teampass-install_006.png||900px]]
 +
 
 +
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
 +
[[File:Teampass-install_007.png||900px]]
  
On redemarre apache
+
=== Premières connexions et paramétrages ===
systemctl restart apache2
+
Se connecter au portail avec admin /mots de passe
  
Verifier la version
+
  Editer le profil utilisateur (en haut à droite) et ajouter l’adresse e-mail de l’admin, la TimeZone et la langue.
  php -v
 
  
  
=== Installation Teampass ===
+
=== Mise à jour ===
https://teampass.readthedocs.io/en/latest/install/install-linux/
+
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.zip /var/www/html/teampass/
  
Modifier la variable max_execution_time = 60 dans php.ini
+
Téléchargez le dernier package sur votre serveur
  nano /etc/php/8.1/apache2/php.ini
+
  cd /tmp
 +
wget https://github.com/nilsteampassnet/TeamPass/archive/refs/heads/teampass_3.0.zip
  
Telecharger la derniere version teampass
+
Décompressez le package dans Teampassle dossier (peut être un autre nom) et écrasez les fichiers et dossiers existants,
  wget https://github.com/nilsteampassnet/TeamPass/archive/refs/tags/3.0.0.9.zip
+
unzip unzip teampass_3.0.zip
 +
  cp -r TeamPass-teampass_3.0/* /var/www/html/teampass/
 +
rm -f teampass_3.0.zip
 +
rm -r TeamPass-teampass_3.0
  
Décompresser dans le repertoir html
+
Donner les droits adéquats
  unzip 3.0.0.9.zip -d /var/www/html/
+
chown -R www-data:www-data /var/www/html/teampass/
 +
  chmod -R 775 /var/www/html/teampass/
  
Renommer le dossier extrait sans la version
+
Entrer l'URL https://teampass.slemoal.fr/install/upgrade.php
cd /var/www/html/
 
mv TeamPass-3.0.0.9/ TeamPass
 
  
Mettre les droits sur les repertoires
+
Suivez maintenant les pages de mise à niveau
cd TeamPass/
 
chmod -R 0777 includes/config
 
chmod -R 0777 includes/avatars
 
chmod -R 0777 includes/libraries/csrfp/libs
 
chmod -R 0777 includes/libraries/csrfp/log
 
chmod -R 0777 includes/libraries/csrfp/js
 
chmod -R 0777 files/
 
chmod -R 0777 install
 
chmod -R 0777 upload
 
chmod -R 0777 TeamPass/includes/
 
  
Créer la base de donnée
+
à la fin de la mise à jour supprimer le dossier d'installation si toujours present
  mysql -uroot -p
+
  rm -r /var/www/html/teampass/install

Version actuelle datée du 7 mars 2022 à 09:52

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.zip /var/www/html/teampass/

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/
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/
chmod -R 775 /var/www/html/teampass/

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