Nesse post não vou explicar como o Bacula funciona e nem como fazer a sua configuração para backup. Planejo fazer isso mais a frente. Agora é só referente a instalação do Bacula
Para esse tutorial a configuração foi um servidor CentOs 7.4, com o Bacula 5.2.13, o Postgres 9.2.23 e o Webmin 1.870 para administração gráfica. As versões são as atuais nos repositórios no dia dessa postagem.
Primeiramente, desabilitei o SELinux e o Firewall para melhor instalação.
Caso não queira desabilitar o firewall, as portas utilizadas são:
Webmin: 10000
Bacula: 9101, 9102, 9103
Postgres: 5432
Instalando as dependências
Aqui estão as dependências do Webmin, instalação do Vim para edição dos arquivos e do wget para Download de arquivos.
yum -y install wget vim perl-Authen-PAM perl-DBD-Pg perl-DBI perl-IO-Tty perl-Sys-Syslog perl-Digest-MD5 tcp_wrappers tcp_wrappers-devel
Adicionar repositório do Webmin
Para a instalação do Webmin, vamos adicionar seu repositório oficial. Caso queira fazer a instalação sem ser por repositório, basta ir ao site do Webmin e seguir o passo-a-passo deles.
cat < /etc/yum.repos.d/Webmin.repo [Webmin] name=Webmin Distribution Neutral mirrorlist=https://download.webmin.com/download/yum/mirrorlist enabled=1 EOF
Baixando as chaves do Webmin
wget http://www.webmin.com/jcameron-key.asc
rpm --import jcameron-key.asc
Instalando o Bacula, Postgres e Webmin
yum -y install postgresql-devel postgresql-server bacula-director bacula-storage bacula-client bacula-console webmin
Configurando o Banco de Dados e Iniciando o Postgres
Nesse passo, vamos fazer a configuração do Postgres criando seu banco de dados e adicionando na inicialização do Centos7
postgresql-setup initdb
systemctl start postgresql
systemctl enable postgresql
Configuração do Bacula no Postgres
Com o banco de dados criado, precisamos criar as tabelas do bacula do nosso banco Postgres, assim como seu usuário e dar as permissões para esse usuário poder escrever no banco. Nesse momento vamos usar o usuário postgres para fazer esse processo.
O Bacula já disponibiliza scripts para esse processo. No Centos7, eles ficam em /usr/libexec/bacula/
su postgres
/usr/libexec/bacula/create_bacula_database
/usr/libexec/bacula/make_bacula_tables
/usr/libexec/bacula/grant_bacula_privileges
Ainda com o usuário postgres, vamos acessar o banco de dados e mudar a senha do usuário bacula.
Onde se lê senhabacula, coloque a senha que você deseja utilizar, mas lembre-se de usar as aspas simples no começo e no final da senha.
psql bacula
bacula=# alter user bacula with password 'senhabacula';
bacula=# \q
Agora sim podemos voltar ao nosso usuário
exit
Editando o Bacula Director
Essa configuração do bacula-dir é necessária para que o Bacula possa conectar ao Postgres. Nela, vamos passar o endereço do Banco de Dados, o usuário e a senha criada no passo anterior.
vim /etc/bacula/bacula-dir.conf
aproximadamente na linha 235
original: dbname = “bacula”; dbuser = “bacula”; dbpassword = “”
configurado: dbname = “bacula”; dbuser = “bacula”; dbpassword = “senhabacula“; dbaddress = “127.0.0.1”
Configurando o banco de dados para aceitar as conexões:
Já que definimos um usuário e senha para o banco de dados, vamos fazer com que o Postgres reconheça essa requisição:
vim /var/lib/pgsql/data/pg_hba.conf
Onde estiver “peer” e/ou “ident”, mude para md5
Original: local all all peer ou host all all 127.0.0.1/32 ident
Configurado: local all all md5 ou host all all 127.0.0.1/32 md5
Ainda no mesmo arquivo, adicionar na última linha:
host localhost all 0.0.0.0/0 md5
Reiniciando os serviços
systemctl restart bacula-dir bacula-fd bacula-sd postgresql
Acesso ao Webmin
https://localhost:10000/ (no lugar de localhost, pode ser o IP da servidor)
login e senha são os usuários do seu servidor CentOs7
No menu da esquerda:
System > Bacula Backup System.
Caso não apareça, clicar em Refresh Modules no final do menu.
Ao clicar, vai aparecer um erro:
É normal, pois não informamos ao módulo Bacula do Webmin nosso usuário e senha do Banco de dados. Basta clicar em module configuration.
No menu Bacula Database Settings vamos informar qual banco de dados foi utilizado e qual seu usuário e senha:
Ao clicar em SAVE, vai aparecer a tela abaixo. Agora seu servidor bacula está instalado. Em post futuros pretendo falar sobre como ele funciona e como configurar seu backups.
Caso queira mudar o idioma para o Português do Brasil:
Webmin> Change Language and Theme
Portuguese (Brazilian) (PT_BR.UTF-8)
Fontes:
http://webmin.com/rpm.html
http://bacula.us/bacula-enterprise-automated-install-script-for-centos-7/
https://www.digitalocean.com/community/tutorials/how-to-install-bacula-server-on-centos-7
http://www.linuxtopic.com/2016/08/install-and-configure-mysql-postgresql.html#gsc.tab=0
https://www.digitalocean.com/community/tutorials/how-to-install-and-use-postgresql-on-centos-7
Ao som de: Seu Jorge – Life on Mars? (David Bowie Cover/Version)