Установка Bacula-web на Ubuntu 14.04
Ubuntu, VPS | Комментировать запись
Bacula-web – это веб-приложение PHP, позволяющее просматривать аннотации и графики запущенных процессов резервного копирования Bacula. В любом случае, это приложение не позволит управлять Bacula; тем не менее, Bacula-web предоставляет графическую альтернативу просмотра заданий из консоли. Приложение Bacula-web особенно полезно для пользователей, которые ранее не сталкивались с Bacula, так как его отчеты позволяют легко понять, как работает эта программа.
Требования
Для того, чтобы следовать данному руководству, необходимо предварительно установить сервер резервного копирования Bacula. Все необходимые инструкции можно найти в руководстве “Установка и настройка Bacula на сервер Ubuntu 12.04“.
Данное руководство подразумевает, что в качестве каталога Bacula использует MySQL. При использовании другой системы управления базами данных (СУБД), например, PostgreSQL, не забудьте выполнить настройку программы. Для этого нужно установить соответствующий модуль PHP и отредактировать информацию о соединениях БД.
Установка Nginx и PHP
Bacula-web является PHP-приложением, потому нужно установить PHP и веб-сервер (в данном руководстве это Nginx). Чтобы узнать подробнее об установке этой связки программ, читайте это руководство.
Обновите список apt-get:
sudo apt-get update
Затем установите Nginx, PHP-fpm и несколько других пакетов при помощи apt-get:
sudo apt-get install nginx apache2-utils php5-fpm php5-mysql php5-gd
Теперь можно настроить PHP и Nginx.
Настройка PHP-FPM
Откройте конфигурационный файл PHP-FPM в любом удобном текстовом редакторе:
sudo vi /etc/php5/fpm/php.ini
Найдите строку cgi.fix_pathinfo и раскомментируйте её, заменив значение на 0. В результате получится:
cgi.fix_pathinfo=0
Затем найдите и раскомментируйте настройку date.timezone, заменив её значение своим часовым поясом. К примеру, пользователь, живущий в Нью-Йорке, установит:
date.timezone = America/New_York
Список часовых поясов можно найти по этой ссылке.
Сохраните и закройте файл.
Теперь PHP-FPM корректно настроен, осталось только перезапустить его, чтобы обновить настройки:
sudo service php5-fpm restart
Настройка Nginx
Теперь нужно настроить Nginx для обслуживания PHP-приложений.
Для начала создайте файл htpasswd, чтобы неавторизованные пользователи не могли получить доступ к Bacula-web. Используйте htpasswd, чтобы создать учётную запись администратора, имеющего доступ к Bacula-web.
sudo htpasswd -c /etc/nginx/htpasswd.users admin
Примечание: В данном руководстве этот пользователь зовётся admin, но такое имя нельзя использовать из соображений безопасности.
По запросу укажите пароль и запомните его – он понадобится для авторизации.
Затем откройте конфигурационный файл стандартного блока server в текстовом редакторе:
sudo vi /etc/nginx/sites-available/default
Замените содержимое файла следующим блоком кода. Не забудьте указать свой домен или IP-адрес в строке server_name.
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /usr/share/nginx/html;
index index.php index.html index.htm;
server_name server_domain_name_or_IP;
auth_basic "Restricted Access";
auth_basic_user_file /etc/nginx/htpasswd.users;
location / {
try_files $uri $uri/ =404;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ .php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Сохраните и закройте файл. Теперь Nginx будет обслуживать PHP-приложения и использовать созданный ранее файл htpasswd.
Чтобы новые настройки вступили в силу, перезапустите Nginx:
sudo service nginx restart
Теперь можно приступать к загрузке Bacula-web
Загрузка и настройка Bacula-web
Перейдите в домашний каталог и загрузите последнюю версию архива Bacula-web (на момент написания статьи это 7.0.3):
cd ~
wget --content-disposition http://www.bacula-web.org/download.html?file=files/bacula-web.org/downloads/bacula-web-7.0.3.tgz
Затем создайте новый каталог по имени bacula-web, откройте его и извлеките загруженный архив.
mkdir bacula-web
cd bacula-web
tar xvf ../bacula-web-*.tgz
Прежде чем скопировать файлы в document root сервера, нужно настроить приложение Bacula-web.
Откройте конфигурационный каталог:
cd application/config
Bacula-web предоставляет пример настроек. Скопируйте его:
cp config.php.sample config.php
Затем откройте конфигурационный файл в текстовом редакторе:
vi config.php
Найдите // MySQL bacula catalog и раскомментируйте его. Замените password паролем базы данных Bacula:
// MySQL bacula catalog
$config[0]['label'] = 'Backup Server';
$config[0]['host'] = 'localhost';
$config[0]['login'] = 'bacula';
$config[0]['password'] = 'bacula-db-pass';
$config[0]['db_name'] = 'bacula';
$config[0]['db_type'] = 'mysql';
$config[0]['db_port'] = '3306';
Сохраните и закройте файл.
Теперь приложение Bacula-web настроено, и теперь нужно только переместить его файлы в Document Root.
Перемещение Bacula-web в Document Root
Ранее в настройках Nginx было указано, что каталогом Document Root является /usr/share/nginx/html. Перейдите в этот каталог и удалите стандартный файл index.html:
cd /usr/share/nginx/html
sudo rm index.html
Теперь переместите файлы Bacula-web в текущий каталог:
sudo mv ~/bacula-web/* .
Передайте права на файлы демону, который запускает Nginx (www-data):
sudo chown -R www-data: *
Теперь установка Bacula-web завершена; это приложение доступно в браузере по внешнему IP или домену.
Чтобы протестировать установку, попробуйте открыть тестовую страницу Bacula-web. Для этого откройте в браузере такой URL (указав свой IP):
http://внешний_IP_сервера/test.php
На экране появится таблица, показывающая состояние различных компонентов Bacula-web. Напротив каждого из них должна стоять зелёная галочка (кроме ненужных баз данных и модулей); к примеру, при использовании MySQL напротив модулей дл других баз данных должен стоять крестик.
Итак, если тестовая страница приложения появилась на экране, значит, установка прошла успешно. Можно приступать к использованию Bacula-web. Для этого кликните на Bacula-web в верхнем левом углу экрана или откройте приложение в браузере:
http://внешний_IP_сервера/