ENG: | Installing Mantis Bug Tracker for Windows |
На примере установки Mantis Bug Tracker 1.2.8 на Windows 7 (на Windows 2008 установка будет идентична).
По мотивам статьи Personal Bug Tracking with Mantis on Windows (by Walter Vannini).
Сам Mantis — это просто набор PHP скриптов и для его работы нужны еще web-сервер, который работает с PHP и база данных. В качестве web-сервера использую Internet Information Server (IIS), т.к. он включен в состав ОС (но по умолчанию не установлен) и он постоянно и своевременно обновляется через Windows Update. Так же можно использовать Apache. Что выбрать IIS или Apache — это дело вкуса, т.к. Mantis это обычно не высоконагруженный web-сервис и можно не заморачиваться тюнингом web-сервера. В качестве БД буду использовать MySQL, т.к. из всех СУБД которые поддерживает Mantis (MySQL (4.1.x or higher), MS SQL, PostgreSQL and DB2) — MySQL наиболее мне знакома.
Порядок установки
(в конце каждого пункта проводиться проверка корректности установки)
1) Установка IIS (7.0)
2) Установка MySQL (5.5.21)
3) Установка PHP (5.3.10)
4) Установка Mantis (1.2.8)
5) Создание базы MySQL для Mantis и его конфигурирование
6) Установка phpMyAdmin (опционально)
7) Резервное копирование БД MySQL
Установка IIS
Версия IIS 7.0 (такая включена в состав Windows 7).
(Можно установить боле новую версию IIS или просто другую, чем та что включена в состав ОС. Для этого дистрибутив IIS нужно скачать с Microsoft Download, например Internet Information Services (IIS) 7.5 Express).
Запустить Пуск — Панель управления — Программы и компоненты.
Выбрать Включение или отключение компонентов Windows.
Поставить галочку «Службы IIS» (остальные галочки в подпунктах выберутся сами).
По идее IIS после установки стартует и запускается Default Web Site. Но у меня порт 80 оказался занят другим приложением и поэтому сайт не запустился с Ошибка 0×80070020 при попытке запуска веб-узла в IIS 7.0.
Решил перенастроить Default Web Site на порт 8888. Для этого:
Запустить Пуск — Администрирование — Управление компьютером.
Выбрать Службы и приложения — Диспетчер служб IIS — … — Default Web Site.
На закладке Действия выбрать Привязки.
©Bobrovsky Dmitry
В появившемся окне нажать Изменить. В появившемся окне в поле Порт набрать 8888 и нажать ОК. Нажать Закрыть.
©Bobrovsky Dmitry
Теперь сайт можно запустить и проверить что всё работает. Нажать Начало и Обзор *:8888 (http).
Должен открыться браузер с картинкой
Если это так — то IIS работает.
Установка MySQL
Версия 5.5.21. Скачать можно с MySQL Downloads (Generally Available).
Запускаю mysql-installer-5.5.21.0.msi. (Подробно не расписываю ,т.к. всё ясно по картинкам)
Выбираю пропуск проверки наличия новой версии, т.к. только что скачал дистрибутив с сайта.
Для Mantis не нужно ничего лишнего, поэтому Server only. Еще здесь можно изменить путь установки и папку для баз по умолчанию.
Идет процесс установки
Здесь выбирается сколько памяти будет использовать MySQL на компьютере. Т.к. я ставлю не на сервер, а на свою рабочую станцию, то я хочу чтобы MySQL использовал минимальное количество памяти.
Ввожу пароль для root, остальное оставляю по умолчанию.
Идет конфигурирование системы. У меня вышло предупреждение что конфигуратор не смог добавить правило для firewall для порта 3306. Мне это не критично, поэтому ничего не делаю. Если доступ по сети к mysql нужен, тогда нужно разобраться с этой ситуацией и возможно добавить это правило вручную.
Установка MySQL закончена.
Для проверки что сервер работает, можно запустить Пуск — Все программы — MySQL — MySQL Server 5.5 — MySQL 5.5 Command Line Client, в появившемся окне ввести пароль пользователя root — должно появиться приглашение mysql>.
Установка PHP
В документации Mantis рекомендуемая версия PHP 5.2.x. Но на момент написания статьи версия PHP 5.3. Ставлю её на свой риск.
Можно пойти по более длинному (особенно для тех кто разбирается) и скачать дистрибутив с http://www.php.net (точнее PHP For Windows). Так же если вы хотите установить именно рекомендованную версию PHP 5.2, тогда это единственный вариант.
Но есть другой вариант. На мой взгляд он удобнее. Можно запустить установку PHP с PHP on Windows. (Здесь версию PHP выбрать нельзя и обычно устанавливается последний стабильный релиз).
Далее предлагается скачать PHP53.exe. Скачиваю его и запускаю. Запускается Microsoft Web Platform Installer.
Нажимаю Настройка и выбираю IIS (на всякий случай). Если нажать Устанавливаемые элементы, то видно какие элементы будут установлены.
Далее
Идет установка
Всё, установка PHP завершена.
Для проверки создайте текстовый файл C:\inetpub\wwwroot\testphp.php с таким содержимым
<html> <head> <title>PHP Test</title> </head> <body> <?php echo "<p>Hello World</p>"; ?> <?php phpinfo() ?> </body> </html>
Затем в браузере в адресную строку ввести http://localhost:8888/testphp.php.
Dmitry Bobrovsky
В браузере должна отобразиться строка «Hello World», а затем табличка с параметрами PHP.
Dmitry Bobrovsky
Если это так — то PHP работает.
Для проверки что PHP может взаимодействовать с MySQL создайте текстовый файл C:\inetpub\wwwroot\testphp2.php с таким содержимым
<html> <head><title>PHP and SQL Integration Test</title></head> <body> <?php $link = mysql_connect("localhost", "", "") or die("Could not connect"); print "Connected successfully"; $query = "SELECT now()"; $result = mysql_query($query) or die("Query failed"); print "<table>n"; while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) { print "t<tr>n"; foreach ($line as $col_value) { print "tt<td>$col_value</td>n"; } print "t</tr>n"; } print "</table>n"; mysql_close($link); ?> </body> </html>
Затем в браузере в адресную строку ввести http://localhost:8888/testphp2.php.
В браузере должны отобразиться строки «Connected successfully» и текущая дата на сервере MySQL.
Установка Mantis Bug Tracker на Windows
Последнюю стабильную версию можно взять отсюда http://www.mantisbt.org/download.php или отсюда http://sourceforge.net/projects/mantisbt/files/mantis-stable (что одно и тоже). На данный момент такая версия — 1.2.8.
1) Создать папку C:\inetpub\wwwroot\mantis.
2) Содержимое папки mantisbt-1.2.8 скачанного архива mantisbt-1.2.8.zip скопировать в папку C:\inetpub\wwwroot\mantis.
В общем это вся установка.
Создание базы MySQL для Mantis и его конфигурирование
Для создания БД запустить в браузере http://localhost:8888/mantis/admin/install.php.
Ввести пароль для пользователя root и нажать Install/Upgrade Database.
После создания БД, появиться страница, где каждый пункт должен быть «GOOD«. Здесь предупреждения можно игнорировать.
А вот ниже действительно проблема. Не смог создаться файл config_inc.php. Далее указано решение — создать его вручную с указанным содержимым. Но лучше взять шаблон C:\inetpub\wwwroot\mantis\config_inc.php.sample, исправить все указанные параметры в нем и сделать его копию в config_inc.php.
ВНИМАНИЕ: у меня в шаблоне почему-то тэг <?php был не закрыт.
ПРИМЕЧАНИЕ: В документации в главе Configuration описаны все возможные параметры.
Короче у меня получился такой файл config_inc.php.
<!--?php <br ?--># MantisBT - a php based bugtracking system # MantisBT is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 2 of the License, or # (at your option) any later version. # # MantisBT is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with MantisBT. If not, see <http://www.gnu.org/licenses/>. /** * @package MantisBT * @copyright Copyright (C) 2000 - 2002 Kenzaburo Ito - kenito@300baud.org * @copyright Copyright (C) 2002 - 2011 MantisBT Team - mantisbt-dev@lists.sourceforge.net * @link http://www.mantisbt.org */ # This sample file contains the essential files that you MUST # configure to your specific settings. You may override settings # from config_defaults_inc.php by assigning new values in this file # Rename this file to config_inc.php after configuration. # In general the value OFF means the feature is disabled and ON means the # feature is enabled. Any other cases will have an explanation. # Look in http://www.mantisbt.org/docs/ or config_defaults_inc.php for more # detailed comments. # --- Database Configuration --- $g_hostname = 'localhost'; $g_db_username = 'root'; $g_db_password = 'mypass'; $g_database_name = 'bugtracker'; $g_db_type = 'mysql'; # --- Anonymous Access / Signup --- $g_allow_signup = ON; $g_allow_anonymous_login = OFF; $g_anonymous_account = ''; # --- Email Configuration --- $g_phpMailer_method = PHPMAILER_METHOD_MAIL; # or PHPMAILER_METHOD_SMTP, PHPMAILER_METHOD_SENDMAIL $g_smtp_host = 'localhost'; # used with PHPMAILER_METHOD_SMTP $g_smtp_username = ''; # used with PHPMAILER_METHOD_SMTP $g_smtp_password = ''; # used with PHPMAILER_METHOD_SMTP $g_administrator_email = 'administrator@example.com'; $g_webmaster_email = 'webmaster@example.com'; $g_from_name = 'Mantis Bug Tracker'; $g_from_email = 'noreply@example.com'; # the "From: " field in emails $g_return_path_email = 'admin@example.com'; # the return address for bounced mail $g_email_receive_own = OFF; $g_email_send_using_cronjob = OFF; # --- Attachments / File Uploads --- $g_allow_file_upload = ON; $g_file_upload_method = DATABASE; # or DISK $g_absolute_path_default_upload_folder = ''; # used with DISK, must contain trailing or /. $g_max_file_size = 5000000; # in bytes $g_preview_attachments_inline_max_size = 256 * 1024; $g_allowed_files = ''; # extensions comma separated, e.g. 'php,html,java,exe,pl' $g_disallowed_files = ''; # extensions comma separated # --- Branding --- $g_window_title = 'MantisBT'; $g_logo_image = 'images/mantis_logo.gif'; $g_favicon_image = 'images/favicon.ico'; # --- Real names --- $g_show_realname = OFF; $g_show_user_realname_threshold = NOBODY; # Set to access level (e.g. VIEWER, REPORTER, DEVELOPER, MANAGER, etc) # --- Others --- $g_default_home_page = 'my_view_page.php'; # Set to name of page to go to after login ?>
Теперь можно войти в Mantis http://localhost:8888/mantis логин по умолчанию username = administrator
password = root.
Получаем два предупреждения. Можно на них забить — всё будет работать. Но чтобы не мозолили глаза:
1) Переименовать папку C:\inetpub\wwwroot\mantis\admin в C:\inetpub\wwwroot\mantis_admin.
2) Переименовать пользователя administrator в admin (или еще как). И поменять ему пароль через пункт «My Account«.
Всё! Можно работать.
Установка phpMyAdmin (опционально)
phpMyAdmin — это приложение написанное на PHP и обеспечивающее полноценную, в том числе удаленную, работу с базами данных MySQL через браузер.
Для работы Mantis — phpMyAdmin абсолютно не нужен. Но если вы захотите покапаться в базе MySQL, то делать это через phpMyAdmin будет очень удобно.
Версия 3.4.10.1. Скачать из http://php-myadmin.ru/download/
1) Создать папку C:\inetpub\wwwroot\phpMyAdmin.
2) Содержимое папки phpMyAdmin-3.4.10.1-all-languages скаченного архива phpMyAdmin-3.4.10.1-all-languages.zip скопировать в C:\inetpub\wwwroot\phpMyAdmin.
3) Создать конфигурационный файл C:\inetpub\wwwroot\phpMyAdminconfig.inc.php. Для этого взять шаблон C:\inetpub\wwwroot\phpMyAdminconfig.sample.inc.php, исправить все указанные параметры в нем и сделать его копию в config.inc.php.
ПРИМЕЧАНИЕ: можно вместо ручного создания файла использовать мастер http://localhost:8888/phpMyAdmin/setup, но у меня были с ним проблемы, не смотря на это содержимое файла там всё же можно получить и потом вставить в пустой файл config.inc.php.
Вот мой конфиг, полученный с помощью setup
<!--?php /* * Generated configuration file * Generated by: phpMyAdmin 3.4.10.1 setup script * Date: Tue, 28 Feb 2012 16:00:16 +0400 */ /* Servers configuration */ $i = 0; /* Server: localhost [1] */ $i++; $cfg['Servers'][$i]['verbose'] = ''; $cfg['Servers'][$i]['host'] = 'localhost'; $cfg['Servers'][$i]['port'] = ''; $cfg['Servers'][$i]['socket'] = ''; $cfg['Servers'][$i]['connect_type'] = 'tcp'; $cfg['Servers'][$i]['extension'] = 'mysqli'; $cfg['Servers'][$i]['auth_type'] = 'cookie'; $cfg['Servers'][$i]['user'] = 'root'; $cfg['Servers'][$i]['password'] = ''; /* End of servers configuration */ $cfg['DefaultLang'] = 'en'; $cfg['ServerDefault'] = 1; $cfg['blowfish_secret'] = '4f4cc1c5c48971.54426595'; $cfg['UploadDir'] = ''; $cfg['SaveDir'] = ''; ?-->
4) Всё. Можно запускать http://localhost:8888/phpMyAdmin и входить, например, под root.
пример
Резервное копирование БД MySQL
Для резервирования MySQL существует множество разных способов и сторонних программ. Но для быстрого копирования достаточно простого батника использующего mysqldump.
Здесь нужно только учесть что mysqldump делает дамп на конкретный момент времени и восстановление потом будет происходить именно на этот момент времени, поэтому чтобы минимизировать потери, дамп нужно делать как можно чаще.
"C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqldump.exe" -hlocalhost -uroot -pmypass --compact bugtracker > c:\backup\bugtracker.sql "C:\Program Files\WinRAR\WinRAR.exe" m -s -m5 -ep -md1024 -agYYYYMMDDHHMM c:\backup\bugtracker.rar c:\backup\bugtracker.sql
Запись Установка Mantis Bug Tracker на Windows впервые появилась Dmitry Bobrovsky Blog