====== Минимальная установка и настройка 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. остальное в документации =)