TeamPass est un gestionnaire de mots de passe collaboratif utilisé pour gérer les mots de passe et les partager entre les membres de l'équipe. Il utilise la base de données MySQL/MariaDB pour stocker les mots de passe en toute sécurité. Il fournit un outil puissant pour personnaliser l'accès des mots de passe en fonction des rôles des utilisateurs. Il s'agit d'un logiciel gratuit et open source qui vous permet de gérer vos mots de passe et les données associées de manière organisée dans le respect des droits d'accès définis pour chaque utilisateur. Il est livré avec un riche ensemble de fonctionnalités, notamment le cryptage des données, le dossier personnel, l'arborescence, les privilèges de l'utilisateur, la définition des rôles et bien d'autres.
Dans ce tutoriel, nous allons vous montrer comment installer le logiciel TeamPass Password Manager sur Ubuntu 20.04 avec Let's Encrypt SSL.
Prérequis
- Un serveur exécutant Ubuntu 20.04.
- Un nom de domaine valide est pointé vers l'adresse IP de votre serveur.
- Un mot de passe root est configuré sur le serveur.
Installer le serveur LAMP
Avant de commencer, assurez-vous que le serveur LAMP doit être installé sur votre serveur. S'il n'est pas installé, vous pouvez l'installer avec un autre package en exécutant la commande suivante :
apt-get install apache2 mariadb-server php7.4 php7.4-cli libapache2-mod-php7.4 php7.4-mysql php7.4-curl php7.4-mbstring php7.4-bcmath php7.4-common php7.4-gd php7.4-xml git wget -y
Une fois le serveur LAMP installé, éditez le fichier php.ini et modifiez certains paramètres :
nano /etc/php/7.4/apache2/php.ini
Modifiez les lignes suivantes :
memory_limit = 256M upload_max_filesize = 100M max_execution_time = 360 date.timezone = Asia/Kolkata
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Créer une base de données TeamPass
Ensuite, vous devrez créer une base de données et un utilisateur pour TeamPass. Tout d'abord, connectez-vous au shell MariaDB avec la commande suivante :
mysql -u root
Une fois connecté, créez une base de données et un utilisateur pour TeamPass 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 votre base de données créée, vous pouvez passer à l'étape suivante.
Télécharger TeamPass
Tout d'abord, vous devrez télécharger la dernière version de TeamPass à partir du référentiel Git. Vous pouvez le télécharger dans le répertoire racine Web d'Apache avec la commande suivante :
cd /var/www/html
git clone https://github.com/nilsteampassnet/TeamPass.git
Une fois le téléchargement terminé, modifiez la propriété de l'utilisateur www-data et définissez l'autorisation appropriée avec la commande suivante :
chown -R www-data.www-data /var/www/html/TeamPass/
chmod -R 775 /var/www/html/TeamPass/
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Configurer le serveur Web Apache
Commencez par créer un fichier de configuration d'hôte virtuel Apache pour TeamPass avec la commande suivante :
nano /etc/apache2/sites-available/teampass.conf
Ajoutez les lignes suivantes :
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /var/www/html/TeamPass ServerName teampass.linuxbuz.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 le fichier lorsque vous avez terminé. Ensuite, activez le fichier d'hôte virtuel apache et redémarrez le service apache pour appliquer les modifications :
a2ensite teampass
systemctl restart apache2
Une fois votre serveur Web Apache configuré, vous pouvez passer à l'étape suivante.
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.linuxbuz.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.linuxbuz.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
Saisissez 2 pour rediriger toutes les requêtes 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.linuxbuz.com You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=teampass.linuxbuz.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/teampass.linuxbuz.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/teampass.linuxbuz.com/privkey.pem Your cert will expire on 2020-10-17. 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.
Accéder à l'interface Web TeamPass
Maintenant, accédez à votre interface Web TeamPass en visitant l'URL https://teampass.linuxbuz.com. Vous devriez voir l'écran de bienvenue de TeamPass :
Cliquez sur SUIVANT bouton. Vous devriez voir l'écran Vérifications du serveur :
Cliquez sur LANCEMENT et SUIVANT bouton. 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 bouton. Vous devriez voir l'écran de préparation :
Cliquez sur LANCEMENT et SUIVANT bouton. Vous devriez voir l'écran de création de table :
Cliquez sur LANCEMENT et SUIVANT bouton. Vous devriez voir l'écran de finalisation :
Cliquez sur LANCEMENT et SUIVANT bouton. 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 Log Dans bouton. Vous devriez voir le tableau de bord TeamPass dans l'écran suivant :
Conclusion
Dans ce guide, vous avez appris à installer le gestionnaire de mots de passe TeamPass sur Ubuntu 20.04 et à le sécuriser avec Let's Encrypt SSL. Vous pouvez maintenant explorer le TeamPass et le déployer dans l'environnement de production. Pour plus d'informations, consultez la documentation officielle de TeamPass.