Teampass Password Manager instellen op Debian 11

De meeste gebruikers hebben veel sociale media, e-mail en andere accounts op het internet. Het is voor iedereen erg moeilijk om al hun account en wachtwoorden te beheren. Dit is waar de wachtwoordmanager in beeld komt. Team pass is een open-source wachtwoordmanager die je helpt al je wachtwoorden op te slaan en te beheren vanaf een centrale plaats. Het is een collaboratieve wachtwoordmanager waarmee je alle opgeslagen wachtwoorden kunt delen met teamleden. Je kunt ook voor elke gebruiker toegangsrechten instellen om ze alleen toegang te geven tot een bepaalde set gegevens.

In deze tutorial laat ik je zien hoe je de Teampass wachtwoordmanager met Apache en Let’s Encrypt SSL op Debian 11 installeert.

Voorwaarden

  • Een server met Debian 11.
  • Een geldige domeinnaam gekoppeld aan het IP van je server.
  • Een root-wachtwoord is geconfigureerd op de server.

Apache, MariaDB en PHP installeren

Eerst moet je de Apache webserver, MariaDB databaseserver, PHP en andere vereiste uitbreidingen op je server installeren. Je kunt ze allemaal installeren door het volgende commando uit te voeren:

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

Zodra alle pakketten zijn geïnstalleerd, bewerk je het php.ini bestand en verander je enkele standaardinstellingen:

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

Wijzig de volgende instellingen:

max_execution_time = 60
date.timezone = Asia/Kolkata

Sla het bestand op en sluit het en herstart dan de Apache service om de wijzigingen toe te passen:

systemctl restart apache2

Als je klaar bent, kun je doorgaan met de volgende stap.

Maak een Database voor Teampass

Teampass gebruikt een MariaDB als database backend, dus moet je een database en gebruiker voor Teampass aanmaken.

Beveilig eerst de MariaDB installatie en stel een MariaDB root wachtwoord in met het volgende commando:

mysql_secure_installation

Beantwoord alle vragen zoals hieronder weergegeven:

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

Zodra je klaar bent, maak je verbinding met de MariaDB met het volgende commando:

mysql -u root -p

Maak vervolgens een database en gebruiker aan met het volgende commando:

MariaDB [(none)]> create database teampass;
MariaDB [(none)]> grant all privileges on teampass.* to [email protected] identified by "password";

Spoel vervolgens de privileges door en verlaat de MariaDB met het volgende commando:

MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;

Als je klaar bent, kun je doorgaan met de volgende stap.

Teampass installeren

Vervolgens moet je de nieuwste versie van Teampass downloaden uit de Git repository.

Installeer eerst het git pakket met het volgende commando:

apt-get install git -y

Download vervolgens de nieuwste versie van Teampass naar de Apache web root directory:

cd /var/www/html/
git clone https://github.com/nilsteampassnet/TeamPass.git

Wijzig vervolgens het eigendom en de toestemming met het volgende commando:

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

Als je klaar bent, kun je doorgaan met de volgende stap.

Maak een Apache Virtuele Host voor Teampass

Vervolgens moet je een Apache virtuele host configuratiebestand maken om Teampass op het internet te hosten.

nano /etc/apache2/sites-available/teampass.conf

Voeg de volgende regels toe:

<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>

Sla het bestand op en sluit het vervolgens en schakel de Apache virtuele host in en herstart de Apache service om de wijzigingen toe te passen:

a2ensite teampass
systemctl restart apache2

Je kunt ook de status van de Apache controleren met het volgende commando:

systemctl status apache2

Je krijgt dan de volgende uitvoer:

? 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..

Toegang Teampass Web Interface

Open nu je webbrowser en ga naar de Teampass webinterface via de URL http://teampass.example.com. Je zou de volgende pagina moeten zien:

TeamPass installatieprogramma

Klik op de knoppen LAUNCH en NEXT. Je zou het scherm Servercontroles moeten zien:

Servercontrole

Geef je Teampass pad, website URL op en klik op de LAUNCH en NEXT knoppen. Je zou het scherm Databaseverbinding moeten zien:

Databaseverbinding

Geef je Database details en klik op de LAUNCH en NEXT knoppen. Je zou het voorbereidingsscherm moeten zien:

Tabel voorvoegsel

Geef je beheerderswachtwoord en klik op de knoppen LAUNCH en NEXT. Je zou het scherm voor het aanmaken van tabellen moeten zien:

Database tabellen aanmaken

Klik op de knoppen LAUNCH en NEXT. Je zou het afsluitscherm moeten zien:

Installatie van TeamPass voltooid

Klik op de knoppen LAUNCH en NEXT. Als de installatie met succes is voltooid, zou je het volgende scherm moeten zien:

Herstart

Klik nu op de knop Verplaats naar startpagina. Je wordt doorgestuurd naar het TeamPass inlogscherm zoals hieronder afgebeeld:

Inloggen bij TeamPass

Geef je gebruikersnaam op als admin en het wachtwoord dat je tijdens het installatieproces hebt geschreven, en klik op de knop Inloggen. Je zou het TeamPass dashboard op het volgende scherm moeten zien:

TeamPass dashboard

Teampass beveiligen met Let’s Encrypt SSL

Eerst moet je de Certbot Let’s Encrypt client op je server installeren. Deze wordt gebruikt om het Let’s Encrypt SSL-certificaat voor je domein te installeren en te beheren. Voer het volgende commando uit om de Certbot te installeren.

apt-get install python3-certbot-apache -y

Zodra de Certbot is ge├»nstalleerd, voer je het volgende commando uit om de Let’s Encrypt SSL voor je website te downloaden en te installeren:

certbot --apache -d teampass.example.com

Je moet je geldige e-mailadres opgeven en de servicevoorwaarden accepteren zoals hieronder weergegeven:

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

Vervolgens moet je selecteren of HTTP-verkeer wel of niet moet worden omgeleid naar HTTPS, zoals hieronder te zien is:

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

Typ 2 om alle verzoeken om te leiden naar beveiligde HTTPS toegang en druk op Enter om de Let’s Encrypt SSL te installeren. Als de installatie succesvol is afgerond, zou je de volgende uitvoer moeten zien:

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

Op dit moment is je website beveiligd met Let’s Encrypt SSL. Je kunt hem nu veilig benaderen met het HTTPS-protocol.