Установка Bacula-web на Ubuntu 14.04

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_сервера/

Tags: , , , , , , ,

Добавить комментарий