installeer je TeamPass Password Manager op Debian 10

TeamPass is een collaboratieve wachtwoordbeheerder die gebruikt wordt om wachtwoorden te beheren en ze te delen onder teamleden met een specifieke rol. Het gebruikt MySQL/MariaDB om wachtwoorden op te slaan en biedt een krachtig gereedschap om de toegang tot wachtwoorden aan te passen Teampass is zeer aanpasbaar en biedt veel opties om het aan je behoeften aan te passen. Het gebruikt de Defuse PHP Encryptie bibliotheek om je gegevens en je gebruikers te beveiligen.

In deze handleiding laten we je zien hoe je TeamPass op Debian 10 kunt installeren en beveiligen met Let’s Encrypt SSL.

Vereisten

  • Een server met Debian 10.
  • Een geldige domeinnaam met het IP van je server. In deze handleiding gebruiken we het domein teampass.example.com.
  • Een root wachtwoord is op je server ingesteld.

Aan de slag

Alvorens te beginnen is het een goed idee je systeem te updaten met de laatste versie. Je kunt je systeem bijwerken met het volgende commando:

apt-get update -y
apt-get upgrade -y

Na het bijwerken start je het systeem opnieuw op om de veranderingen door te voeren.

LAMP server installeren

Eerst moet je de Apache webserver, de MariaDB databaseserver, PHP en andere vereiste PHP uitbreidingen op je systeem installeren. Je kunt ze allemaal installeren met het volgende commando:

apt-get install apache2 mariadb-server php php-cli libapache2-mod-php php-mysql php-curl php-mbstring php-bcmath php-common php-gd php-xml git wget -y

Als alle pakketten geïnstalleerd zijn, open je het php.ini bestand en verander je enkele vereiste instellingen:

nano /etc/php/7.3/apache2/php.ini
memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 360
date.timezone = Asia/Kolkata

Bewaar en sluit het bestand als je klaar bent.

MariaDB instellen

Standaard is het root wachtwoord voor MariaDB niet ingesteld in Debian 10. Je zult het dus om veiligheidsredenen moeten instellen.

Log eerst in op de MariaDB shell met het volgende commando:

mysql

Na het inloggen stel je het MariaDB root gebruikerswachtwoord in met het volgende commando:

MariaDB [(none)]> SET PASSWORD FOR 'root'@'localhost' = PASSWORD("yournewpassword");

Maak vervolgens een database en gebruiker voor TeamPass met het volgende commando:

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

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

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

Download TeamPass

Vervolgens moet je de nieuwste versie van TeamPass uit de Git repository downloaden. Je kunt het downloaden naar de Apache web root directory met het volgende commando:

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

Geef vervolgens de juiste rechten aan de TeamPass met het volgende commando:

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

Configureer Apache voor TeamPass

Vervolgens moet je een Apache virtual host configuratiebestand voor TeamPass maken. Je kunt het maken met het volgende commando:

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

Voeg de volgende regels toe:

<VirtualHost *:80>   
     ServerAdmin [email protected]e.com
     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 als je klaar bent. Schakel dan de TeamPass virtuele host in en herstart de Apache webdienst om de veranderingen toe te passen:

a2ensite teampass
systemctl restart apache2

Beveilig TeamPass met Let’s Encrypt

Vervolgens is het een goed idee om je TeamPass te beveiligen met Let’s Encrypt Free SSL. Eerst moet je de Certbot client op je server installeren om de Let’s Encrypt SSL voor je domein te downloaden en te installeren.

Standaard is het Certbot client pakket niet beschikbaar in de standaard repository van Debian 10. Je kunt de repository toevoegen met het volgende commando:

echo "deb http://ftp.debian.org/debian buster-backports main" >> /etc/apt/sources.list

Werk vervolgens de repository bij en installeer de Certbot client met het volgende commando:

apt-get update -y
apt-get install python-certbot-apache -t buster-backports

Eenmaal geïnstalleerd, voer je het volgende commando uit om het SSL certificaat voor je domein te verkrijgen en te installeren:

certbot --apache -d teampass.example.com

Je wordt gevraagd de servicevoorwaarden te accepteren en je geldige e-mail adres op te geven, zoals hieronder:

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

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.

Vervolgens moet je kiezen of je HTTP verkeer al dan niet naar HTTPS wilt omleiden, zoals hieronder:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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 en druk op Enter om verder te gaan. Als de installatie voltooid is, zou je de volgende uitvoer moeten krijgen:

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 2020-04-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 punt is je domein beveiligd met Let’s Encrypt SSL.

Toegang tot de TeamPass Web Interface

Open je web browser en typ de URL https://teampass.example.com. Je wordt doorverwezen naar de TeamPass welkomstpagina zoals hieronder:

TeamPass web-installatieprogramma

Klik op de Volgende knop. Je zou de volgende pagina moeten zien:

Servercontrole

Geef de URL en het pad van je TeamPass op en klik op de LAUNCH knop. Als aan alle voorwaarden voldaan is, zou je de volgende pagina moeten zien:

Servercontrole geslaagd

Klik op de Next knop. Je zou de volgende pagina moeten zien:

Database verbinding

Geef je database gegevens op en klik op de LAUNCH en Next knop. Je zou de volgende pagina moeten zien:

Tabel prefix

Geef je beheerderswachtwoord op en klik op de LAAN en volgende knop. Je zou de volgende pagina moeten zien:

Aanmaken van databasetabellen

Klik op de LAUNCH knop om de database te vullen. Je zou de volgende pagina moeten zien:

Tabellen met succes aangemaakt

Klik op de Next knop. Je zou de volgende pagina moeten zien:

Voltooi de installatie

Klik op de LAUNCH knop om de installatie af te ronden. Je zou de volgende pagina moeten zien:

Start TeamPass

Klik op de volgende knop. Als de installatie voltooid is. Je zou de volgende pagina moeten zien:

Installatie voltooid

Klik op de Verplaats naar startpagina. Je wordt doorgestuurd naar de TeamPass login pagina:

TeamPass Homepage

Geef je admin gebruikersnaam en wachtwoord op, en klik op de Log in knop. Je zou het TeamPass dashboard op de volgende pagina moeten zien:

TeamPass dashboard

Gefeliciteerd! Je hebt TeamPass wachtwoordbeheer met succes geïnstalleerd en ingesteld op Debian 10.