Вход:  Пароль:  
FreeSource: Статьи/TracNginx ...
Free Source | Каталог | Изменения | НовыеКомментарии | Пользователи | Регистрация |

Настройка Trac

Trac – интегрированная среда управления проектом, включающая баг-трекер, страницы wiki, интерфейс к репозитарию Subversion.


Trac включает в себя консольную утилиту trac-admin для первоначального создания веб-окружения и последующей раздачи прав, добавления/удаления компонент и т.д. Веб-интерфейс доступен через CGI, FastCGI, mod_python или через отдельный сервер tracd.


Как отмечено в статье Php Fast CGI, существует много разных веб-серверов. Поэтому здесь будут даны настройки не только для Apache, но и для Nginx и Cherokee.
TODO: кто хочет, добавьте свой веб-сервер.

Соглашения

Далее предположим, что виртуальным путём к CGI-скрипту trac.cgi будет /trac-cgi/. Этот и другие скрипты кладутся в папку /usr/share/trac/cgi-bin/ (или в аналогичную, зависит от установки), а прочие статические документы (картинки и шаблоны) – в /usr/share/trac/htdocs/ – на эту папку должен ссылаться путь /trac/. Виртуальным путём к FastCGI-скрипту trac.fcgi и к обработчику mod_python будем считать /projects/.


Несомненный интерес представляет обслуживание при одних и тех же настройках как можно большего числа проектов. Поэтому будем располагать веб-окружения trac в под-дереве папки /var/lib/trac и сошлёмся на неё переменной TRAC_ENV_PARENT_DIR. Веб-серверу необходимы права на запись в окружения trac. Этого можно добиться, включив псевдо-пользователя, от имени которого запущен веб-сервер (или FastCGI-сервер), в группу tracadmin, и разрешив этой группе запись в /var/lib/trac и под-директории.


Пароли пользователей будем хранить в /etc/trac/htpasswd. Внимание Nginx поддерживает шифрование паролей лишь методом crypt.

CGI

Apache2

Nginx

Веб-сервер nginx не поддерживает непосредственное исполнение CGI-скриптов. Вместо этого рекомендуется пробрасывать запросы к ним на второй веб-сервер (backend), запущенный на той же машине или на другой. В приведённых настройках подразумевается, что nginx принимает соединения на localhost:8080 и передаёт запросы CGI на localhost:8081. Исправьте эти значения при необходимости.

На момент написания этой страницы nginx ещё не поддерживал дублирование всех настроек во вложенные секции location, поэтому их стоит самостоятельно повторить, а мы лишь добавим директивы авторизации, чтобы не занимать много места.

Cherokee

mod_python

Apache2

FastCGI

Nginx

Аналогично CGI, nginx всего лишь пробрасывает запросы на отдельностоящий FastCGI-сервер.

Можно использовать одни и те же настройки location для протоколов HTTP и HTTPS, записав их в отдельный файл и включив директивой include. При этом, если HTTPS обслуживается другим портом, нежели 443, потребуется дополнительный параметр, явно указывающий на HTTPS (такова специфика trac).

FastCGI-сервер

Trac уже включает в себя поддержку FastCGI – скрипт trac.fcgi, но его ещё нужно «демонизировать». Для этих целей годится программа spawn-fcgi из lighttpd 1.4.10. Скомпилируем её и назовём trac-spawn-fcgi. Если lighttpd уже установлен в системе, разумеется, этого делать не нужно.

Для автоматического запуска trac.fcgi как сервиса, можно использовать конфигурационный файл /etc/sysconfig/trac-spawn-fcgi

и инит-скрипт /etc/init.d/trac-spawn-fcgi

Дополнения

TODO: описать тестирование проектов модулем python-module-bitten


 
Файлов нет. [Показать файлы/форму]
Много комментариев (3). [Показать комментарии/форму]