Ratticweb é um serviço de gerenciamento de senhas baseado open source Django.
Ele foi projetado desde o início para ser simples de usar para que você possa passar mais tempo se preocupando com outras coisas.
A gestão foi simplificada com um esquema de ACL simples e uma ferramenta útil que ajuda você a descobrir quais as senhas para mudar quando os usuários saírem ou mudar de equipe.
Existe uma API para acesso por programas externos, e logs de auditoria para assegurar a plena responsabilização. Também existe um "Alterar fila" para que você possa controlar quais senhas precisam ser mudados, e quando.
Instalar dependências:
# yum install install gcc-c++ httpd mod_wsgi mod_ssl mod_perl crypto-utils mysql mysql-server mysql-devel openldap-devel openssl-devel python-devel libxml2-devel libxslt-devel python-pip unzip -y
Entendo que você já configurou o mysql, iremos criar a base de dados:
mysql>
create database ratticdb;
mysql>
create user rattic@localhost identified by '***rattic-db-password***';
mysql>
grant all on rattic.* to ratticdb;
Instalar o ratticweb:
# useradd -c "RatticWeb" -m rattic
# mkdir /opt/apps
# cd /opt/apps
# wget https://github.com/tildaslash/RatticWeb/archive/master.zip
# unzip master.zip
# mv RatticWeb-master/ ratticweb
# mkdir mkdir /opt/apps/ratticweb/static
# chown -R rattic /opt/apps/ratticweb
# chcon -Rv --type=httpd_sys_content_t /opt/apps/ratticweb
Criar o arquivo local.cfg:
Colocar no "hostname" o nome que irá responder à url da página para evitar acontecer o "erro 400".
# nano /opt/apps/ratticweb/conf/local.cfg
[ratticweb]
debug = False
secretkey = ***rattic-chave***
hostname = rattic.door.com
[filepaths]
static = /opt/apps/ratticweb/static
[database]
engine = django.db.backends.mysql
name = ratticdb
user = rattic
password = ***rattic-db-password***
host = localhost
port = 3306
Iniciaremos agora o processo de instalação:
# cd /opt/apps/ratticweb
# pip install -r requirements-mysql.txt
# pip install -r requirements-mysql.txt -r requirements-dev.txt
Antes de finalizar iremos forçar a atualização das dependências do Python, isso é para evitar uns erros que estavam impedindo a instalação.
Uma outra informação importante é que uma das dependências irá dar erro impedindo finalizar o update de tudo, sendo assim atualizaremos somente mais uma dependência para assim eliminar todos os erros e prosseguirmos.
# mount -oremount,exec /tmp
# pip freeze --local | grep -v '^\-e' | cut -d = -f 1 | xargs pip install -U
# pip install --upgrade South
Agora podemos instalar o rattic sem problemas:
# ./manage.py syncdb --noinput
# ./manage.py migrate --all
# ./manage.py collectstatic -c --noinput
# ./manage.py demosetup
Configuração do vhost:
Para corrigir uma outro erro de inicialização do wsgi no redhat e forks, iremos precisar configurar o socket do mesmo no arquivo wsgi.conf.
# nano /etc/httpd/conf.d/wsgi.conf
Adicionar no final do arquivo a linha abaixo:
WSGISocketPrefix /var/run/wsgi
Basta agora criar o arquivo vhosts.conf e adicionar a configuração para a aplicação subir via web.
# nano /etc/httpd/conf.d/vhosts.conf
NameVirtualHost *:80
<VirtualHost *:80>
ServerName rattic.door.com
ServerAlias rattic
Redirect permanent / https://rattic.door.com/
</VirtualHost>
Alias /robots.txt /opt/apps/ratticweb/static/robots.txt
Alias /favicon.ico /opt/apps/ratticweb/static/favicon.ico
AliasMatch ^/([^/]*\.css) /opt/apps/ratticweb/static/styles/$1
Alias /media/ /opt/apps/ratticweb/media/
Alias /static/ /opt/apps/ratticweb/static/
<Directory /opt/apps/ratticweb/static>
Order deny,allow
Allow from all
</Directory>
<Directory /opt/apps/ratticweb/media>
Order deny,allow
Allow from all
</Directory>
WSGIScriptAlias / /opt/apps/ratticweb/ratticweb/wsgi.py
WSGIPassAuthorization On
WSGIDaemonProcess rattic processes=2 threads=25 home=/opt/apps/ratticweb/ python-path=/opt/apps/ratticweb display-name=%{GROUP}
WSGIProcessGroup rattic
<Directory /opt/apps/ratticweb/ratticweb>
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>
# /etc/init.d/httpd restart
Fim.