Ferramentas do usuário

Ferramentas do site


tools:teampass

TEAMPASS

Sobre o TeamPass

TeamPass is a Passwords Manager dedicated for managing passwords in a collaborative way by sharing them among team members. Teampass offers a large set of features permitting to manage your passwords and related data in an organized way in respect to the access rights defined for each users. Teampass is an Open-Source free to use product distributed in respect with OpenSource GNU GPL-3.0.

Requisitos

  1. MySQL 5.1 or higher,
  2. PHP 5.5.0 or higher,
  3. PHP extensions:
    • mcrypt
    • openssl
    • ldap (if used)
    • mbstring
    • bcmath
    • iconv
    • xml
    • gd
    • openssl
    • curl

Instalação:

Servidor WEB (Apache ou NGINX)

  • Instalar apache
yum install httpd
yum install nginx

Liberar serviço web no firewall

  • Permitir HTTP/HTTPS no firewall interno do CentOS
firewall-cmd --permanent --zone=public --add-service={http,https}
firewall-cmd --reload

Habilitar inicialização automática do serviço web

APACHE: systemctl enable httpd
ou 
NGINX: systemctl enable nginx

Instalar PHP

yum install -y php-mcrypt php-openssl php-fpm php-mysql php-ldap php-mbstring php-bcmath php-iconv php-xml php-gd php-curl

Habilitar PHP no NGINX

 systemctl enable php-fpm 

Instalar banco de dados

vim /etc/php.ini
/max_execution_time

Preparar Base de Dados

  • Faça login como ROOT no MariaDB ou MySQL
    • mysql -uroot -p SenhaDoDBRoot
  • Crie uma base para se usada pela aplicação teampass
    • create database teambase character set utf8 collate utf8_bin;
  • Criar usuário para controle da bade
    • CREATE USER 'teampass'@localhost IDENTIFIED BY 'mypassword';
  • Configure um administrador com senha para base criada
    • grant all privileges on teambase.* to teampass@localhost identified by 'SenhaDaBase';

Baixar e instalar aplicação TeamPass

  • Instalar o WGET e o Unzip que geralmente não vem na instalação mínima do Linux
    • yum install -y wget unzip
  • Verificar Releases
  • Baixar arquivo zip da versão mais atual, Latest Commit
    • wget https://codeload.github.com/nilsteampassnet/TeamPass/zip/refs/heads/master
  • Criar pasta teampass no /var para gravação da SaltKey
    • mkdir /var/teampass
  • Extrair o conteúdo do arquivo baixado para pasta: /var/www/
    • unzip master -d /var/www/

Criar Host no Apache

  • Habilitar diretório adicional para arquivos de configuração do apache
    • echo "IncludeOptional sites-enabled/*.conf" >> /etc/httpd/conf/httpd.conf
    • mkdir /etc/httpd/sites-available /etc/httpd/sites-enabled
  • Criar um arquivo teampass.conf no diretório sites-available
    • vim /etc/httpd/sites-available/teampass.conf
      • <VirtualHost *:80>
                 ServerName teampass.gugainfo.com.br
                 ServerAlias www.teampass.gugainfo.com.br
                 DocumentRoot "/var/www/TeamPass-master"
                 ErrorLog "/var/www/logs/teampass-erro.log"
                 CustomLog "/var/www/logs/teampass.log" combined
        
             <Directory /var/www/TeamPass-master>
                  Options FollowSymlinks
                  AllowOverride All
                  Require all granted
             </Directory>
        
        </VirtualHost>
  • Criar link simbólico para ativar o virtualhost
    • ln -s /etc/httpd/sites-available/teampass.conf /etc/httpd/sites-enabled/teampass.conf

Criar Host no NGNIX

vim /etc/nginx/conf.d/teampass.conf
server {
	server_name teampass.gugainfo.com.br;
# Maximum file upload size is 4MB - change accordingly if needed
	client_max_body_size 2048M;
	client_body_buffer_size 256k;
	root /var/www/TeamPass-master;
	index index.php;
#Remember to comment the below out when you're installing, and uncomment it when done.
	#location ~ /(conf/|bin/|inc/|install.php) { deny all; }
    location / {try_files $uri $uri/ =404;}
    location ~ \.php$ {
    	include fastcgi_params;
	include /etc/nginx/fastcgi.conf;
	fastcgi_index index.php;
	fastcgi_pass 127.0.0.1:9000;
	fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
	fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
	}
  • definir o hostname nos arquivos /etc/hostname e /etc/hosts

Configurar permissões nos diretórios

  • Trocar o usuário e o grupo da pasta /var/www/TeamPass-master recursivamente para o apache
    • chown apache:apache -R /var/www/TeamPass-master /var/teampass
  • Aplicar as permissões do diretório do teampass.
    • chmod 755 -R /var/www/TeamPass-master /var/teampass
  • Definir e aplicar políticas do SELinux
    • Leitura e escrita para os diretórios: /var/www/teampass e /var/teampass
      • semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/TeamPass-master(/.*)?"
        semanage fcontext -a -t httpd_sys_rw_content_t "/var/teampass(/.*)?"
    • Gravação de LOGs no diretório: /var/www/logs
      • semanage fcontext -a -t httpd_log_t "/var/www/logs(/.*)?"
    • Aplicar política
      • restorecon -Rv /var/www/TeamPass-master
        restorecon -Rv /var/teampass
  • Liberar envio de e-mail pela aplicação no SELinux
    • setsebool -P httpd_can_sendmail=on
  • Liberar acesso do Apache ao LDAP no SELinux
    • setsebool httpd_can_connect_ldap on
  • Reiniciar o apache para ativar o nodo virtualhost
    • systemctl restart httpd
  • Acessar o site criado, nesse caso o: teampass.gugainfo.com.br e seguir o guia de configuração da ferramenta.

GUSTAVO ARAGÃO 2022/06/28

tools/teampass.txt · Última modificação: 2022/07/03 23:53 por gustavo