TeamPass è un gestore di password collaborativo utilizzato per gestire le password e condividerle tra i membri del team con un ruolo specifico. Utilizza MySQL/MariaDB per memorizzare le password e fornisce un potente strumento per personalizzare le password di accesso. Teampass è altamente personalizzabile e fornisce molte opzioni per personalizzarlo in base alle proprie esigenze. Utilizza la libreria Defuse PHP Encryption per proteggere i tuoi dati e i tuoi utenti.
In questo tutorial, ti mostreremo come installare TeamPass su Debian 10 e proteggerlo con Let's Encrypt SSL.
Prerequisiti
- Un server che esegue Debian 10.
- Un nome di dominio valido puntato con l'IP del tuo server. in questo tutorial utilizzeremo il dominio teampass.example.com.
- Sul tuo server è configurata una password di root.
Per iniziare
Prima di iniziare, è una buona idea aggiornare il sistema con l'ultima versione. Puoi aggiornare il tuo sistema con il seguente comando:
apt-get update -y
apt-get upgrade -y
Dopo aver aggiornato il sistema, riavvialo per implementare le modifiche.
Installa il server LAMP
Innanzitutto, dovrai installare il server web Apache, il server di database MariaDB, PHP e altre estensioni PHP richieste sul tuo sistema. Puoi installarli tutti con il seguente comando:
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
Una volta installati tutti i pacchetti, apri il file php.ini e modifica alcune impostazioni richieste:
nano /etc/php/7.3/apache2/php.ini
memory_limit = 256M upload_max_filesize = 100M max_execution_time = 360 date.timezone = Asia/Kolkata
Salva e chiudi il file quando hai finito.
Configura MariaDB
Per impostazione predefinita, la password di root di MariaDB non è configurata in Debian 10. Quindi dovrai impostarla per motivi di sicurezza.
Innanzitutto, accedi alla shell MariaDB con il seguente comando:
mysql
Dopo il login, imposta la password utente root di MariaDB con il seguente comando:
MariaDB [(none)]> SET PASSWORD FOR 'root'@'localhost' = PASSWORD("yournewpassword");
Quindi, crea un database e un utente per TeamPass con il seguente comando:
MariaDB [(none)]> create database teampassdb;
MariaDB [(none)]> grant all privileges on teampassdb.* to [email protected] identified by "password";
Quindi, svuota i privilegi ed esci dalla shell MariaDB con il seguente comando:
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;
Scarica TeamPass
Successivamente, dovrai scaricare l'ultima versione di TeamPass dal repository Git. Puoi scaricarlo nella directory principale web di Apache con il seguente comando:
cd /var/www/html
git clone https://github.com/nilsteampassnet/TeamPass.git
Quindi, dai le autorizzazioni appropriate al TeamPass con il seguente comando:
chown -R www-data.www-data /var/www/html/TeamPass/
chmod -R 775 /var/www/html/TeamPass/
Configura Apache per TeamPass
Successivamente, dovrai creare un file di configurazione dell'host virtuale Apache per TeamPass. Puoi crearlo con il seguente comando:
nano /etc/apache2/sites-available/teampass.conf
Aggiungi le seguenti righe:
<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>
Salva e chiudi il file quando hai finito. Quindi, abilita l'host virtuale TeamPass e riavvia il servizio web Apache per applicare le modifiche:
a2ensite teampass
systemctl restart apache2
Proteggi TeamPass con Let's Encrypt
Successivamente, è una buona idea proteggere il tuo TeamPass con Let's Encrypt Free SSL. Innanzitutto, dovrai installare il client Certbot nel tuo server per scaricare e installare Let's Encrypt SSL per il tuo dominio.
Per impostazione predefinita, il pacchetto client Certbot non è disponibile nel repository predefinito di Debian 10. Puoi aggiungere il repository con il seguente comando:
echo "deb http://ftp.debian.org/debian buster-backports main" >> /etc/apt/sources.list
Quindi, aggiorna il repository e installa il client Certbot con il seguente comando:
apt-get update -y
apt-get install python-certbot-apache -t buster-backports
Una volta installato, esegui il seguente comando per ottenere e installare il certificato SSL per il tuo dominio:
certbot --apache -d teampass.example.com
Ti verrà richiesto di accettare i termini del servizio e di fornire il tuo indirizzo email valido come mostrato di seguito:
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.
Successivamente, dovrai scegliere se reindirizzare o meno il traffico HTTP su HTTPS come mostrato di seguito:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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
Digita 2 e premi Invio continuare. Una volta completata l'installazione, dovresti ottenere il seguente output:
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
A questo punto, il tuo dominio è protetto con Let's Encrypt SSL.
Accedi all'interfaccia Web di TeamPass
Apri il tuo browser web e digita l'URL https://teampass.example.com. Verrai reindirizzato alla pagina di benvenuto di TeamPass come mostrato di seguito:
Fare clic su Avanti pulsante. Dovresti vedere la seguente pagina:
Fornisci l'URL e il percorso del tuo TeamPass e fai clic su AVVIA pulsante. Una volta soddisfatti tutti i requisiti, dovresti vedere la seguente pagina:
Fare clic su Avanti pulsante. Dovresti vedere la seguente pagina:
Fornisci i dettagli del tuo database e fai clic su AVVIA e Avanti pulsante. Dovresti vedere la seguente pagina:
Fornisci la tua password di amministratore e fai clic su AVVIA e Avanti pulsante. Dovresti vedere la seguente pagina:
Fai clic su AVVIO pulsante per popolare il database. Dovresti vedere la seguente pagina:
Fare clic su Avanti pulsante. Dovresti vedere la seguente pagina:
Fai clic su AVVIO pulsante per finalizzare l'installazione. Dovresti vedere la seguente pagina:
Fare clic su Avanti pulsante. Una volta completata l'installazione. Dovresti vedere la seguente pagina:
Fai clic su Sposta alla home page . Verrai reindirizzato alla pagina di accesso di TeamPass:
Fornisci il nome utente e la password dell'amministratore e fai clic sul Registro dentro pulsante. Dovresti vedere la dashboard di TeamPass nella pagina seguente:
Congratulazioni! hai installato e configurato correttamente il gestore password TeamPass su Debian 10.