Как стать автором
Обновить

Быстрая установка Trac в openSUSE

Время на прочтение5 мин
Количество просмотров1.4K
Рано или поздно многие сталкиваются с выбором багтрекера. При этом не зависимо от того с какой целью планируется его применения (промышленное или личное), перед использованием хотелось бы с ним ознакомиться. После беглого анализа результатов запросов поисковых систем по интересующему вопросу становиться ясно, что одной из систем, которую нельзя обойти стороной является Trac. Но, к сожалению, при изучении инструкции по установке этого замечательного инструмента у многих желания знакомиться с Trac пропадает. Я расскажу, как этого можно избежать и познакомиться (а может быть и подружиться) с Trac максимально быстро, а главное просто.

Вступление


Кому это нужно?

В статье будет рассмотрен пример установки Trac с интеграцией системы управления версиями Subversion и сервера управления базами данных PostgreSQL c web-интерфейсом, который обеспечит Apache и всё это будет установлено на свободную операционную систему openSUSE.Предполагается, что читатель в общих чертах знаком с тем, зачем вообще нужен багтрекер поэтому ни обзора ни сравнений Trac и сопутствующих инструментов представлено не будет.
Статья может быть интересна всем, тем, кто «находится в поиске» и желает попробовать Trac, а так же пользователям openSUSE, которые уже определились с выбором и желают его установить.

Что будет необходимо для работы

Для работы потребуется:
  • доступ в Internet;
  • VirtualBox (автор настоятельно рекомендует не проводить опыты на рабочих машинах и серверах);
  • установочный DVD-диск openSUSE 11.2;
  • несколько часов свободного времени и желание прикоснуться к прекрасному.

Установка и настройка


Установка ОС

Создадим новую виртуальную машину и установим openSUSE с любимым DE (особо суровые или не определившиеся в выборе окружения могут выбрать Text Mode). При установке ОС никаких особых настроек выполнять не нужно и достаточно принять те, что предусмотрены по умолчанию. Единственное требование – это при выборе языка оставить без изменений английский.

Добавление репозиториев

Добавим необходимые репозитории:
sudo zypper ar http://download.opensuse.org/repositories/home:/FunkyM:/scm/openSUSE_11.2 FunkyM
sudo zypper ar http://download.opensuse.org/repositories/Apache:/Modules/Apache_openSUSE_11.2 Apache
sudo zypper ar http://download.opensuse.org/repositories/home:/babelworx:/python/openSUSE_11.2 babelworx
sudo zypper ar http://download.opensuse.org/repositories/devel:/languages:/python/openSUSE_11.2 devel
sudo zypper ar http://download.opensuse.org/repositories/devel:/tools:/scm/openSUSE_11.2/ csm
Они необходимы для того, что бы установить: python-genshi, apache2-mod_wsgi, python-babel, python-pygments, trac соответственно, а так же другие необходимые пакеты.

Непосредственно установка

Выполним установку:
sudo zypper in python python-devel python-xml python-setuptools postgresql-server python-psycopg2 subversion swig apache2 apache2-mod_wsgi apache2-mod_python docutils python-pygments python-pytz sqlite3 subversion-python trac-multirepo trac-server trac
На этом этапе крайне желательно убедиться, что все запроженные пакеты будут установленны и следовательно все репозитории были правильно проинициализированы. При успешном ходе установки это может выглядеть так:

image

Создание репозитория исходного кода

Создадим svn-репозиторий:
sudo mkdir -p /srv/svn/repos
cd /srv/svn/repos
sudo svnadmin create --fs-type fsfs habrahabr
Создадим файл для хранения паролей:
sudo mkdir /srv/svn/user_access
sudo touch /srv/svn/user_access/habrahabr_passwdfile
И добавим двух пользователей: admin и user:
sudo htpasswd2 /srv/svn/user_access/habrahabr_passwdfile admin
sudo htpasswd2 /srv/svn/user_access/ habrahabr_passwdfile user
Установим корректные права на файлы и каталоги:
sudo mkdir -p /srv/svn/repos/abacus/dav
sudo chown -R wwwrun:www habrahabr/{dav,db,locks}
sudo chown root:www /srv/svn/user_access/habrahabr_passwdfile
sudo chmod 640 /srv/svn/user_access/habrahabr_passwdfile

Настройка PostgreSQL

Настроим СУБД для работы с Trac.
Запустим сервер:
sudo /sbin/service postgresql start
Определим параметры доступа к БД, для чего откроем для редактирования файл конфигурации:
sudo vim /var/lib/pgsql/data/pg_hba.conf
и заменим строку:
host all all 127.0.0.1/32 ident
на слудующую:
host trac trac 127.0.0.1/32 password
В результате должно получиться примерно такое:

image

Затем войдем в систему с правами пользователя postgres:
su<br>su postgres
создадим нового пользователя trac:
createuser --pwprompt --encrypted --no-adduser --no-createdb trac
и одноименную базу данных:
createdb --encoding=UNICODE --owner=trac trac
Не забудем перезагрузить сервер, что бы параметры безопасности вступили в силу:
sudo /sbin/service postgresql restart

Создание проекта Trac

Создадим окружение Trac:
sudo trac-admin /srv/trac/habrahabr initenvПри этом ответим следующим образом на каверзные вопросы:
habrahabr
postgres://trac:secret@127.0.0.1:5432/trac
svn
/srv/svn/repos/habrahabr
Если создание проекта прошло успешно Вы об этом будете проинформированы:

image

Установим корректные права на файлы и каталоги:
sudo chown -R wwwrun /srv/trac/habrahabr
Что бы знакомство с Trac было познавательней предоставим одному из пользователей (речь идет о тех пользователях, которые были созданы на этапе конфигурации Subversion) права администратора:
trac-admin /srv/trac/habrahabr permission add admin TRAC_ADMIN
Изменим cgi-файл:
sudo vim /usr/share/trac/cgi-bin/trac.cgi
Добавим между строками try и from две строки, приведя к следующему виду:
try:
import os
os.environ['TRAC_ENV'] = "/srv/trac/habrahabr"
from trac.web import cgi_frontend

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

Настроим Apache.
Откроем для редактирования файл конфигурации Apache:
sudo vim /etc/sysconfig/apache2
И установим следующее значение для параметра APACHE_SERVER_FLAGS:
APACHE_SERVER_FLAGS="TRAC_CGI"
Откроем для редактирования файл конфигурации модуля trac:
sudo vim /etc/apche2/conf.d/trac.conf
И изменим настройки в секции <Location "/trac"> приведем его к следующему виду:
SetEnv TRAC_ENV "/srv/trac/habrahabr"
Order allow,deny
Allow from all
AuthType Basic
AuthName "Trac"
AuthUserFile /srv/svn/user_access/habrahabr_passwdfile<br> Require valid-user
Остальные параметры необходимо оставить без изменений.В результате должно получиться примерно следующее:

image

Запустим web-сервер:
sudo /sbin/service apache2 start

Использование Trac


Теперь мы можем, воспользовавшись любимым web-браузером, приступить к знакомству с Trac локально:

image

Подобное диалоговое окно свидетельствует о настроенной аутентификации. А если после ввода имени и пароля Вам удасться увидеть примерно следующее:

image

то аутентификация настроена правильно.Кроме того можно обратиться к Trac нормально удаленно, не забыв при этом открыть соответствующий порт в Firewall:

image

Заключение


В заключении стоит отметить, что на самом деле, существует более короткий способ установки Trac. Можно опустить установку и настройку Subversion и Apache при этом воспользоваться для запуска standalone сервером:
tracd --port 8000 /srv/trac/habrahabr
Для доступа нужно будет перейти по адресу: http://localhost:8000.
Теги:
Хабы:
Всего голосов 8: ↑5 и ↓3+2
Комментарии0

Публикации

Истории

Ближайшие события

15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань