-
Notifications
You must be signed in to change notification settings - Fork 32
/
Copy pathbacula_install_debian10.txt
319 lines (263 loc) · 13.2 KB
/
bacula_install_debian10.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
#####################################################################################
# Passos para Instalação do Bacula via Compilação em Debian 10 (buster) #
# MySQL/MariaDB e PostgreSQL #
# Autor: Wanderlei Hüttel #
# Email: wanderlei.huttel at gmail.com #
# Data atualização: 09/06/2021 #
#####################################################################################
* Leia tudo antes de começar a instalar só depois inicie a instalação.
* Se você possuir algum erro, revise todo tutorial novamente e verifique se não
esqueceu nenhum passo.
* Este tutorial foi testado em Debian 10 (buster) em 09/06/2020
=====================================================================================
>>> Atualizar a lista dos pacotes <<<
=====================================================================================
apt-get update
=====================================================================================
>>> Pacotes necessários para compilação padrão <<<
=====================================================================================
apt-get install vim make gcc build-essential perl unp mc mtx libreadline7 \
libreadline5-dbg libreadline-gplv2-dev zlib1g-dev lzop liblzo2-dev python-lzo sudo \
gawk gdb libacl1 libacl1-dev libssl-dev lsscsi apt-transport-https
=====================================================================================
>>> Pacotes necessários para compilação dos drivers cloud S3 <<<
=====================================================================================
apt-get install libxml2-dev libcurl4-openssl-dev
=====================================================================================
>>> Configurações vim e bashrc <<< (OPCIONAL)
=====================================================================================
Digitar o comando abaixo no terminal e selecionar a opção que contém "/usr/bin/vim.basic",
digitando o respectivo número.
update-alternatives --config editor
# Desabilitar modo visual do VIM/Editor Colorido
# Incluir as seguintes linhas no arquivo acima
vim ~/.vimrc
set mouse-=a
syntax on
:highlight comment ctermfg=lightblue
# Habilitar modo colorido no bash
vim /root/.bashrc
export LS_OPTIONS='--color=auto'
eval "`dircolors`"
alias ls='ls $LS_OPTIONS'
alias ll='ls $LS_OPTIONS -l'
alias l='ls $LS_OPTIONS -lA'
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias cls=clear
# Recarregar o profile
. ~/.profile
=====================================================================================
>>> Pacotes necessários para habilitar o BAT <<<
=====================================================================================
apt-get install qt4-dev-tools qt4-qtconfig libqt4-dev libqwt5-qt4 \
libqwt5-qt4-dev pkg-config
* Incluir no comando de compilação a opção --enable-bat
=====================================================================================
>>> Pacotes necessários para utilizar o banco de dados MySQL <<<
=====================================================================================
Por padrão no Debian >= 9 não instala mais o MySQL, mas sim o MariaDB.
Então, caso queira habilitar o MySQL siga os passos abaixo:
*Adicionar a chave pública como confiável:
wget -O /tmp/RPM-GPG-KEY-mysql https://repo.mysql.com/RPM-GPG-KEY-mysql --no-check-certificate
apt-key add /tmp/RPM-GPG-KEY-mysql
*Habilitar os seguintes repositórios em /etc/apt/sources.list.d
echo "deb http://repo.mysql.com/apt/debian/ buster mysql-apt-config
deb http://repo.mysql.com/apt/debian/ buster mysql-5.7
deb http://repo.mysql.com/apt/debian/ buster mysql-tools
deb http://repo.mysql.com/apt/debian/ buster mysql-tools-preview
deb-src http://repo.mysql.com/apt/debian/ buster mysql-5.7" > /etc/apt/sources.list.d/mysql.list
apt-get update
apt-get install mysql-community-server libmysqlclient-dev
=====================================================================================
>>> Pacotes necessários para utilizar o banco de dados MariaDB <<<
=====================================================================================
* Cuidado com senhas com caractes especiais, pois podem apresentar problemas na
criação dos scripts. Se for uma instalação fresca, prefira deixar a senha em branco.
*Lembrando que o MariaDB não é homologado pelo Bacula, porém funciona.
apt-get install mariadb-server libmariadbd-dev libmariadbclient-dev \
libmariadbclient-dev-compat
=====================================================================================
>>> Pacotes para utilizar o banco de dados PostgreSQL <<<
=====================================================================================
apt-get install postgresql-11 postgresql-contrib-11 postgresql-client-11 \
postgresql-server-dev-11
=====================================================================================
>>> Baixando e Compilando o Fonte para usar os drivers Cloud S3 <<<
=====================================================================================
cd /usr/src
wget -c https://www.bacula.org/downloads/libs3-20200523.tar.gz
tar xvzf libs3-20200523.tar.gz
cd /usr/src/libs3-20200523
DESTDIR=/usr/local make clean
DESTDIR=/usr/local make
DESTDIR=/usr/local make install
# Refazer os caches das libraries
rm /etc/ld.so.cache
sudo ldconfig
Se tudo ocorrer bem o comando "s3" vai funcionar no terminal
s3
=====================================================================================
>>> Baixando e Compilando o Fonte <<<
=====================================================================================
cd /usr/src
*Utilizando wget
wget --no-check-certificate https://sourceforge.net/projects/bacula/files/bacula/11.0.5/bacula-11.0.5.tar.gz
tar xvzf bacula-11.0.5.tar.gz
cd bacula-11.0.5
*Utilizando git (sempre busca a versão mais recente, porém as vezes pode conter alguns bugs)
apt-get install git
git clone -b Branch-11.0 http://git.bacula.org/bacula.git bacula
cd /usr/src/bacula/bacula
########################################################################################################
# #
# Nessa parte abaixo é preciso definir o banco de dados que será utilizado MySQL/MariaDB ou PostgreSQL #
# Utilize os comandos de acordo com o banco escolhido. #
# Caso tenha problemas durante a compilação com o OpenSSL no Debian versão 9.x, compile sem o #
# OpenSSL-1.1, então não habilitamos * #
# --without-openssl #
# #
########################################################################################################
* Comando de pré-compilação para MySQL/MariaDB
./configure \
--enable-smartalloc \
--with-mysql \
--with-db-user=bacula \
--with-db-password=bacula \
--with-db-port=3306 \
--with-openssl \
--with-readline=/usr/include/readline \
--sysconfdir=/etc/bacula \
--bindir=/usr/bin \
--sbindir=/usr/sbin \
--with-scriptdir=/etc/bacula/scripts \
--with-plugindir=/etc/bacula/plugins \
--with-pid-dir=/var/run \
--with-subsys-dir=/etc/bacula/working \
--with-working-dir=/etc/bacula/working \
--with-bsrdir=/etc/bacula/bootstrap \
--with-s3=/usr/local \
--with-basename=bacula \
--with-hostname=XXX_IP_SERVIDOR_BACULA_XXX \
--with-systemd \
--disable-conio \
--disable-nls \
--with-logdir=/var/log/bacula \
* Comando de pré-compilação para PostgreSQL
./configure \
--enable-smartalloc \
--with-postgresql \
--with-db-user=bacula \
--with-db-password=bacula \
--with-db-port=5432 \
--with-openssl \
--with-readline=/usr/include/readline \
--sysconfdir=/etc/bacula \
--bindir=/usr/bin \
--sbindir=/usr/sbin \
--with-scriptdir=/etc/bacula/scripts \
--with-plugindir=/etc/bacula/plugins \
--with-pid-dir=/var/run \
--with-subsys-dir=/etc/bacula/working \
--with-working-dir=/etc/bacula/working \
--with-bsrdir=/etc/bacula/bootstrap \
--with-s3=/usr/local \
--with-basename=bacula \
--with-hostname=XXX_IP_SERVIDOR_BACULA_XXX \
--with-systemd \
--disable-conio \
--disable-nls \
--with-logdir=/var/log/bacula \
*Comando para efetuar a compilação e instalação
make -j 8
make install
make install-autostart
########################################################################################################
# #
# Passos para criação do banco de dados, usuários e permisssões MySQL/MariaDB #
# #
########################################################################################################
=====================================================================================
>>> Configurar os usuários no MySQL/MariaDB <<<
=====================================================================================
*Caso você não tenha definido uma senha:
mysql -u root
*Caso tenha definido uma senha
mysql -u root -p
GRANT ALL ON *.* TO 'root'@'localhost';
CREATE USER bacula;
GRANT ALL ON *.* TO 'bacula'@'localhost' IDENTIFIED BY 'bacula' WITH GRANT OPTION;
GRANT SELECT ON mysql.proc TO 'bacula';
FLUSH PRIVILEGES;
QUIT
systemctl restart mysql
=====================================================================================
>>> Criar as tabelas do bacula no MySQL/MariaDB <<<
=====================================================================================
chmod 775 /etc/bacula
cd /etc/bacula/scripts
* Caso não tenha definido uma senha
/etc/bacula/scripts/create_mysql_database
/etc/bacula/scripts/make_mysql_tables
/etc/bacula/scripts/grant_mysql_privileges
* Caso não tenha definido uma senha
/etc/bacula/scripts/create_mysql_database -u root -p
/etc/bacula/scripts/make_mysql_tables -u root -p
/etc/bacula/scripts/grant_mysql_privileges -u root -p
########################################################################################################
# #
# Passos para criação do banco de dados, usuários e permisssões PostgreSQL #
# #
########################################################################################################
=====================================================================================
>>> Criar as tabelas do bacula no PostgreSQL <<<
=====================================================================================
chmod 775 /etc/bacula
cd /etc/bacula/scripts
chown postgres create_postgresql_database && chown postgres make_postgresql_tables && \
chown postgres grant_postgresql_privileges && chown postgres drop_postgresql_database && \
chown postgres update_postgresql_tables
su postgres
/etc/bacula/scripts/create_postgresql_database
/etc/bacula/scripts/make_postgresql_tables
/etc/bacula/scripts/grant_postgresql_privileges
exit
=====================================================================================
>>> Definindo a senha do usuário bacula no PostgreSQL <<<
=====================================================================================
su postgres
psql
alter user bacula with password 'bacula';
\q
exit
=====================================================================================
>>> Configurar o acesso ao PostgreSQL pelo bacula <<<
=====================================================================================
Backup dos arquivos de configuração:
\cp /etc/postgresql/11/main/postgresql.conf /etc/postgresql/11/main/postgresql.conf.default
\cp /etc/postgresql/11/main/pg_hba.conf /etc/postgresql/11/main/pg_hba.conf.default
Editar o arquivo /etc/postgresql/11/main/postgresql.conf e alterar a linha abaixo:
de: # listen_addresses = 'localhost'
para: listen_addresses = '*'
Editar o arquivo /etc/postgresql/11/main/pg_hba.conf e alterar a seguinte linha:
de: local all all peer
para: local all all md5
*Reiniciar o PostgreSQL
systemctl restart postgresql
=====================================================================================
>>> Iniciar o bacula <<<
=====================================================================================
bacula start
Se tudo ocorrer bem, o bacula iniciará sem problemas e você pode acessar com o bconsole,
e verá uma tela conforme abaixo
root@bacula:/# bconsole
root@debian:/etc/bacula/scripts# bconsole
Connecting to Director 192.168.1.1:9101
1000 OK: 103 bacula-dir Version: 11.0.5 (03 June 2021)
Enter a period to cancel a command.
*