* Versões utilizadas: Debian 9.4 Stretch + PHP 7.0 + TeamPass 2.1.27
* Instale um serviço de webserver NGINX ou Apache com o modulo do PHP7.
* Instale os pacotes abaixo para PHP7.0
# apt-get install php7.0 php7.0-cli php7.0-mcrypt php7.0-json php7.0-ldap php7.0-gd php7.0-mysql php7.0-curl php7.0-bcmath php7.0-mbstring php7.0-fpm php7.0-common php7.0-xml
* Instale os pacotes adicionais
# apt-get install git curl openssl
* Caso for usar o MySQL no mesmo servidor instale
# apt-get install mysql-server mysqltuner
* Habilite os modulos
PHP7
# phpenmod mysqlnd
# phpenmod mcrypt
# phpenmod curl
* Ajuste a configuração do php.ini
# vi /etc/php/7.0/fpm/php.ini
max_execution_time = 30 -> De 30 para 60
* Configure a database
# mysql -u root -p -h <SERVER>
#############mysql> CREATE DATABASE teampass CHARACTER SET utf8 COLLATE utf8_bin;
mysql> CREATE DATABASE teampass CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
mysql> GRANT ALL PRIVILEGES ON teampass.* TO 'teampass'@'10.0.%' IDENTIFIED BY '<SENHA>';
mysql> FLUSH PRIVILEGES;
* Baixe o pacote do Teampass
# git clone https://github.com/nilsteampassnet/TeamPass.git /home/RepositorioWeb/teampass
* Crie o diretorio saltkey
# mkdir /home/RepositorioWeb/teampass/saltkey
* Ajuste as permissões
# chown www-data:www-data -R /home/RepositorioWeb/teampass
# chmod -R 775 /home/RepositorioWeb/teampass
(AVALIAR) PULAR
# cd /home/RepositorioWeb/teampass
# chmod -R 0777 includes/config
# chmod -R 0777 includes/avatars
# chmod -R 0777 includes/libraries/csrfp/libs
# chmod -R 0777 includes/libraries/csrfp/log
# chmod -R 0777 includes/libraries/csrfp/js
# chmod -R 0777 backups
# chmod -R 0777 files
# chmod -R 0777 install
# chmod -R 0777 upload
# chmod -R 0777 includes/config includes/avatars includes/libraries/csrfp/libs includes/libraries/csrfp/log includes/libraries/csrfp/js backups files install upload
*** Opcional PULAR
* Criar o site
# vi /etc/nginx/sites-available/teampass.conf
server {
listen 80 default_server;
listen [::]:80 default_server;
root /home/RepositorioWeb/webapps;
index index.php;
server_name _;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
# ln -s /etc/nginx/sites-available/teampass.conf /etc/nginx/sites-enabled/teampss
* Reinicie o Webserver e PHP
* Acesse http://<servidor>/teampass/install/install.php e clique em Next.
* Confirme as dependencias e Clique em Next.
* Ajuste a configuração de conexão da database e clique em Next.
* Clique em Generate para gerar a chave encriptada. Ajuste o campo "SaltKey" com o caminho /home/RepositorioWeb/teampass/saltkey e clique em Next.
Nota: Guarde a SaltKey gerada. A SaltKey também pode ser visualizada no arquivo /home/RepositorioWeb/teampass/saltkey/sk.php
* Clique em Next.
* Clique em Next.
* Clique em Start.
* Dashboard administrativo. Este dashboard não mostra a estrutura de senhas.
* Ajuste as configurações para iniciar o uso.
* Quando configurada o ambiente para utilizar login por estrutura LDAP as senhas e login locais continuam funcionais, porem, a estrutura LDAP tornasse relevante e os cadastros locais e senhas não podem ser alterados, caso ocorra a mudança ira motivar falha de acesso para o usuário alterado.
* Acesse o menu Opções > LDAP e habilite a opção.
* Insira as informações nos campos.
* Realizar login com o usuário do domínio. Acesse http://<servidor>/teampass, insira o usuário e senha, será criada o perfil.
* Logar novamente e será apresento dashboard de usuário.
* Após login de domínio será necessário deslogar e logar como admin para realizar ajuste de permissão para cada usuário logado.
* É possível compartilhar o serviço do TeamPass com outros setores da empresa e definindo políticas de acesso, portanto, cada setor da empresa poderá utilizar o TeamPass acessando somente o seu ambiente e visualizando somente os cadastro de senhas criados neste ambiente.
* Acesse menu Folders > + .
* Insira as informações.
* Clique no menu Roles > + para ajustar a permissão sobre o folder criado.
* Defina a força da senha.
* Após defina quem terá as permissões de No access, Read, Write com ou sem permissão de apagar e/ou editar.
* Acesse Users e edite um usuário.
* Defina em qual ou quais Roles o usuário ira participar, por quem será gerencia e em qual ou quais folders terá acesso.
* Acesse Settings > Email
* Atualização da versão do TeamPass 2.1.26 para 2.1.27 e utilizando php7.0
* Para realizar a atualização sem problemas é importante manter o nome do site e caminho de armazenamento dos arquivos. Caso precise ajuste os arquivos settings.php e tp.config.php no diretorio /includes/config.
* Baixe a nova versão do TeamPass e sobreponha os arquivos sobre a instalação velha.
# git clone https://github.com/nilsteampassnet/TeamPass.git /home/RepositorioWeb/teampass
* Após sobrepor os arquivos acesse o diretorio /includes/config/ e confira se a configuração para os caminhos estão corretas.
settings.php
tp.config.php
* Execute.
http://<IP_SERVER>/teampass/install/upgrade.php
* Insira o login e senha do Administrador e clique em LAUNCH, após aceito o acesso clique em NEXT.
* Confira os caminhos, clique em LAUCH para validar os pacotes necessarios e se tudo ok clique em NEXT.
* Clique em LAUCH e após em NEXT.
* Confira e clique em NEXT.
* Clique em LAUCH para inciar o processo e atualização. Este processo demora bastante. Após a conclusão clique em NEXT
* Confira o caminho do saltkey clique em LAUNCH e após a conclusão clique em NEXT
* Finalizada a atualização clique em Open TeamPass
- Container TeamPass
shell> mysql -uroot -p<SENHA>
mysql> create database teampass character set utf8mb4 collate utf8mb4_unicode_ci;
mysql> grant all privileges on teampass.* to teampass@'IP_SERVER' identified by 'SENHA';
mysql> grant all privileges on teampass.* to teampass@localhost identified by 'SENHA';
mysql> flush privileges;
mysql> quit;
$ docker volume create teampass_data
$ docker run --name teampass -t \
-e PHP_TZ='America/Sao_Paulo' \
-e VIRTUAL_HOST="IP_SERVER"
-e DB_SERVER_HOST="IP_DATABASE" \
-e MYSQL_DATABASE="teampass" \
-e MYSQL_USER="teampass" \
-e MYSQL_PASSWORD="SENHJA" \
-p 8082:80 \
-v teampass_data:/var/www/html \
-v teampass_data:/var/www/html/sk \
--restart unless-stopped \
-d teampass/teampass:latest
$ vi dockerfile
FROM richarvey/nginx-php-fpm:1.3.5 # The location of the web files ARG VOL=/var/www/html ENV VOL ${VOL} VOLUME ${VOL} EXPOSE 8082/tcp # Configure nginx-php-fpm image to use this dir. ENV WEBROOT ${VOL} RUN apk add --no-cache --repository http://dl-3.alpinelinux.org/alpine/edge/testing gnu-libiconv ENV LD_PRELOAD /usr/lib/preloadable_libiconv.so php RUN echo && \ # Install and configure missing PHP requirements /usr/local/bin/docker-php-ext-configure bcmath && \ /usr/local/bin/docker-php-ext-install bcmath && \ apk add --no-cache openldap-dev && \ /usr/local/bin/docker-php-ext-configure ldap && \ /usr/local/bin/docker-php-ext-install ldap && \ apk del openldap-dev && \ echo "max_execution_time = 120" >> /usr/local/etc/php/conf.d/docker-vars.ini && \ echo # Fix API URL, BUG: API not working in container. #2100 # Search last } and insert configuration rows before RUN sed -i "/^}/i \ location /api/ {\ try_files $uri $uri/ /api/index.php?$args;\ }" /etc/nginx/sites-enabled/default.conf COPY teampass-docker-start.sh /teampass-docker-start.sh # Configure nginx-php-fpm image to pull our code. ENV REPO_URL https://github.com/nilsteampassnet/TeamPass.git ENTRYPOINT ["/bin/sh"] CMD ["/teampass-docker-start.sh"]
$ docker build -f dockerfile .
# apt-get install php5 php5-cli php5-mcrypt php5-json php5-ldap php5-gd php5-mysqlnd php5-curl php5-mysql php5-mbstring php5-fpm php5-iconv php5-xmlrpc (php5-xml)
PHP5
# php5enmod mysqlnd
# php5enmod mcrypt