Teampass : Différence entre versions

De SLM - MediaWiki
 
(21 révisions intermédiaires par le même utilisateur non affichées)
Ligne 49 : Ligne 49 :
 
Nous initialiserons la base de données MariaDB et nous répondrons aux questions comme ci-dessous :
 
Nous initialiserons la base de données MariaDB et nous répondrons aux questions comme ci-dessous :
  
  <nowiki>mysql_secure_installation
+
mysql_secure_installation
Enter current password for root (enter for none):
+
 
 +
  <nowiki>Enter current password for root (enter for none):
 
OK, successfully used password, moving on...
 
OK, successfully used password, moving on...
 
Change the root password? [Y/n] Y
 
Change the root password? [Y/n] Y
Ligne 82 : Ligne 83 :
 
  quit
 
  quit
  
=== Clonage du projet ===
+
=== Installation du projet ===
 
Récupérer les sources de l’outil et les placer dans le bon répertoire.
 
Récupérer les sources de l’outil et les placer dans le bon répertoire.
  git clone https://github.com/nilsteampassnet/TeamPass.git /var/www/html/teampass.slemoal.fr/
+
  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
 
Donner les droits adéquats
  chown -R www-data:www-data /var/www/html/teampass.slemoal.fr/
+
  chown -R www-data:www-data /var/www/html/teampass/
  chmod -R 775 /var/www/html/teampass.slemoal.fr/
+
  chmod -R 775 /var/www/html/teampass/
 +
 
 
===Mettre a jour php===
 
===Mettre a jour php===
 
source
 
source
 
  https://dev.to/pushkaranand/upgrading-to-php-7-4-26dg
 
  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
 
*Mettre à jour les depots
 
  apt install apt-transport-https lsb-release apt-transport-https
 
  apt install apt-transport-https lsb-release apt-transport-https
Ligne 99 : Ligne 107 :
 
  apt update
 
  apt update
 
  apt upgrade
 
  apt upgrade
  apt install libapache2-mod-php7.4
+
  a2enmod php7.4
+
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
 
*Desinstaller les ancienne version
  apt purge php7.3 libapache2-mod-php7.3 # For removing PHP 7.3
+
  apt purge php7.3 libapache2-mod-php7.3 # For removing old PHP 7.3
apt purge php7.2 libapache2-mod-php7.2 # For removing PHP 7.2
 
apt purge php7.1 libapache2-mod-php7.1 # For removing PHP 7.1
 
apt purge php7.0 libapache2-mod-php7.0 # For removing PHP 7.0
 
  
 
*On redemarre
 
*On redemarre
Ligne 113 : Ligne 123 :
 
*Verifier la nouvelle version
 
*Verifier la nouvelle version
 
  php -v
 
  php -v
 
  
 
=== Configuration de PHP ===
 
=== Configuration de PHP ===
Installer les modules annexes nécessaires
 
apt install php8.1 libapache2-mod-php8.1 php8.1-mysql -y
 
apt install php8.1-{curl,mbstring,bcmath,common,gd,xml,fpm,ldap}
 
 
 
Reconfigurer quelques paramètres dans PHP dont le temps de session, la mémoire et la taille des pièces jointes:
 
Reconfigurer quelques paramètres dans PHP dont le temps de session, la mémoire et la taille des pièces jointes:
  nano /etc/php/8.1/apache2/php.ini
+
  nano /etc/php/7.4/apache2/php.ini
  
 
Puis nous modifierons les lignes comme ci dessous:
 
Puis nous modifierons les lignes comme ci dessous:
Ligne 127 : Ligne 132 :
 
  memory_limit = 256M
 
  memory_limit = 256M
 
  upload_max_filesize = 100M
 
  upload_max_filesize = 100M
 +
 +
=== Configurer les certificat ssl ===
 +
[[Nextcloud_letsencrypt]]
  
 
=== Configuration du VHost Apache ===
 
=== Configuration du VHost Apache ===
 
Configurer le VHost nécessaire a la publication du site
 
Configurer le VHost nécessaire a la publication du site
  nano /etc/apache2/sites-available/teampass.slemoal.fr.conf
+
  nano /etc/apache2/sites-available/teampass.conf
 +
 
 +
<nowiki>ServerName teampass.slemoal.fr
  
<nowiki>NameVirtualHost teampass.slemoal.fr:443
 
 
<VirtualHost *:80>
 
<VirtualHost *:80>
    DocumentRoot /var/www/html/teampass.slemoal.fr
+
    UseCanonicalName Off
    ServerName teampass.slemoal.fr
+
    ServerAdmin contact@slemoal.fr
    Redirect permanent / https://teampass.slemoal.fr/
+
    DocumentRoot "/var/www/html/teampass"
    ErrorLog ${APACHE_LOG_DIR}/teampass_error.log
+
 
    CustomLog ${APACHE_LOG_DIR}/teampass_access.log combined
+
    RewriteEngine On
 +
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
 
</VirtualHost>
 
</VirtualHost>
 +
 
<VirtualHost *:443>
 
<VirtualHost *:443>
    ServerAdmin contact@slemoal.fr
+
    SSLEngine on
    DocumentRoot /var/www/html/teampass.slemoal.fr
+
    ServerAdmin contact@slemoal.fr
    ServerName teampass.slemoal.fr
+
    SSLCertificateFile /etc/ssl/certs/teampass.slemoal.fr.cer
    <Directory /var/www/html/teampass.slemoal.fr>
+
    SSLCertificateKeyFile /etc/ssl/private/teampass.slemoal.fr.key
          Options FollowSymlinks
+
    DocumentRoot "/var/www/html/teampass"
          AllowOverride All
+
 
          Require all granted
+
    <IfModule mod_headers.c>
    </Directory>
+
      Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
    ErrorLog ${APACHE_LOG_DIR}/teampass_error.log
+
    </IfModule>
    CustomLog ${APACHE_LOG_DIR}/teampass_access.log combined
+
</VirtualHost>
</VirtualHost></nowiki>
+
 
 +
<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
 +
</nowiki>
  
 
Créer le lien symbolique et redémarrer Apache:
 
Créer le lien symbolique et redémarrer Apache:
  ln -s /etc/apache2/sites-available/teampass.slemoal.fr.conf /etc/apache2/sites-enabled/teampass.slemoal.fr.conf
+
  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
 
  systemctl restart apache2
  
Ligne 161 : Ligne 185 :
 
https://teampass.slemoal.fr
 
https://teampass.slemoal.fr
  
A l’écran d’accueil cliquer sur NEXT.
+
A l’écran d’accueil cliquer sur START.
[[File:Teampass-000002.png||900px]]
+
[[File:Teampass-install_001.png||900px]]
A l’écran « Server Checks » cliquer sur LAUNCH.
+
 
 +
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.  
 
Avec les configurations précédemment effectuées, tous les points de vérifications seront au vert.  
Ligne 169 : Ligne 194 :
 
S'assurer que l’URL est bien en HTTPS.
 
S'assurer que l’URL est bien en HTTPS.
  
Cliquer ensuite sur NEXT.
+
Cliquer ensuite sur START.
[[File:Teampass-000003.png||900px]]
+
[[File:Teampass-install_002.png||900px]]
  
 
A l’écran « Database connection » utiliser les valeurs précédemment créées
 
A l’écran « Database connection » utiliser les valeurs précédemment créées
Ligne 179 : Ligne 204 :
 
*Port : 3306 (port par défaut mariadb)
 
*Port : 3306 (port par défaut mariadb)
  
Cliquer ensuite sur LAUNCH pour vérifier la bonne connexion et sur NEXT si tout est OK.
+
Cliquer ensuite sur Start
[[File:Teampass-000004.png||900px]]
+
[[File:Teampass-install_003.png||900px]]
  
A l’écran « Preparation » donner le préfixe des tables.
+
A l’écran « Teampass set-up » donner le préfixe des tables.
 
* saisisser le répertoire de la clé de salage precedemment créer
 
* saisisser le répertoire de la clé de salage precedemment créer
 
* /var/teampass
 
* /var/teampass
 
* Definir le mot de passe administrateur de Teampass.
 
* Definir le mot de passe administrateur de Teampass.
  
Nous cliquerons ensuite sur LAUNCH et sur NEXT si tout est OK.
+
Nous cliquerons ensuite sur START
[[File:Teampass-000005.png||900px]]
+
[[File:Teampass-install_004.png||900px]]
  
A l’écran « Tables creation » Cliquer sur LAUNCH pour créer les tables de la BDD. Puis sur NEXT.
+
A l’écran « Preparing database » Cliquer sur START pour créer les tables de la BDD..
[[File:Teampass-000007.png||900px]]
 
[[File:Teampass-000008.png||900px]]
 
  
A l’écran « Finalization » cliquer sur LAUNCH pour écrire les paramètres dans les fichiers de configuration, puis sur NEXT pour terminer l’installation.
+
A l’écran « Finalization » cliquer sur START pour écrire les paramètres dans les fichiers de configuration.
[[File:Teampass-000009.png||900px]]
+
[[File:Teampass-install_005.png||900px]]
  
 
Cliquer sur « Move to home page » pour accéder à Teampass.
 
Cliquer sur « Move to home page » pour accéder à Teampass.
[[File:Teampass-000010.png||900px]]
+
[[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]]
  
 
=== Premières connexions et paramétrages ===
 
=== Premières connexions et paramétrages ===
Ligne 211 : Ligne 240 :
 
Effectuer un zip du dossier Teampass actuel
 
Effectuer un zip du dossier Teampass actuel
 
  apt install zip
 
  apt install zip
  zip -r /var/backups/20220123_teampass.slemoal.fr.zip /var/www/html/teampass.slemoal.fr/
+
  zip -r /var/backups/20220123_teampass.zip /var/www/html/teampass/
  
 
Téléchargez le dernier package sur votre serveur
 
Téléchargez le dernier package sur votre serveur
 
  cd /tmp
 
  cd /tmp
  wget https://github.com/nilsteampassnet/TeamPass/archive/refs/tags/3.0.0.9.zip
+
  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,
 
Décompressez le package dans Teampassle dossier (peut être un autre nom) et écrasez les fichiers et dossiers existants,
  unzip 3.0.0.9.zip
+
  unzip unzip teampass_3.0.zip
  cp -r TeamPass-3.0.0.9/* /var/www/html/teampass.slemoal.fr/
+
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
 
Donner les droits adéquats
  chown -R www-data:www-data /var/www/html/teampass.slemoal.fr/
+
  chown -R www-data:www-data /var/www/html/teampass/
  chmod -R 775 /var/www/html/teampass.slemoal.fr/
+
  chmod -R 775 /var/www/html/teampass/
  
Entrer l'URL http://teampass.slemoal.fr/install/upgrade.php
+
Entrer l'URL https://teampass.slemoal.fr/install/upgrade.php
  
 
Suivez maintenant les pages de mise à niveau
 
Suivez maintenant les pages de mise à niveau
  
 
à la fin de la mise à jour supprimer le dossier d'installation si toujours present
 
à la fin de la mise à jour supprimer le dossier d'installation si toujours present
  rm -r /var/www/html/teampass.slemoal.fr/install
+
  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