Делаю все через консоль (через ssh).
Создаем пользователя backuppc:
1 |
# useradd -gwww -d/srv/backuppc -s/bin/false -m backuppc |
Ставим Апач:
1 2 |
# yast2 --install apache2 # vi /srv/www/htdocs/index.html |
и вводим здесь, например, такой текст:
Добро пожаловать!
Через 2 секунды вы будете перенаправлены на страницу BackupPC
1 |
# vi /srv/www/cgi-bin/.htaccess |
Файл должен содержать:
1 2 3 4 |
AuthType Basic AuthName "Username / Password Required" AuthUserFile /srv/backuppc/password.file Require valid-user |
Добавляем пользователя админа BackupPC, задаем ему пароль:
1 |
# htpasswd2 -c /srv/backuppc/password.file adminuser |
Апач должен запускаться от имени пользователя “backuppc”. Приведем файл /etc/apache/uid.conf к такому виду:
1 2 |
User backuppc Group www |
Чтобы спрашивал пароль при доступе к веб-интерфейсу, вносим такие изменения в файл /etc/apache2/default-server.conf
1 2 3 |
AllowOverride AuthConfig Options +ExecCGI -Includes Order Deny,Allow |
Вносим Апач в автостарт:
1 |
# chkconfig --set apache2 on |
и [пере]запускаем:
1 |
# rcapache2 restart |
Предварительно разрешаем зависимости BackupPC перед установкой.
1 |
# zypper repos |
1 2 3 4 5 6 7 8 |
| Псевдоним | Имя | Включён | Обновление --+-----------------+-----------------------+-----------+----------- 1 | openSUSE 11.1-0 | openSUSE 11.1-0 | Да | Нет 2 | repo-debug | openSUSE-11.1-Debug | Нет | Да 3 | repo-non-oss | openSUSE-11.1-Non-Oss | Да | Да 4 | repo-oss | openSUSE-11.1-Oss | Да | Да 5 | repo-source | openSUSE-11.1-Source | Нет | Да 6 | repo-update | openSUSE-11.1-Update | Да | Да |
Выключаю поиск DVD-диска, чтобы скачивалось из репозиториев.
1 |
# zypper mr -d 1 |
Репозиторий ‘openSUSE 11.1-0’ успешно отключён.
И ставим необходимые библиотеки:
1 |
# yast -i perl-Archive-Zip perl-Compress-Zlib |
Забираем и устанавливаем RsyncP:
1 2 3 4 5 |
# wget http://www.pcc-services.com/sles/backuppc/perl-File-RsyncP-0.68-SLED.v1.i586.rpm # yast -i perl-File-RsyncP* # chmod -R go+rX /usr/lib/perl5/site_perl/5.10.0/i586-linux-thread-multi/ # yast -i gcc # perl -MCPAN -e 'install File::RsyncP' |
Установка BackupPC:
1 2 3 4 |
# wget http://www.pcc-services.com/sles/backuppc/BackupPC-3.0.0.tar.gz # tar zxf BackupPC-3.0.0.tar.gz # cd BackupPC-3.0.0 # perl configure.pl |
–> Are these paths correct? [y]? Жмем Enter.
–> BackupPC will run on host [имя_host’а]? Жмем Enter.
–> BackupPC should run as user [backuppc]? Жмем Enter.
–> Install directory (full path) [/usr/local/BackupPC]? /opt/BackupPC
–> Data directory (full path) [/data/BackupPC]? /srv/backuppc
–> CGI bin directory (full path) [ ]? /srv/www/cgi-bin
–> Apache image directory (full path) [ ]? /srv/www/htdocs/BackupPC
–> URL for image directory (omit http://host; starts with ‘/’) [ ]? /BackupPC
–> Do you want to continue? [y]? Жмем Enter.
Скрипт отработает и предложит нам “Enjoy!”
1 |
# vi /etc/BackupPC/config.pl |
адрес по которому будут высылаться отчеты о проблемах:
1 |
$Conf{EmailAdminUserName} = 'admin@example.com'; |
директория, в которую BackupPC будет складывать архивы:
1 2 |
(chown backuppc /where/backups/stored) $Conf{TopDir} = '/where/backups/stored'; |
будем бэкапить винду:
1 |
$Conf{ClientCharset} = 'cp1251'; |
время, в которое BackupPC будет проводить backup:
1 |
$Conf{WakeupSchedule} = [21.5]; # каждый день в 21:30 |
Так как BackupPC не разрабатывался под SUSE, для решения проблем с автозапуском
выполняем эти команды:
1 2 3 4 5 6 7 |
# wget http://www.pcc-services.com/sles/backuppc/backuppc # install -m 0755 backuppc /etc/init.d/ # chkconfig -a backuppc # chown backuppc /etc/BackupPC/ # chown backuppc /etc/BackupPC/* # chown backuppc /srv/www/cgi-bin/BackupPC_Admin # /etc/init.d/backuppc start |
Рассмотрим вариант бэкапа данных Windows XP/Server 2003. Для этого скачиваем файл cygwin-rsyncd-2.6.8_0.zip и распаковываем в папку C:\rsyncd\
В файле rsyncd.conf (список “общих папок” схож с конфигом Самбы) правим:
“auth users = backuppc_user” для каждой “общей папки”.
Затем в rsyncd.secrets добавляем:
1 |
backuppc_user:password |
Для секюрности можно дать права на чтение файлу rsyncd.secrets только учетной записи “SYSTEM”
Запускаем отсюда же services.bat, чтобы установилась служба rsync.
Теперь снова переходим на наш SUSE-сервер:
1 2 3 4 |
# mkdir /etc/BackupPC/pc # chown backuppc /etc/BackupPC/pc/ # vi /etc/BackupPC/pc/imya_client_compa.pl # chown backuppc /etc/BackupPC/pc/imya_client_compa.pl |
вносим в этот файл следующие строки:
1 2 3 4 |
$Conf{XferMethod} = 'rsyncd'; $Conf{RsyncdUserName} = 'backuppc_user'; $Conf{RsyncdPasswd} = 'password'; $Conf{RsyncShareName} = 'ИмяОбщейПапкиWindows_В_rsyncd.conf'; |
Чтобы сервер BackupPC “увидел” этого клиента, добавьте imya_client_compa в файл /etc/BackupPC/hosts и соответственно, запись с сопоставлением IP-адреса в /etc/hosts
Чтобы правильно отображались русских имена файлов и папок в файле /opt/BackupPC/lib/BackupPC/CGI/Lib.pm найдите в теле процедуры Header строчку:
1 |
print $Cgi->header(-charset => "utf-8"); |
и замените ее на
1 |
print $Cgi->header(-charset=>"CP1251");> |
Открываем http://ip_адрес_SUSE_сервера/cgi-bin/BackupPC_Admin
вводим ранее созданные логин и пароль (у меня adminuser) и настраиваем.