Установка 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.
