Curitiba/PR Contato
Administração e Suporte em Ti

# Faça uma instalação do Linux básica. Eu utilizei o Centos 7, e na instalação selecionei a instalação mínima, com Ferramentas de desenvolvimento e de monitoramento.

# Se na instalação do sistema você não definiu o nome completo do host faça agora e adicone do nome em /etc/hosts. Isto melhora a performance na rede

# Ex:
# servidor1.exemplo.com
hostnamectl set-hostname [servidor1.exemplo.com]

# Para validar, execute novamente
hostnamectl

# Adicione no /etc/hosts
echo "endereçoip servidor1.exemplo.com servidor1" >> /etc/hosts

# Acrescente a sua escolha, a ordem de pesquisa "dns,hosts" se sua rede trabalhar em domínio de rede 
echo "bind, hosts" >> /etc/host.conf

# Desativar o Selinux. Você pode reativar mais tarde, e não esqueça de liberar as portas de uso do bacula -> 9101:9103
vi /etc/selinux/config
SELINUX=disabled

# Vamos atualizar o Linux primeiramente

yum update -y
init 6

# Alguns itens a mais para download, que julgo necessário. 🙂
yum install nmap iptraf wget telnet bind bind-utils -y

# Vamos precisar de banco de dados. A partir da versão 7 do Centos o MySQL foi substituído pelo MariaDB, os comandos são os mesmos, o nível padrão de segurança é maior
yum install mariadb mariadb-server mariadb-devel -y
systemctl start mariadb
systemctl enable mariadb

# Primeiramente, antes de instalar o Bacula, altere a senha no Mariadb
/usr/bin/mysql_secure_installation

# Continuando…

yum install yum-priorities -y
yum install epel-release -y
yum install yum-utils -y

# Vamos instalar posteriormente o Baculum, para termos uma interface gráfica de configuração e monitoramento. Como o Baculum precisa de uma versão atualizada do PHP e o original de instalação ainda está na versão 5.6, vamos adicionar de outro repositório a versão 7.3, eu ainda não testei com a 7.4


cd /opt/
wget http://rpms.remirepo.net/enterprise/remi-release-7.rpm
rpm -Uvh remi-release-7.rpm
yum-config-manager –enable remi-php73
yum install php php-cli php-common php-devel php-gd php-mbstring php-mysql php-pear.noarch php-xml -y
yum install httpd httpd-devel httpd-tools -y
yum install ntp httpd mod_ssl php php-mysql php-mbstring phpmyadmin -y

# Vamos começar com a instalação do Bacula.

wget https://bacula.org/downloads/Bacula-9.6.6/bacula-9.6.6.tar.gz
tar -zxpvf bacula-9.6.6.tar.gz
cd bacula-9.6.6

# Compile e configure uma senha com um certo nível de complexidade, para que não tenhamos problemas na comunicação com o banco de dados

./configure –with-mysql –with-dir-password=”US3R@Bkp3g” –with-fd-password=”US3R@Bkp3g” –with-sd-password=”US3R@Bkp3g” –with-mon-dir-password=”US3R@Bkp3g” –with-mon-fd-password=”US3R@Bkp3g” –with-mon-sd-password=”US3R@Bkp3g”
make && make install && make install-autostart

# Criar a base de dados do Bacula no MySQL, definir senha do usuário bacula (‘US3R@Bkp3g’)

/etc/bacula/create_bacula_database -u root -p
/etc/bacula/grant_bacula_privileges -u root -p
/etc/bacula/make_mysql_tables -u root -p
/etc/bacula/grant_mysql_privileges -u root -p

# PS: Se não conectar, ou o bacula-dir não iniciar posteriormente execute a linha abaixo, dentro MySQL como usuário root do banco.

mysql -u root -p -e “UPDATE mysql.user SET password=PASSWORD(‘US3R@Bkp3g’) WHERE user=’bacula’”;
mysql -u root -p -e “FLUSH PRIVILEGES”;

mkdir -p /opt/bacula/log

# Altere a senha do dbpassword em /etc/bacula/bacula-dir.conf

vi /etc/bacula/bacula-dir.conf
Catalog {
Name = MyCatalog
dbname = “bacula”; dbuser = “bacula”; dbpassword = “US3R@Bkp3g”

# Adiconando as portas de conexão no firewalld:

sudo firewall-cmd –permanent –zone=public –add-port=9101-9103/tcp
sudo firewall-cmd –reload

# Adicionando o Bacula na inicialização do sistema operacional

systemctl start bacula-dir
systemctl start bacula-sd
systemctl start bacula-fd

systemctl enable bacula-dir
systemctl enable bacula-sd
systemctl enable bacula-fd

Agora vamos instalar o Baculum

rpm –import http://bacula.org/downloads/baculum/baculum.pub

# Adicionar o repositório no yum

echo “
[baculumrepo]
name=Baculum CentOS repository
baseurl=http://bacula.org/downloads/baculum/stable/centos
gpgcheck=1
enabled=1
” > /etc/yum.repos.d/baculum.repo

# Permitir o acesso do Bacula através do sudo pelo apache

echo “Defaults:apache !requiretty
apache ALL=NOPASSWD: /usr/sbin/bconsole
apache ALL=NOPASSWD: /usr/sbin/bdirjson
apache ALL=NOPASSWD: /usr/sbin/bsdjson
apache ALL=NOPASSWD: /usr/sbin/bfdjson
apache ALL=NOPASSWD: /usr/sbin/bbconsjson
apache ALL=(root) NOPASSWD: /usr/bin/systemctl start bacula-dir
apache ALL=(root) NOPASSWD: /usr/bin/systemctl stop bacula-dir
apache ALL=(root) NOPASSWD: /usr/bin/systemctl restart bacula-dir
apache ALL=(root) NOPASSWD: /usr/bin/systemctl start bacula-sd
apache ALL=(root) NOPASSWD: /usr/bin/systemctl stop bacula-sd
apache ALL=(root) NOPASSWD: /usr/bin/systemctl restart bacula-sd
apache ALL=(root) NOPASSWD: /usr/bin/systemctl start bacula-fd
apache ALL=(root) NOPASSWD: /usr/bin/systemctl stop bacula-fd
apache ALL=(root) NOPASSWD: /usr/bin/systemctl restart bacula-fd
” > /etc/sudoers.d/baculum

usermod -aG bacula apache
chown -R apache:bacula /opt/bacula/working /opt/bacula/etc
chmod -R g+rwx /opt/bacula/working /opt/bacula/etc

# Liberar as portas do Baculum no firewalld

firewall-cmd –permanent –zone=public –add-port=9095-9096/tcp
firewall-cmd –reload

# Reiniciar o apache

systemctl enable httpd.service
systemctl restart httpd.service

mkidr -p /opt/bacula/etc

Configure a API através da URL http://localhost:9096/ (admin, admin). Ou através do ip (ipv4 ou ipv6) da máquina. Defina uma credencial exclusiva de acesso.

Após as configurações sem erros, acesse a interface Baculum (http://localhost:9095/ – admin, admin) e configure, entre outros o acesso ao banco de dados do Bacula, à API Baculum e credencial da Interface Baculum.