Introduzione:
TeamPass è un'ottima applicazione Web in grado di archiviare in modo sicuro password per singole persone o team. Ecco i passaggi che ho usato per installarlo in Debian Jessie. Queste istruzioni possono essere utilizzate anche senza modifiche o modifiche minime per installare TeamPass in altri sistemi Debian o Ubuntu.
Queste istruzioni sono in parte basate su questo sito:
http://teampass.net/2013-12- 31-installazione-su-server-linux
e questi
http://bourntech.com/blog/install-teampass-on-ubuntu-14-6lts/
https://github .com/nilsteampassnet/TeamPass/
Passaggi:
Crea l'utente che verrà utilizzato come proprietario degli htdocs di TeamPass e dei processi di richiesta di Apache TeamPass.useradd -d /opt/teampass/ -s /bin/false passwords
Prepara le directory home di teampassmkdir -p /var/www/teampass/fcgi/tmp
mkdir /var/www/teampass/logs
mkdir /var/www/teampass/auth
cd /var/www/teampass/
#Get the latest released software:
wget --no-check-certificate https://github.com/nilsteampassnet/TeamPass/archive/master.zip
unzip master.zip
Installa i pacchetti richiesti: apt-get install php5-mcrypt php5-mysqlnd php5-gd openssl apache2-suexec-custom apache2-mpm-prefork libapache2-mod-fcgid libapache2-mod-php5 php5-cgi mariadb-server
Per consentire ad Apache di modificare i file all'interno degli htdocs di TeamPass, utilizziamo i moduli FCGI/suexec.a2enmod fcgid
a2enmod suexec
a2enmod ssl
Crea lo script fcgi_wrapper:touch /var/www/teampass/fcgi/php-fcgi-starter
mcedit /var/www/teampass/fcgi/php-fcgi-starter
Contenuto:#!/bin/sh
export PHPRC=/var/www/teampass/fcgi/
export PHP_FCGI_CHILDREN=2
export PHP_FCGI_MAX_REQUESTS=500
exec /usr/bin/php5-cgi
Rendilo eseguibile ma non per altri:chmod 750 /var/www/teampass/fcgi/php-fcgi-starter
Copiare php.ini dal sistema in /var/www/teampass/fcgi/cp /etc/php5/apache2/php.ini /var/www/teampass/fcgi/
Adatta php.init al sito:mcedit /var/www/teampass/fcgi/php.ini
Aggiungi le seguenti 2 righe alla fine:upload_tmp_dir = /var/www/teampass/fcgi/tmp
session.save_path = /var/www/teampass/fcgi/tmp
E cerca la configurazione:max_execution_time e cambia il suo valore da 30 a 60. Es.max_execution_time = 60
Crea la configurazione di Apache2:
Contenuto del file di configurazione in /etc/apache2/sites-available/teampass.mydomain.com.conf:# ============ https://teampass.mydomain.com ==================
<virtualhost *:443>
ServerName teampass.mydomain.com
DocumentRoot /var/www/teampass/TeamPass-master
SuexecUserGroup passwords passwords
<directory /var/www/teampass/TeamPass-master>
Options -Indexes +FollowSymLinks +ExecCGI
FCGIWrapper /var/www/teampass/fcgi/php-fcgi-starter .php
AddHandler fcgid-script .php
DirectoryIndex index.php
Require 192.168. granted
AuthType Basic
AuthName "Private area"
AuthUserFile /var/www/teampass/auth/web.auth
Require valid-user
Satisfy all
</directory>
SSLEngine On
SSLCertificateFile /etc/letsencrypt/live/teampass.mydomain.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/teampass.mydomain.com/privkey.pem
SSLCACertificateFile /etc/letsencrypt/live/teampass.mydomain.com/chain.pem
ErrorLog /var/www/teampass/logs/error_log
CustomLog /var/www/teampass/logs/access_log combined
</virtualhost>
Crea le credenziali di autenticazione del primo livello (BASIC) per il primo utente:htpasswd -c /var/www/teampass/auth/web.auth username
Concedi l'intera proprietà della directory all'utente 'passwords'chown -R passwords: /var/www/teampass/
NOTA: Prima di riavviare il servizio Apache2, assicurati che il certificato sia stato emesso e installato nella directory:/etc/letsencrypt/live/teampass.mydomain.com/
Puoi utilizzare le istruzioni su questo link per installare il software LetsEncrypt:
https://tipstricks.itmatrix.eu/?s=letsencrypt&x=0&y=0
Abilita la nuova configurazione di Apache:a2ensite teampass.mydomain.com
Riavvia Apache per attivare la sua nuova configurazione:service apache2 restart
Prepara i file delle autorizzazioni suexececho "/var/www/teampass" >> /etc/apache2/suexec/www-data
echo "/var/www/teampass" > /etc/apache2/suexec/passwords
echo "TeamPass-master" >> /etc/apache2/suexec/passwords
IMPORTANTE:dobbiamo assicurarci che lo script cgi chiamato da suexec risieda sotto DocumentRoot del server affinché suexec possa essere eseguito, quindi abbiamo installato il sito in /var/www/teampass(che si trova sotto DocumentRoot del Server (/var/www/) NON significa DocumentRoot del VirtualHost. Qui è consentito un collegamento simbolico.
Preparazione del database MySQL:
Crea il nuovo database in MySQL:
Segui queste istruzioni:
1) Connettiti a mysql come root:mysql -p -u root
PW: ******
2) Crea il DB, i diritti di accesso utente e utente:CREATE DATABASE pwdb CHARACTER SET utf8 COLLATE utf8_bin;
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER,INDEX on pwdb.* TO 'pwuser'@'localhost' IDENTIFIED BY 'password';
flush privileges;
Esci da MySQL:quit;
3) Suggerimento:per confermare se le autorizzazioni sono state concesse correttamente, accedi al server DB con l'utente DB PWDB (pwuser) ed esegui il comando seguente:SHOW GRANTS FOR 'pwuser'@'localhost';
4) Esci da MySQL:quit;
Installazione di TeamPass tramite l'interfaccia web:
Nel browser:https://teampass.mydomain.com/install/install.php
Compila i percorsi appropriati, le credenziali MySQL e le impostazioni extra e salva questa configurazione.
Sei quindi pronto per utilizzare TeamPass