Установка Bugzilla

Материал из ISPWiki

Перейти к: навигация, поиск

Содержание

Установка Bugzilla на VDS под управлением FreeBSD

проверено 26.01.2010

Программный продукт Bugzilla представляет собой систему отслеживания ошибок, в настоящее время поддерживается Mozilla Foundation.

Для установки использовался VDS с шаблоном Soft2006 под управлением VDSmanager, но аналогично можно установить на любой сервер под управлением FreeBSD (Apache 2.2/MySQL 5.0)

Установка из портов

Установка производится из системы портов. Зайдите на сервер по ssh с правами root и выполните следующие команды:

# cd /usr/ports/devel/bugzilla
# make install clean

Включите поддержку базы данных MySQL:

[X] MYSQL             MySQL database support

Остальные настройки оставьте по умолчанию.

Установка из порта произведет установку Bugzilla и всех недостающих модулей Perl. Оставьте их настройки по умолчанию.

После успешной установки вы увидите сообщение:

  Bugzilla has now been installed.  To quick setup you have to:

<...skipped...>

Создайте базу MySQL (например, с именем bugs) через ISPmanager в модуле Базы данных (рекомендуется).

Если же не вашем сервере нет ISPmanager, то вы можете создать базу вручную, код которой необходимо выполнить в mysql-клиенте.

Перейдите в директорию, в которую была установлена программа Bugzilla, и выполните скрипт checksetup.pl:

# cd /usr/local/www/data/bugzilla
# ./checksetup.pl

В ответ вы получите примерно такой текст:

* This is Bugzilla 3.4.4 on perl 5.8.9
* Running on FreeBSD 6.3-STABLE FreeBSD 6.3-STABLE #6: Sat Dec 19 06:26:37 CET 2009     root@dione.ispsystem.net:/root/src/sys/i386/compile/ISPSYSTEM_PAE

Checking perl modules...
Checking for              CGI.pm (v3.21)   ok: found v3.48

<...skipped...>

The following variables are new to ./localconfig since you last ran
checksetup.pl:  create_htaccess, webservergroup, db_driver, db_host, db_name, db_user, db_pass, 
db_port, db_sock, db_check, index_html, cvsbin, interdiffbin, diffpath, site_wide_secret

Скрипт выдаст информацию о системе и установленных модулях, также сообщит о том, что для установки всех модулей, можно выполнить команду /usr/local/bin/perl install-module.pl --all

В нашем случае это без надобности. Выводится сообщение о необходимости отредактировать файл localconfig и запустить себя повторно. Следует запускать скрипт checksetup.pl всякий раз и вносить правки до исчезновения ошибок.

Также необходимые модули можно установить используя команду ./install-module.pl имя_модуля.

Отредактируйте файл localconfig и поправьте в нем следующие параметры:

$webservergroup = 'apache'; поменяйте на на $webservergroup = 'www';
$db_name = 'bugs';
$db_user = 'bugs';
$db_pass = 'пароль_к_базе_данных';

Необходимо указать данные для подключения к базе данных.

Настройка MySQL-сервера

Снова запустите скрипт ./checksetup.pl

В моем случае он выдал сообщение:

WARNING: You need to set the max_allowed_packet parameter in your MySQL
configuration to at least 3276750. Currently it is set to 1048576.
You can set this parameter in the [mysqld] section of your MySQL
configuration file.

Пропишите в /etc/my.cnf в секции [mysqld] строку max_allowed_packet = 4M (по умолчанию max_allowed_packet = 1M)

Также включите поддержку InnoDB, закоментировав строку skip-innodb (иначе скрипт снова попросит вас это сделать) знаком #, чтобы строка выглядела следующим образом:

#skip-innodb

Перезапустите MySQL-сервер после завершения правки файла конфигурации следующей командой:

# /usr/local/etc/rc.d/mysql-server restart

Создание пользователя (администратора)

Создайте директорию lib в каталоге с файлами (в моем случае скрипт checksetup.pl попросил это сделать сообщением No such file or directory at Bugzilla/Install/Filesystem.pm line 445.)

# mkdir lib

После того как все проверки будут успешно завершены, вы уведите следующее сообщение от checksetup.pl:

Enter the e-mail address of the administrator:

Введите email администратора Bugzilla (email адреса являются логинами), а также все недостающие данные (имя и пароль):

Enter the e-mail address of the administrator: admin@example.com
Enter the real name of the administrator: John Doe
Enter a password for the administrator account:
Please retype the password to verify:

Настройка веб-сервера Apache

Создайте файл /usr/local/etc/apache22/Includes/bugzilla.conf

Пропишите в нем следующий текст:

Alias /bugzilla /usr/local/www/data/bugzilla/
<Directory "/usr/local/www/data/bugzilla/">
  Options +ExecCGI
  AllowOverride Limit
  DirectoryIndex index.cgi
  AddHandler cgi-script .cgi
</Directory>

Перезапустите Apache

# /usr/local/etc/rc.d/apache22 restart

Теперь можно зайти в Bugzilla по адресу http://имя-сервера/bugzilla/

Можно также создать виртуальный хост в ISPmanager (для красивого имени) и руками привести к его к такому состоянию:

<VirtualHost 10.20.30.40:80>
        ServerName bugzilla.example.com
        DocumentRoot /usr/local/www/data/bugzilla
        CustomLog /home/httpd-logs/bugzilla.example.com.access.log combined
        ErrorLog /home/httpd-logs/bugzilla.example.com.error.log
        ServerAlias www.bugzilla.example.com
        ServerAdmin admin@example.com
</VirtualHost>

То есть поменять в нем DocumentRoot и убрать SuexecUserGroup (так как необходимо, чтобы скрипты выполнялись с правами www), после правки конфигурации не забудьте перезапустить веб-сервер.

На этом установка закончена, следует приступить к настройке.

В некоторых случаях (когда в конфиге Apache существуют уже созданные виртуальные хосты) url /bugzilla может работать некорректно. Это связано с настройками SuexecUserGroup первого виртуального хоста на данном IP-адресе - скрипты запускаются не от пользователя www. В таком случае пропишите приведенный выше виртуальный хост первым в конфигурационном файле Apache.

Была ли эта информация полезной? Да | Нет
Личные инструменты