Introducción:
TeamPass es una muy buena aplicación web que puede almacenar contraseñas de forma segura para una sola persona o equipos. Estos son los pasos que usé para instalarlo en Debian Jessie. Estas instrucciones también se pueden usar sin cambios o con cambios mínimos para instalar TeamPass en otros sistemas Debian o Ubuntu.
Estas instrucciones se basan en parte en este sitio:
http://teampass.net/2013-12- 31-instalación-en-linux-server
y estos
http://bourntech.com/blog/install-teampass-on-ubuntu-14-6lts/
https://github .com/nilsteampassnet/TeamPass/
Pasos:
Cree el usuario que se usará como propietario de los procesos de solicitudes de TeamPass htdocs y Apache TeamPass.useradd -d /opt/teampass/ -s /bin/false passwords
Preparar los directorios de inicio de 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
Instalar los paquetes necesarios: 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
Para permitir que Apache modifique archivos dentro de TeamPass htdocs, usamos módulos FCGI/suexec.a2enmod fcgid
a2enmod suexec
a2enmod ssl
Cree el script fcgi_wrapper:touch /var/www/teampass/fcgi/php-fcgi-starter
mcedit /var/www/teampass/fcgi/php-fcgi-starter
Contenido:#!/bin/sh
export PHPRC=/var/www/teampass/fcgi/
export PHP_FCGI_CHILDREN=2
export PHP_FCGI_MAX_REQUESTS=500
exec /usr/bin/php5-cgi
Hágalo ejecutable pero no para otros:chmod 750 /var/www/teampass/fcgi/php-fcgi-starter
Copie el php.ini del sistema a /var/www/teampass/fcgi/cp /etc/php5/apache2/php.ini /var/www/teampass/fcgi/
Adapte el php.init al sitio:mcedit /var/www/teampass/fcgi/php.ini
Agregue las siguientes 2 líneas al final:upload_tmp_dir = /var/www/teampass/fcgi/tmp
session.save_path = /var/www/teampass/fcgi/tmp
Y busque la configuración:max_execution_time y cambie su valor de 30 a 60. Ej.max_execution_time = 60
Cree la configuración de Apache2:
Contenido del archivo de configuración en /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>
Cree la primera capa (BASIC) Credenciales de autenticación para el primer usuario:htpasswd -c /var/www/teampass/auth/web.auth username
Otorgue la propiedad de todo el directorio al usuario 'contraseñas'chown -R passwords: /var/www/teampass/
NOTA: Antes de reiniciar su servicio Apache2, asegúrese de que el certificado se haya emitido e instalado en el directorio:/etc/letsencrypt/live/teampass.mydomain.com/
Puede utilizar las instrucciones de este enlace para instalar el software LetsEncrypt:
https://tipstricks.itmatrix.eu/?s=letsencrypt&x=0&y=0
Habilite la nueva configuración de Apache:a2ensite teampass.mydomain.com
Reinicie Apache para activar su nueva configuración:service apache2 restart
Preparar los archivos de permisos 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:Necesitamos asegurarnos de que el cgi-script llamado por suexec resida en el DocumentRoot del servidor para que suexec pueda ejecutarse, por lo tanto, instalamos el sitio en /var/www/teampass (que se encuentra en el DocumentRoot del servidor (/var/www/) NO significa el DocumentRoot del VirtualHost. Aquí se permite un enlace simbólico.
Preparando la base de datos MySQL:
Cree la nueva base de datos en MySQL:
Siga estas instrucciones:
1) Conéctese a mysql como root:mysql -p -u root
PW: ******
2) Cree la base de datos, el usuario y los derechos de acceso del usuario: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;
Salir de Mysql:quit;
SHOW GRANTS FOR 'pwuser'@'localhost';
4) Salir de Mysql:quit;
Instalación de TeamPass a través de la interfaz web:
En el navegador:https://teampass.mydomain.com/install/install.php
Complete las rutas, las credenciales de MySQL y las configuraciones adicionales apropiadas y guarde esta configuración.
Entonces estará listo para usar TeamPass