====== Минимальная установка и настройка Bareos на FreeBSD 12 + подключение клиента Windows ======
Что такое Bareos?\\
Bareos (Backup Archiving Recovery Open Sourced) это высоконадежное сетевое кроссплатформенное программное обеспечение для резервного копирования, архивирования и восстановления данных. Bareos, основанный в 2010 году как 100-процентное открытое ответвление проекта Bacula, активно развивается и пополняется многими новыми функциями.
Поддержка LTO Hardware-шифрования, ограничение используемой ширины канала, поддержка облачных технологий и новые практичные команды для консоли — вот далеко не полный перечень расширенных функций, предлагаемых на сегодняшний день проектом Bareos. Исходный код доступен на https://github.com/bareos/ и находится под лицензией AGPL v3. Bareos также предоставляет готовые пакеты через репозитории для всех распространённых дистрибутивов Linux и установочные пакеты для Windows.
==== Обновляемся ====
portsnap fetch
portsnap extract
portsnap fetch
portsnap update
==== Установим СУБД Postgresql ====
cd /usr/ports/databases/postgresql95-server
make install clean BATCH=yes
mcedit /etc/rc.conf
postgresql_enable="YES"
service postgresql initdb
Исправим конфигурационный файл:
mcedit /usr/local/pgsql/data/postgresql.conf
listen_addresses = '*'
port = 5432
Запустим и проверим:
/usr/local/etc/rc.d/postgresql start
sockstat -l4 | grep post
postgres postgres 99719 4 tcp4 *:5432 *:*
Изменим пароль, создадим пользователя, роль и добавим базу(тестовую. что бы было )) ).
passwd pgsql
B4TA1Z1K
su pgsql
createuser -sdrP sector
password
createdb -O sector newdb
psql newdb
newdb=# \list
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+---------+-------+-----------------------
newdb | sector | UTF8 | C | C |
postgres | postgres | UTF8 | C | C |
template0 | postgres | UTF8 | C | C | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | C | C | =c/postgres +
| | | | | postgres=CTc/postgres
(4 rows)
newdb=# \q
$ exit
==== Установим Apache ====
cd /usr/ports/www/apache24
make install clean BATCH=yes
mcedit /etc/rc.conf
apache24_enable="YES"
Исправим конфигурационный файл что бы запустился:
mcedit /usr/local/etc/apache24/httpd.conf
ServerName 127.0.0.1:80
Запустим:
/usr/local/etc/rc.d/apache24 start
==== Установим php ====
cd /usr/ports/lang/php72
make install clean BATCH=yes
Установим расширения для php:
cd /usr/ports/lang/php72-extensions/
make config
bz2
calendar
CURL
GD
GETTEXT
MBSTRING
PDF
PDO_PGSQL
PGSQL
PSPELL
SQLITE3 - снял
XMLRPC
XSL
ZIP
ZLIB
остальное по умолчанию
# make install clean BATCH=yes
Установим мод php:
cd /usr/ports/www/mod_php72
make install clean BATCH=yes
Скопируем php.ini:
cd /usr/local/etc/
cp php.ini-production php.ini
==== Настроим Apache для работы с php ====
mcedit /usr/local/etc/apache24/httpd.conf
раскомментировать - mod_rewrite в httpd.conf
DirectoryIndex index.php index.html
SetHandler application/x-httpd-php
SetHandler application/x-httpd-php-source
Перезапустим:
/usr/local/etc/rc.d/apache24 restart
==== Установим phpPgAdmin- это аналог phpMyadmin, но только для Postgresql ====
# cd /usr/ports/databases/phppgadmin/
# make install clean
Пропишем Alias и перезагрузим Apache:
mcedit /usr/local/etc/apache24/httpd.conf
Alias /phpPgAdmin "/usr/local/www/phpPgAdmin/"
AllowOverride None
Options None
Require all granted
/usr/local/etc/rc.d/apache24 restart
==== Установим Bareos 17.2 ====
# cd /usr/ports/sysutils/bareos-server/
# make install clean
Выбрал все кроме MTX (Ленточный носитель).\\
При установке сервера он тянет за собой клиента, там оставил все по умолчанию.\\
Установим web- интерфейс:
cd /usr/ports/www/bareos-webui
make install clean
скопируем Alias для Apache:
# cat /usr/local/etc/bareos-webui/apache-bareos-webui.conf
И вставим его в httpd.conf, а так же исправим пути в Alias на /usr/local/www:
# mcedit /usr/local/etc/apache24/httpd.conf
меняем права:
chown -R www:www /usr/local/etc/bareos-webui
chown -R www:www /usr/local/www/bareos-webui
chown -R bareos:bareos /usr/local/etc/bareos
find /usr/local/etc/bareos -type f -exec chmod 640 {} ';'
find /usr/local/etc/bareos -type d -exec chmod 750 {} ';'
Сделаем копию папки на всякий случай:
cp -a /usr/local/etc/bareos /usr/local/etc/bareos.bck
mcedit /etc/rc.conf
bareos_dir_enable="YES"
bareos_fd_enable="YES"
bareos_sd_enable="YES"
==== Перейдем к настройке. ====
Добавим пользователя bareos в группы pgsql и www:
pw groupmod bareos -m pgsql
id pgsql
pw groupmod bareos -m www
id www
Выполним скрипты для создания пользователя, базы и таблиц:
su pgsql
/usr/local/lib/bareos/scripts/create_bareos_database
/usr/local/lib/bareos/scripts/make_bareos_tables
/usr/local/lib/bareos/scripts/grant_bareos_privileges
Зайдем в PhpPgAdmin и изменим пароль для пользователя Bareos. Можно и через консоль.\\
Пропишем имя пользователя БД и пароль в конфиг bareos:
mcedit /usr/local/etc/bareos/bareos-dir.d/catalog/MyCatalog.conf
Catalog {
Name = MyCatalog
dbdriver = "postgresql"
#dbdriver = "XXX_REPLACE_WITH_DATABASE_DRIVER_XXX"
dbname = "bareos"
dbuser = "bareos"
dbpassword = "bareos"
}
Перезапустим демоны Bareos:
# /usr/local/etc/rc.d/bareos-dir restart
# /usr/local/etc/rc.d/bareos-fd restart
# /usr/local/etc/rc.d/bareos-sd restart
Создадим профиль для доступа через web:
cp /usr/local/etc/bareos-webui/bareos-dir.d/profile/webui-admin.conf /usr/local/etc/bareos/bareos-dir.d/profile/
Создадим конфигурационный файл admin.conf и наполним его следующим содержимым:
touch /usr/local/etc/bareos/bareos-dir.d/console/admin.conf
cat /usr/local/etc/bareos/bareos-dir.d/console/admin.conf
Console {
Name = admin
Password = ADMIN-PASSWORD
Profile = webui-admin
}
По секциям, копируем из первого конфига пароль и вставляем в остальные:
-------BAREOS-DIR-PASSWORD ----------------------
cat /usr/local/etc/bareos/bconsole.d/bconsole.conf
mcedit /usr/local/etc/bareos/bareos-dir.d/director/bareos-dir.conf
-------------------------------------------------
-------BAREOS-SD-PASSWORD------------------------
cat /usr/local/etc/bareos/bareos-dir.d/storage/File.conf - <написать вместо "localhost" ip адрес сервера
mcedit /usr/local/etc/bareos/bareos-sd.d/director/bareos-mon.conf
mcedit /usr/local/etc/bareos/bareos-sd.d/director/bareos-dir.conf
-------------------------------------------------
-------BAREOS-FD-PASSWORD------------------------
cat /usr/local/etc/bareos/bareos-dir.d/client/bareos-fd.conf
mcedit /usr/local/etc/bareos/bareos-fd.d/director/bareos-dir.conf
-------------------------------------------------
-------BAREOS-MON-PASSWORD-----------------------
cat /usr/local/etc/bareos/bareos-dir.d/console/bareos-mon.conf
mcedit /usr/local/etc/bareos/bareos-fd.d/director/bareos-mon.conf
-------------------------------------------------
Зайдем в веб интерфейс http://ip компа/bareos-webui \\
там уже будет один клиент, т.е. сам сервер и задания по резервному копированию конфигурационных файлов, выполните любое, чтобы убедится, что все в порядке, если все прошло успешно, то приступаем к установке клиента.
==== Подключим клиента. ====
Имя моего компа - desktop-vrt4qkq
версия клиента 17.2 не работает под Windows 10. \\
Скачиваем свежий, если у вас сервер 17.2 и не используется TLS, а клиент 18.2, то TLS нужно отключить, в 18-й версии он включен по умолчанию.
http://download.bareos.org/bareos/release/17.2/windows/
http://download.bareos.org/bareos/release/18.2/windows/
Step 1.
{{:безымянный1.png?550|}}
Step 2.
{{:безымянный2.png?550|}}
Step 3. + прописать ip компа
{{:безымянный3.png?550|}}
Step 4. Скопировать секцию клиент. она нам пригодится.
{{:безымянный4.png?550|}}
В клиенте 18.2 по умолчанию включено шифрование. \\
В данной инструкции мы не рассматриваем этот вариант, поэтому отключим его.\\
после установки:
C:\ProgramData\Bareos\bareos-fd.d\director\bareos-dir.conf
Director {
...
TlsEnable = no
TlsRequire = no
...
}
Далее перезапустите службы или комп :-)
С клиентом windows покончили =) вернемся в серверную часть:
cd /usr/local/etc/bareos/bareos-dir.d/client
touch desktop-vrt4qkq-fd.conf
Вставим секцию Client из того что нам сгенерировало приложение под Windows:
mcedit desktop-vrt4qkq-fd.conf
Client {
Name = desktop-vrt4qkq-fd
Address = 192.168.88.242
Password = "ek/X5veq4LiO6w0JGoXpVF2Hb2zeGK29lUd81Cdrgy6h"
# uncomment the following if using bacula
# Catalog = "MyCatalog"
}
Продолжим добавление клиента:
cd /usr/local/etc/bareos/bareos-dir.d/job
cp backup-bareos-fd.conf desktop-vrt4qkq.conf
root@bareos:/usr/local/etc/bareos/bareos-dir.d/job # cat desktop-vrt4qkq.conf
Job {
Name = "desktop-vrt4qkq"
JobDefs = "desktop-vrt4qkqJob"
Client = "desktop-vrt4qkq-fd"
}
cd /usr/local/etc/bareos/bareos-dir.d/jobdefs
cp DefaultJob.conf desktop-vrt4qkqJob.conf
cat desktop-vrt4qkqJob.conf
JobDefs {
Name = "desktop-vrt4qkqJob"
Type = Backup
Level = Incremental
Client = desktop-vrt4qkq-fd
FileSet = "Workstation" # selftest fileset (#13)
Schedule = "WeeklyCycle"
Storage = File
Messages = Standard
Pool = Incremental
Priority = 10
Write Bootstrap = "/var/db/bareos/%c.bsr"
Full Backup Pool = Full # write Full Backups into "Full" Pool (#05)
Differential Backup Pool = Differential # write Diff Backups into "Differential" Pool (#08)
Incremental Backup Pool = Incremental # write Incr Backups into "Incremental" Pool (#11)
}
cd /usr/local/etc/bareos/bareos-dir.d/fileset
cp WindowsAllDrives.conf Workstation.conf
cat Workstation.conf
FileSet {
Name = "Workstation"
Enable VSS = yes
Include {
Options {
Signature = MD5
Drive Type = fixed
IgnoreCase = yes
WildFile = "[A-Z]:/pagefile.sys"
WildDir = "[A-Z]:/RECYCLER"
WildDir = "[A-Z]:/$RECYCLE.BIN"
WildDir = "[A-Z]:/System Volume Information"
Exclude = yes
}
File = "c:/totalcmd" - тестовая директория.
}
}
Отключим поддержку TLS
mcedit /usr/local/etc/bareos/bareos-dir.d/client/bareos-fd.conf
Client {
...
TlsEnable = no
TlsRequire = no
...
}
Перезапустим все это дело:
# /usr/local/etc/rc.d/bareos-dir restart
# /usr/local/etc/rc.d/bareos-fd restart
# /usr/local/etc/rc.d/bareos-sd restart
Вход в консоль - bconsole -c /usr/local/etc/bareos/bconsole.d/bconsole.conf
конфиг bareos в windows лежит в %ProgramData%\Bareos
Закончили. Этого достаточно для того что бы выполнить ваш 1-й Backup. остальное в документации =)