Differences

This shows you the differences between two versions of the page.

Link to this comparison view

instalacao_do_webacula_com_postgresql_no_debian_wheezy_pt_br [2017/09/05 12:18] (current)
Line 1: Line 1:
 +====== Instalação do Webacula com PostgreSQL no Debian Wheezy ​ ======
 +
 +
 +O Webacula é uma interface web para gerenciamento do bacula. Na minha opinião uma das melhores para tal finalidade.
 +
 +Recursos:
 +  * ACLs para Bacula e Webacula implementadas. As ACLs são armazenadas no banco de dados bacula nas tableas de uso do Webacula.
 +  * Suporte completo aos seguinte banco de dados: <​nowiki>​MySQL</​nowiki>,​ <​nowiki>​PostgreSQL</​nowiki>​ e Sqlite.
 +  * Rodar jobs
 +  * Restaurar todos os arquivos ou arquivos selecionados de um jobid
 +  * Restaurar o backup mais recente para um cliente
 +  * Restaurar backup para um cliente antes de um período específico.
 +  * Visualização de uma linha do tempo para os Jobs
 +  * Montar e desmonstar Storeages
 +  * Visualização quais jobs foram executados com erros.
 +  * Visualização da condição dos Volumes
 +  * Visualização dos jobs agendados para as próximas 24 horas.
 +  * Visualização de todos os jobs que estão rodando.
 +  * Visualização dos jobs que foram executados nas últimas 24 horas.
 +  * Pesquisa de jobs por diversas condições
 +  * Interface (Ajax) para Bacula Console
 +  * Informações detalhadas sobre Pools, Volumes, Storages e Clientes.
 +  * Logbook. Logbook - É um relatório eletronico simples dos backups. Registros no logbook são inseridos, modificacos e deletados manualmente pelo usuário. Registros podem contem links (geralmente links web nos quais temos a possibilidade de clicar) para abrir jobs do Bacula ou links para outros registros do logbook.
 +  * RSS feed
 +  * Suporte multi-idiomas - padrão arquivos gettext (*.mo). Idiomas suportados: Inglês, English, Tcheco, Francês, Alemão, Italiano, Português Brasilieiro,​ Russo e Espanhol.
 +  * Para web designers: Agora é muito facil criar novos skins. ​  
 +    ​
 +    ​
 +Alguns telas.
 +
 +Tela de Login
 +
 +{{::​webacula-01-login.png?​500|}}
 +
 +Página principal.
 +
 +{{::​webacula-02-index.png?​500|}}
 +
 +Restauração de Job - part 1
 +
 +{{::​webacula-20-restore1.png?​500|}}
 +
 +Restauração de Job - part 2
 +
 +{{::​webacula-20-restore2.png?​500|}}
 +
 +Linha do tempo.
 +
 +{{::​webacula-50-timeline.png?​500|}}
 +
 +Logbook
 +
 +{{::​webacula-60-logbook.png?​500|}}
 +
 +Painel de Administração
 +
 +{{::​webacula-90-admin-role.png?​500|}}
 +
 +Administração de Usuários.
 +
 +{{::​webacula-95-admin-user.png?​500|}}
 +
 +====== Instalação e configuração do Webacula ======
 +
 +Vamos a instalação das dependências para o Webacula
 +<sxh bash>
 +aptitude install php5 php5-mcrypt php5-gd php5-pgsql php5-cli apache2 sudo -y
 +</​sxh>​
 +
 +Agora vamos criar um diretório para armazenar o webacula
 +<sxh bash>
 +mkdir /​var/​www/​webacula
 +</​sxh>​
 +
 +Vamos acessar o diretório do webacula
 +<sxh bash>
 +cd /​var/​www/​webacula
 +</​sxh>​
 +
 +Agora vamos obter o código fonte, favor usar o código que eu estou especificando pois ja inseri o zend e fiz alguns ajustes nos fontes.
 +<sxh bash>
 +wget -c http://​wiki.douglasqsantos.com.br/​Downloads/​bacula/​webacula-5.5.1.tar.gz
 +</​sxh>​
 +
 +Agora vamos extrair os fontes
 +<sxh bash>
 +tar -xvf webacula-5.5.1.tar.gz
 +</​sxh>​
 +
 +Agora vamos mover o conteúdo para o diretório corrente.
 +<sxh bash>
 +mv webacula-5.5.1/​* .
 +</​sxh>​
 +
 +Agora vamos remover o diretório que nao precisamos mais.
 +<sxh bash>
 +rm -rf webacula-5.5.1
 +</​sxh>​
 +
 +Agora vamos ajustar as permissões do diretório do bacula e de alguns arquivos.
 +<sxh bash>
 +chmod 770 /etc/bacula
 +chown root:bacula /​sbin/​bconsole
 +chmod u=rwx,​g=rx,​o= ​ /​sbin/​bconsole
 +chown root:bacula /​etc/​bacula/​bconsole.conf ​
 +chmod u=rw,g=r,o= /​etc/​bacula/​bconsole.conf
 +</​sxh>​
 +
 +Agora vamos inserir o apache no grupo do bacula
 +<sxh bash>
 +usermod -aG bacula www-data
 +</​sxh>​
 +
 +Agora vamos ajustar o sudo para o Webacula
 +<sxh bash>
 +echo "​www-data ALL=NOPASSWD:​ /​sbin/​bconsole"​ >> /​etc/​sudoers
 +echo "​www-data ALL=NOPASSWD:​ /​sbin/​bacula-dir"​ >> /​etc/​sudoers
 +</​sxh>​
 +
 +Agora já podemos testar o acesso do apache ao bconsole utilizando sudo
 +<sxh bash>
 +su -l www-data -s /bin/sh -c "/​usr/​bin/​sudo /​sbin/​bconsole -n -c /​etc/​bacula/​bconsole.conf"​
 +Connecting to Director 127.0.0.1:​9101
 +1000 OK: 1 bacula-dir Version: 7.0.5 (28 July 2014)
 +Enter a period to cancel a command.
 +*quit
 +</​sxh>​
 +
 +Agora precisamos ajustar a configuração do php
 +<sxh bash>
 +vim /​etc/​php5/​apache2/​php.ini
 +[...]
 +max_execution_time = 3600
 +[...]
 +date.timezone = "​America/​Sao_Paulo"​
 +</​sxh>​
 +
 +Agora vamos ajustar a configuração do Webacula para conectar no banco de dados.
 +<sxh bash>
 +vim /​var/​www/​webacula/​application/​config.ini
 +[...]
 +db.adapter = PDO_PGSQL
 +db.config.host = localhost
 +db.config.username = usuario_do_banco_de_dados_bacula
 +db.config.password = "​SENHA_DO_BACULA"​
 +db.config.dbname = banco_de_dados_do_bacula
 +[...]
 +def.timezone = "​America/​Sao_Paulo"​
 +[...]
 +bacula.sudo = "/​usr/​bin/​sudo"​
 +bacula.bconsole = "/​sbin/​bconsole"​
 +bacula.bconsolecmd = "-n -c /​etc/​bacula/​bconsole.conf"​
 +[...]
 +</​sxh>​
 +
 +Agora precisamos ajustar o arquivo que vai conter as variáveis para a importação das tabelas para o webacula.
 +<sxh apache>
 +vim /​var/​www/​webacula/​install/​db.conf
 +# See also application/​config.ini
 +
 +# bacula settings
 +db_name="​banco_de_dados_do_bacula"​
 +db_user="​usuario_do_banco_de_dados_bacula"​
 +
 +# CHANGE_THIS
 +db_pwd="​senha_do_bacula"​
 +
 +# Webacula web interface settings
 +#
 +# Built-in superuser login is '​root'​
 +#
 +# CHANGE_THIS
 +webacula_root_pwd="​senha_para_a_interface_web"​
 +</​sxh>​
 +
 +Agora vamos importar as novas tabelas para o banco de dados.
 +<sxh bash>
 +su -l bacula -s /bin/sh -c "cd /​var/​www/​webacula/​install/​PostgreSql/​ && ./​10_make_tables.sh"​
 +su -l bacula -s /bin/sh -c "cd /​var/​www/​webacula/​install/​PostgreSql/​ && ./​20_acl_make_tables.sh"​
 +</​sxh>​
 +
 +Agora vamos criar um virtualhost para o webacula
 +<sxh apache>
 +vim /​etc/​apache2/​sites-available/​webacula
 +<​VirtualHost *:80>
 +        ServerAdmin webmaster@localhost
 +        ServerName webacula.douglasqsantos.com.br
 +        DocumentRoot /​var/​www/​webacula/​html
 +        ​
 +    <​Directory /​var/​www/​webacula/​html>​
 +       ​Options -Indexes +FollowSymLinks
 +       ​AllowOverride All
 +       Order allow,deny
 +       Allow from all
 +    </​Directory>​
 +
 +    <​Directory /​var/​www/​webacula/​docs>​
 +       Order deny,allow
 +       Deny from all
 +    </​Directory>​
 +
 +    <​Directory /​var/​www/​webacula/​application>​
 +       Order deny,allow
 +       Deny from all
 +    </​Directory>​
 +
 +    <​Directory /​var/​www/​webacula/​languages>​
 +       Order deny,allow
 +       Deny from all
 +    </​Directory>​
 +
 +    <​Directory /​var/​www/​webacula/​library>​
 +       Order deny,allow
 +       Deny from all
 +    </​Directory>​
 +
 +    <​Directory /​var/​www/​webacula/​install>​
 +       Order deny,allow
 +       Deny from all
 +    </​Directory>​
 +
 +    <​Directory /​var/​www/​webacula/​tests>​
 +       Order deny,allow
 +       Deny from all
 +    </​Directory>​
 +
 +    <​Directory /​var/​www/​webacula/​data>​
 +       Order deny,allow
 +       Deny from all
 +    </​Directory>​
 +
 +      ErrorLog /​var/​log/​apache2/​webacula.douglasqsantos.com.br-error.log
 +      LogLevel warn
 +      CustomLog /​var/​log/​apache2/​webacula.douglasqsantos.com.br-access.log combined
 +</​VirtualHost>​
 +</​sxh>​
 +
 +Agora vamos ajustar o .htaccess para não termos problemas
 +<sxh apache>
 +vim /​var/​www/​webacula/​html/​.htaccess ​
 +SetEnv APPLICATION_ENV production
 +RewriteEngine On
 +RewriteBase ​  /
 +RewriteCond %{REQUEST_FILENAME} -s [OR]
 +RewriteCond %{REQUEST_FILENAME} -l [OR]
 +RewriteCond %{REQUEST_FILENAME} -d
 +RewriteRule ^.*$ - [NC,L]
 +RewriteRule ^.*$ index.php [NC,L]
 +php_flag magic_quotes_gpc off
 +php_flag register_globals off
 +</​sxh>​
 +
 +Agora vamos desabilitar o site default do apache
 +<sxh bash>
 +a2dissite 000-default
 +</​sxh>​
 +
 +Agora vamos habilitar o nosso site para o webacula.
 +<sxh bash>
 +a2ensite webacula
 +</​sxh>​
 +
 +Agora vamos habilitar o módulo rewrite do apache
 +<sxh bash>
 +a2enmod rewrite
 +</​sxh>​
 +
 +Agora vamos ajustar as permissões do diretório do webacula
 +<sxh bash>
 +chown -R www-data:​www-data /​var/​www/​webacula
 +</​sxh>​
 +
 +Agora vamos reiniciar o apache
 +<sxh bash>
 +/​etc/​init.d/​apache2 restart
 +</​sxh>​
 +
 +Agora é so acessar http://​webacula.douglasqsantos.com.br ou http://​ip_do_servidor e informar o usuário: root e a senha que foi definida em: webacula_root_pwd="​senha_para_a_interface_web"​
 +
 +====== Referências ======
 +  - http://​webacula.sourceforge.net/​
 +  - /​var/​www/​webacula/​docs/​html