La plupart des utilisateurs ont de nombreux réseaux sociaux, e-mails et autres comptes sur Internet. Il est très difficile pour quiconque de gérer tous ses comptes et mots de passe. C'est là que le gestionnaire de mots de passe entre en scène. Team pass est un gestionnaire de mots de passe open source qui vous aide à stocker et à gérer tous vos mots de passe depuis un emplacement central. Il s'agit d'un gestionnaire de mots de passe collaboratif qui vous permet de partager tous les mots de passe stockés avec les membres de l'équipe. Vous pouvez également définir des droits d'accès pour chaque utilisateur afin de les contrôler pour accéder uniquement à un ensemble de données donné.
Dans ce tutoriel, je vais vous montrer comment installer le gestionnaire de mots de passe Teampass avec Apache et Let's Encrypt SSL sur Debian 11.
Prérequis
- Un serveur exécutant Debian 11.
- Un nom de domaine valide pointé vers l'adresse IP de votre serveur.
- Un mot de passe root est configuré sur le serveur.
Installer Apache, MariaDB et PHP
Tout d'abord, vous devrez installer le serveur Web Apache, le serveur de base de données MariaDB, PHP et les autres extensions requises sur votre serveur. Vous pouvez tous les installer en exécutant la commande suivante :
apt-get install apache2 apache2-utils mariadb-server mariadb-client php7.4 libapache2-mod-php7.4 php7.4-mysql php-common php7.4-cli php7.4-common php7.4-json php7.4-opcache php7.4-readline php7.4-bcmath php7.4-curl php7.4-fpm php7.4-gd php7.4-xml php7.4-mbstring -y
Une fois tous les packages installés, éditez le fichier php.ini et modifiez certains paramètres par défaut :
nano /etc/php/7.4/apache2/php.ini
Modifiez les paramètres suivants :
max_execution_time = 60 date.timezone = Asia/Kolkata
Enregistrez et fermez le fichier puis redémarrez le service Apache pour appliquer les modifications :
systemctl restart apache2
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Créer une base de données pour Teampass
Teampass utilise une base de données MariaDB comme base de données, vous devrez donc créer une base de données et un utilisateur pour Teampass.
Tout d'abord, sécurisez l'installation de MariaDB et définissez un mot de passe root MariaDB à l'aide de la commande suivante :
mysql_secure_installation
Répondez à toutes les questions comme indiqué ci-dessous :
Enter current password for root (enter for none): Switch to unix_socket authentication [Y/n] n Change the root password? [Y/n] Y New password: Re-enter new password: Remove anonymous users? [Y/n] Y Disallow root login remotely? [Y/n] Y Remove test database and access to it? [Y/n] Y Reload privilege tables now? [Y/n] Y
Une fois que vous avez terminé, connectez-vous à MariaDB avec la commande suivante :
mysql -u root -p
Ensuite, créez une base de données et un utilisateur avec la commande suivante :
MariaDB [(none)]> create database teampass;
MariaDB [(none)]> grant all privileges on teampass.* to [email protected] identified by "password";
Ensuite, videz les privilèges et quittez MariaDB avec la commande suivante :
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Installer Teampass
Ensuite, vous devrez télécharger la dernière version de Teampass à partir du référentiel Git.
Tout d'abord, installez le package git à l'aide de la commande suivante :
apt-get install git -y
Ensuite, téléchargez la dernière version de Teampass dans le répertoire racine Web d'Apache :
cd /var/www/html/
git clone https://github.com/nilsteampassnet/TeamPass.git
Ensuite, modifiez la propriété et l'autorisation avec la commande suivante :
chown -R www-data:www-data TeamPass
chmod -R 775 /var/www/html/TeamPass
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Créer un hôte virtuel Apache pour Teampass
Ensuite, vous devrez créer un fichier de configuration d'hôte virtuel Apache pour héberger Teampass sur Internet.
nano /etc/apache2/sites-available/teampass.conf
Ajoutez les lignes suivantes :
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /var/www/html/TeamPass ServerName teampass.example.com <Directory /var/www/html/TeamPass> Options FollowSymlinks AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/teampass_error.log CustomLog ${APACHE_LOG_DIR}/teampass_access.log combined </VirtualHost>
Enregistrez et fermez le fichier puis activez l'hôte virtuel Apache et redémarrez le service Apache pour appliquer les modifications :
a2ensite teampass
systemctl restart apache2
Vous pouvez également vérifier l'état de l'Apache avec la commande suivante :
systemctl status apache2
Vous obtiendrez le résultat suivant :
? apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2021-11-01 03:39:47 UTC; 5s ago Docs: https://httpd.apache.org/docs/2.4/ Process: 20013 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS) Main PID: 20017 (apache2) Tasks: 6 (limit: 2341) Memory: 14.1M CPU: 95ms CGroup: /system.slice/apache2.service ??20017 /usr/sbin/apache2 -k start ??20018 /usr/sbin/apache2 -k start ??20019 /usr/sbin/apache2 -k start ??20020 /usr/sbin/apache2 -k start ??20021 /usr/sbin/apache2 -k start ??20022 /usr/sbin/apache2 -k start Nov 01 03:39:47 debian11 systemd[1]: Starting The Apache HTTP Server..
Accéder à l'interface Web Teampass
Maintenant, ouvrez votre navigateur Web et accédez à l'interface Web Teampass en utilisant l'URL http://teampass.example.com . Vous devriez voir la page suivante :
Cliquez sur LANCEMENT et SUIVANT boutons. Vous devriez voir l'écran Vérifications du serveur :
Indiquez votre chemin Teampass, l'URL de votre site Web et cliquez sur LANCEMENT et SUIVANT boutons. Vous devriez voir l'écran de connexion à la base de données :
Fournissez les détails de votre base de données et cliquez sur LANCER et SUIVANT boutons. Vous devriez voir l'écran de préparation :
Fournissez votre mot de passe administrateur et cliquez sur LANCEMENT et SUIVANT boutons. Vous devriez voir l'écran de création de table :
Cliquez sur LANCEMENT et SUIVANT boutons. Vous devriez voir l'écran de finalisation :
Cliquez sur LANCEMENT et SUIVANT boutons. Une fois l'installation terminée avec succès, vous devriez voir l'écran suivant :
Maintenant, cliquez sur Déplacer vers la page d'accueil bouton. Vous serez redirigé vers l'écran de connexion TeamPass comme indiqué ci-dessous :
Indiquez votre nom d'utilisateur en tant qu'administrateur et le mot de passe que vous avez écrit lors du processus d'installation, puis cliquez sur Connexion bouton. Vous devriez voir le tableau de bord TeamPass sur l'écran suivant :
Sécuriser Teampass avec Let's Encrypt SSL
Tout d'abord, vous devrez installer le client Certbot Let's Encrypt sur votre serveur. Il est utilisé pour installer et gérer le certificat SSL Let's Encrypt pour votre domaine. Exécutez la commande suivante pour installer le Certbot.
apt-get install python3-certbot-apache -y
Une fois le Certbot installé, exécutez la commande suivante pour télécharger et installer le SSL Let's Encrypt pour votre site Web :
certbot --apache -d teampass.example.com
Vous devrez fournir votre adresse e-mail valide et accepter les conditions d'utilisation comme indiqué ci-dessous :
Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator apache, Installer apache Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): [email protected] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must agree in order to register with the ACME server at https://acme-v02.api.letsencrypt.org/directory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (A)gree/(C)ancel: A - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Would you be willing to share your email address with the Electronic Frontier Foundation, a founding partner of the Let's Encrypt project and the non-profit organization that develops Certbot? We'd like to send you email about our work encrypting the web, EFF news, campaigns, and ways to support digital freedom. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: Y Obtaining a new certificate Performing the following challenges: http-01 challenge for teampass.example.com Enabled Apache rewrite module Waiting for verification... Cleaning up challenges Created an SSL vhost at /etc/apache2/sites-available/teampass-le-ssl.conf Enabled Apache socache_shmcb module Enabled Apache ssl module Deploying Certificate to VirtualHost /etc/apache2/sites-available/teampass-le-ssl.conf Enabling available site: /etc/apache2/sites-available/teampass-le-ssl.conf
Ensuite, vous devrez choisir de rediriger ou non le trafic HTTP vers HTTPS comme indiqué ci-dessous :
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: No redirect - Make no further changes to the webserver configuration. 2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for new sites, or if you're confident your site works on HTTPS. You can undo this change by editing your web server's configuration. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Tapez 2 pour rediriger toutes les demandes vers un accès HTTPS sécurisé et appuyez sur Entrée pour installer Let's Encrypt SSL. Une fois l'installation terminée avec succès, vous devriez voir la sortie suivante :
Enabled Apache rewrite module Redirecting vhost in /etc/apache2/sites-enabled/teampass.conf to ssl vhost in /etc/apache2/sites-available/teampass-le-ssl.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations! You have successfully enabled https://teampass.example.com You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=teampass.example.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/teampass.example.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/teampass.example.com/privkey.pem Your cert will expire on 2022-01-30. To obtain a new or tweaked version of this certificate in the future, simply run certbot again with the "certonly" option. To non-interactively renew *all* of your certificates, run "certbot renew" - Your account credentials have been saved in your Certbot configuration directory at /etc/letsencrypt. You should make a secure backup of this folder now. This configuration directory will also contain certificates and private keys obtained by Certbot so making regular backups of this folder is ideal. - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le
À ce stade, votre site Web est sécurisé avec Let's Encrypt SSL. Vous pouvez désormais y accéder en toute sécurité grâce au protocole HTTPS.
Conclusion
Toutes nos félicitations! vous avez installé avec succès le gestionnaire de mots de passe Teampass avec Apache et Let's Encrypt SSL sur Debian 11. Vous pouvez maintenant gérer toutes vos informations d'identification et les partager avec votre équipe à partir de l'interface Web.