Прежде чем приступить непосредственно к инсталляции и настройке самой системы резервного копирования BackupPC, необходимо определиться с требованиями к программному окружению, в котором должен работать сервер.
Во-первых, как я уже писал, это операционная система, в роли которой может выступать Linux, Solars, либо другая Unix-like система. Во-вторых, необходимо предусмотреть наличие вместительного RAID-массива, или использовать LVM. Кроме того: Perl версии 5.6.0 или выше , Samba и Apache сервер.
В этой статье я не буду касаться настройки клиента Samba, в частности, работы в составе Active Directory. Я предполагаю само собой разумеющимся, что если Вы планируете производить архивацию информации с Windows-серверов, работающих в составе домена, то и должны обеспечить к ним доступ Вашей Linux-машины. Отсутствие описания процесса конфигурирования Samba-сервера в данной статье, думаю, компенсируется многочисленными материалами на эту тему в Интернет.
Также предполагается, что Вы используете кодировку KOI-8 вместо установленной по умолчанию в большинстве современных дистрибутивов UTF-8. Red Hat в частности перешла на ее использование с версии 8.0 своего продукта. Но дело в том, что поддержка русского языка при помощи UTF-8 во многих приложениях далека от совершенства. Безусловно, лучшим решением была бы работа с UTF-8, но в данном случае я предпочел пойти по пути "наименьшего сопротивления", и воспользоваться уже существующими у меня наработками.
Соответственно должен быть настроен и web-сервер, у которого в качестве кодировки по умолчанию должно быть указанно koi8-r.
Приступая к установке BackupPC, в системе необходимо иметь следующие perl-модули: Compress::Zlib, Archive::Zip и File:RsyncP. Проверить наличие установленных модулей можно дав команду: perldoc <имя модуля>.
Если в ответ будет получено сообщение вида: No documentation found for "Compress::Zlib", следовательно, в Вашей системе данный модуль еще не установлен. Все те дистрибутивы, в которых я устанавливал BackupPC, по умолчанию этих модулей не содержат.
Процедура установки модулей, которые можно скачать с www.cpan.org следующая:
#make test - после выполнения этой команды мы должны получить сообщение, что все тесты пройдены успешно
#make install
Имеющие опыт общения с оболочкой cpan, могут поступить проще - и для установки модулей воспользоваться ею.
В случае RHEL3 для успешной компиляции модуля Archive::Zip пришлось дать команду export LANG=en_US, без которой он отказался "собираться".
Кроме того, мне пришлось установить отсутствующую в дистрибутивах от Red Hat утилиту par2, которая создает "избыточную информацию" для файлов с использование кодов Рида-Соломона, и позволяет восстанавливать файлы, повреждённые до определённой степени. Скачиваем с сайта http://parchive.sourceforge.net/ исходники в виде файла par2cmdline-0.4.tar.gz, и выполняем команды:
#tar zxvf par2cmdline-0.4.tar.gz
#cd par2cmdline-0.4
#./configure
#make
#make check
#make install
В принципе, установка par2cmdline не обязательна, так как по умолчанию BackupPC работает и без нее. Но все же я рекомендовал бы ее установить, особенно при отсутствии RAID-массива на сервере.
Также для корректной работы CGI-интерфейса при стандартной установке системы, когда web-сервер запускается из под специально выделенного для этих целей пользователя (httpd или apache), требуется Suid Perl. В Red Hat дистрибутивах соответствующий пакет называется perl-suidperl.
Ну и, наконец, добавим пользователя, из-под которого будет выполняться запуск системы резервного копирования:
#useradd backuppc
После окончания тестирования системы не лишним будет убрать для пользователя backuppc возможность интерактивного входа.
Установка BackupPC
Теперь можно приступить непосредственно к установке BackupPC. Развернем архив и запустим конфигурационный скрипт:
#tar zxvf BackupPC-x.x.x.tar.gz
#cd BackupPC-x.x.x
#perl configure.pl
В ходе установки Вам потребуется ответить на ряд вопросов. На первый - просьбу указать полный путь к уже установленной старой версии, можно ответить, просто нажав "Enter", поскольку выполняется первоначальная установка. После, Вам будут показаны пути к утилитам, требуемым BackupPC, которые скрипт определил самостоятельно, с просьбой подтвердить их расположение. Затем необходимо проверить правильно ли скрипт определил имя хоста и имя пользователя, которого мы создали ранее, а также директорию для установки исполнимых файлов и директорию для хранения данных.
В зависимости от быстродействия сервера Вам необходимо будет выбрать уровень компрессии резервируемых данных. Уровень можно менять от 1 до 9. По умолчанию предлагается третий уровень. По заявлениям разработчиков, при увеличении c "умолчальной" тройки до пятерки, например, загрузка процессора увеличивается на 20%, а данные занимают на 2-3% меньше места. По этим данным видно, что особого смысла увеличивать степень сжатия нет. При первоначальной установке, я бы порекомендовал оставить тройку. Позднее можно попробовать поэкспериментировать с этим значением, поменяв его в конфигурационном файле.
Следующий вопрос касается пути к cgi-bin директории Вашего веб сервера (в Red Hat подобных дистрибутивах это /var/www/cgi-bin/), и пути к директории с устанавливаемыми иконками для CGI-интерфейса (/var/www/html/BackupPC). Кроме того, будет предложено ввести часть URL, указывающего на иконки, а именно расположение относительно корневого каталога WEB-сервера. Обратите внимание, что путь должен начинаться со слэша. В нашем случае он будет выглядеть как /BackupPC.