Trac - быстрый старт

Материал из 1GbWiki.

(Различия между версиями)
Перейти к: навигация, поиск
Версия 04:16, 6 апреля 2010 (править)
109.233.224.22 (Обсуждение)
(Общие сведения)
← К предыдущему изменению
Текущая версия (17:12, 28 августа 2013) (править) (отменить)
Renton (Обсуждение | вклад)
(Установка компонентов)
 
(36 промежуточных версий не показаны.)
Строка 1: Строка 1:
 +<br />
 +<br />
 +<table cellspacing="0">
 +<tr style="background: #F7D9D9">
 +<td width="850px" style="vertical-align:top; border-top: 1px solid #D63838; border-left: 1px solid #D63838; border-bottom: 1px solid #D63838; border-right: 1px solid #D63838; padding: 1em;">
 +<span style="font-size: 16px; font-weight: bold;">Данная статья предназначена для технических специалистов.</span>
 +<p>Вы должны знать основы программирования, уметь пользоваться консольными программами и официальной документацией от разработчиков.</p>
 +
 +В связи с тем, что на сервере могут обновиться версии программ, измениться конфигурация приложений, документация в статье может не соответствовать действительности, поэтому вы должны быть готовы разобраться с возможными проблемами <b>самостоятельно</b> или с помощью специалистов из платной поддержки http://1gbsup.ru/paidsu/, обычная поддержка хостинга <b>не оказывает</b> консультации по установке и отладке скриптов.
 +</td>
 +</tr>
 +</table>
 +<br />
 +<br />
== Общие сведения == == Общие сведения ==
'''Trac''' - бесплатное программное обеспечение написанное на языке [http://www.python.org/ Python], представляющие из себя прекрасный инструмент для автоматизированного управления проектами и системой отслеживания ошибок (bug tracker). Имеет простой wiki-подобный web-интерфейс. '''Trac''' - бесплатное программное обеспечение написанное на языке [http://www.python.org/ Python], представляющие из себя прекрасный инструмент для автоматизированного управления проектами и системой отслеживания ошибок (bug tracker). Имеет простой wiki-подобный web-интерфейс.
-На хостинге [http://www.1gb.ru 1Gb.ru] trac можно запустить в режиме <code>UNIX/Apache/FastCGI</code>, для этого убедитесь в разделе личного кабинета <code>/Управление сайтами и серверами/</code> что у вас правильно выбран тип сервера.+На хостинге [http://www.1gb.ru 1Gb.ru] trac можно запустить в режиме <code>UNIX/Apache/FastCGI</code>, для этого убедитесь, что в разделе личного кабинета <code>/Управление сайтами и серверами/</code> у вас правильно выбран тип сервера.
== Подготовка окружения == == Подготовка окружения ==
-Создаем в корне домашнего каталога файл <code>.pydistutils.cfg</code> для настройки путей инсталляции модулей:+Данный этап установки ничем не отличается от инструкции по установке Django (Trac также работает только со 2-ой веткой python), поэтому обратитесь к статье [http://www.1gb.ru/wiki/index.php?title=Django_-_%D0%B1%D1%8B%D1%81%D1%82%D1%80%D1%8B%D0%B9_%D1%81%D1%82%D0%B0%D1%80%D1%82#.D0.9F.D0.BE.D0.B4.D0.B3.D0.BE.D1.82.D0.BE.D0.B2.D0.BA.D0.B0_.D0.BE.D0.BA.D1.80.D1.83.D0.B6.D0.B5.D0.BD.D0.B8.D1.8F Django#Подготовка окружения] и выполните пункты 1 - 7, '''за исключением пункта 2'''.
- [install]+Вместо пункта 2 из инструкции "установка Django" выполните такую команду:
- prefix = $HOME/python+ $ mkdir -p ~/src ~/python/bin ~/python/lib64/${PYTHON_VERSION}/site-packages ~/trac ~/svn ~/http/chrome
- +
- [easy_install]+
- install_dir = $HOME/python/lib64/python2.5/site-packages+
-* Для настройки переменных <code>PATH</code>, <code>PYTHONPATH</code> и <code>alias</code>'ов добавьте строки в ваш <code>~/.bashrc</code>:+
- export PATH=$PATH:$HOME/python/bin:$HOME/python/lib64/python2.5/site-packages+
- export PYTHONPATH=$PYTHONPATH:$HOME/python/lib64/python2.5/site-packages+
- alias easy_install=$HOME/python/lib64/python2.5/site-packages/easy_install+
- +
-* Выполняем команду:+
- source ~/.bashrc+
-для того, чтобы сделанные изменения вступили в силу.+
- +
-* Создаем различные каталоги:+
- mkdir -p ~/src ~/python/lib64/python2.5/site-packages ~/trac ~/svn ~/http/chrome+
-* Симлинк:+
- cd ~/python; ln -s lib64 lib; cd+
== Установка компонентов == == Установка компонентов ==
-* Установим свой <code>easy_install</code>:+'''1.''' С сайта http://pypi.python.org/pypi/setuptools берем <code>setuptools</code> соответствующий нашей версии python. Либо скачиваем нужную версию следующей командой:
- $ cd ~/src && wget http://pypi.python.org/packages/2.5/s/setuptools/setuptools-0.6c11-py2.5.egg#md5=64c94f3bf7a72a13ec83e0b24f2749b2+
- $ /bin/bash ./setuptools-0.6c11-py2.5.egg+ $ cd ~/src && <nowiki>lynx -source "https://pypi.python.org/pypi/setuptools/0.6c11" \
 + | awk "/py$(echo $PYTHON_VERSION | tr -d python).egg#md5/ {url = gensub(/.*<a href=\"(.*)\">s.*\.egg<.*/,\"\\\\1\",\"\"); \
 + f = gensub(/.*\/([\.a-z\-0-9]+)#.*/,\"\\\\1\",\"\",url); system (\"wget -O \"f\" \"url)}"</nowiki>
 +и устанавливаем:
 + $ /bin/bash ./setuptools*.egg
-* Устанавливаем модуль flup, для работы Trac в FastCGI режиме:+'''2.''' Устанавливаем модуль flup, для работы Trac в FastCGI режиме:
$ easy_install flup $ easy_install flup
-* Ставим trac:+если установка заканчивается так:
- $ easy_install trac+ error: None
-* Также сразу ставим модуль WebAdmin для настройки trac через web-интерфейс:+то устанавливаем flup по прямой ссылке:
- $ easy_install http://svn.edgewall.com/repos/trac/sandbox/webadmin/+ $ easy_install <nowiki>"http://pypi.python.org/packages/source/f/flup/flup-1.0.2.tar.gz#md5=24dad7edc5ada31dddd49456ee8d5254"</nowiki>
 +'''3.''' Ставим trac:
 + $ easy_install -Z trac
== Настройка trac == == Настройка trac ==
=== Создание проекта === === Создание проекта ===
-* Создаем проект под именем <code>demo_trac</code>:+По умолчанию Trac использует базу SQLite, если планируете использовать базу данных MySQL, надо установить модуль mysql-python:
 + $ easy_install mysql-python
 +и поменять кодировку базы данных:
 + $ DB='''DB_NAME'''; echo "ALTER DATABASE $DB DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci" | mysql -h'''DB_HOST''' -u$DB -p'''DB_PASSWORD'''
 + 
 +'''1.''' Создаем проект под именем <code>demo_trac</code>:
$ trac-admin ~/trac/demo_trac initenv $ trac-admin ~/trac/demo_trac initenv
-Рекомендую использовать базу данных MySQL, строка подключения для нее будет выглядить так:+Для базы данных MySQL строка подключения будет выглядить так:
- mysql://db_name:db_password@db_host:3306/db_name+ mysql://'''DB_NAME''':'''DB_PASSWORD'''@'''DB_HOST''':3306/'''DB_NAME'''
-Тип репозитория - <code>svn</code>. Остальные настройки проекта оставляем по-умолчанию, из потом можно будет изменить через файл <code>trac.ini</code>+Все настройки проекта оставляем по умолчанию, их потом можно будет изменить в файле <code>trac.ini</code>
=== Настройка FastCGI диспетчера и файла <code>.htaccess</code> === === Настройка FastCGI диспетчера и файла <code>.htaccess</code> ===
-* Переходим в каталог ~/http и делаем настройку FastCGI диспетчера и правил редиректа mod_rewrite:+'''1.''' Переходим в каталог ~/http и делаем настройку FastCGI диспетчера и правил редиректа mod_rewrite:
Файл <code>index.fcgi</code> Файл <code>index.fcgi</code>
- + $ cat > ~/http/index.fcgi <<END
- #!/usr/bin/python+ #!/usr/bin/${PYTHON_VERSION}
import sys, os, site import sys, os, site
# Add a custom Python path. # Add a custom Python path.
- PYTHON_CUSTOM_PATH = os.path.abspath (os.path.join (os.path.dirname (os.path.abspath (__file__)), \+ PYTHON_CUSTOM_PATH = os.path.abspath (os.path.join (os.path.dirname (os.path.abspath (__file__)), \\
- '../python/lib64/python2.5/site-packages'))+ '../python/lib64/${PYTHON_VERSION}/site-packages'))
sys.path.insert (0, PYTHON_CUSTOM_PATH) sys.path.insert (0, PYTHON_CUSTOM_PATH)
site.addsitedir (PYTHON_CUSTOM_PATH) site.addsitedir (PYTHON_CUSTOM_PATH)
# Add a custom trac env path. # Add a custom trac env path.
- MY_TRAC_ENV_PATH = os.path.abspath (os.path.join (os.path.dirname (os.path.abspath (__file__)), \+ MY_TRAC_ENV_PATH = os.path.abspath (os.path.join (os.path.dirname (os.path.abspath (__file__)), \\
'../trac/'''demo_trac'''')) '../trac/'''demo_trac''''))
Строка 71: Строка 80:
WSGIServer(dispatch_request).run() WSGIServer(dispatch_request).run()
 + END
Для того, чтобы у нас заработала авторизация, обязательно скопируйте файл <code>index.fcgi</code> в файл <code>admin.fcgi</code>: Для того, чтобы у нас заработала авторизация, обязательно скопируйте файл <code>index.fcgi</code> в файл <code>admin.fcgi</code>:
$ cd ~/http && cp index.fcgi admin.fcgi $ cd ~/http && cp index.fcgi admin.fcgi
 +и даем права доступа на исполнение:
 + $ cd ~/http && chmod 755 *.fcgi
-Файл <code>.htaccess</code>+'''2.''' Файл <code>.htaccess</code> (секция Files не нужна, если вы хотите использовать более продвинутую (и удобную) авторизацию из плагинов (см.[http://trac.edgewall.org/wiki/PluginList Официальные плагины]))
 + $ cat > ~/http/.htaccess <<END
DirectoryIndex index.fcgi DirectoryIndex index.fcgi
Строка 83: Строка 96:
RewriteEngine On RewriteEngine On
- RewriteRule ^(index.fcgi/chrome/site/)(.*)$ ./chrome/site/$2+ RewriteRule ^(index.fcgi/chrome/site/)(.*)$ ./chrome/site/\$2
RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-d
- RewriteRule ^(.*)$ index.fcgi/$1 [QSA,L]+ RewriteRule ^(.*)$ index.fcgi/\$1 [QSA,L]
- +
<Files "admin.fcgi"> <Files "admin.fcgi">
AuthType Basic AuthType Basic
- AuthUserFile /home/virtwww/'''имя_пользователя'''/trac/'''demo_trac'''/conf/trac.htpasswd+ AuthUserFile /home/virtwww/$(whoami)/trac/'''demo_trac'''/conf/trac.htpasswd
AuthName "Trac Sign In" AuthName "Trac Sign In"
require valid-user require valid-user
Строка 97: Строка 110:
RewriteRule ^index\.fcgi/login$ /admin.fcgi/login RewriteRule ^index\.fcgi/login$ /admin.fcgi/login
RewriteRule ^admin\.fcgi/logout$ /index.fcgi/logout RewriteRule ^admin\.fcgi/logout$ /index.fcgi/logout
 + END
-Для работы статики создаем симлинки:+'''3.''' Копируем статический контент в свой проект:
- $ cd ~/http/chrome && ln -s ~/python/lib64/python2.5/site-packages/Trac-*.egg/trac/htdocs common+ $ trac-admin ~/trac/demo_trac deploy ~/trac/demo_trac/
- $ cd ~/http/chrome && ln -s ~/trac/'''название_вашего_проекта'''/htdocs site+ 
 +'''4.''' Чтобы статические документы отдавались сразу веб-сервером, а не обрабатывались FastCGI приложением, делаем симлинки:
 + $ cd ~/http/chrome && ln -sfv ~/trac/demo_trac/htdocs/common
 + $ cd ~/http/chrome && ln -sfv ~/trac/demo_trac/htdocs/site
=== Добавления пользователя admin и настройка авторизации === === Добавления пользователя admin и настройка авторизации ===
Строка 106: Строка 123:
Здесь важно понимать, что при использовании связки SSH-SVN-Trac настройка авторизации происходит для каждого компонента в отдельности, т.е. один пользователь может работать только по SSH (с репозиторием SVN), другой по протоколу SVN, третий только с интерфейсом Trac, поэтому будьте внимательны, если вы хотите чтобы один и тот же пользователь работал со всеми интерфейсами. Здесь важно понимать, что при использовании связки SSH-SVN-Trac настройка авторизации происходит для каждого компонента в отдельности, т.е. один пользователь может работать только по SSH (с репозиторием SVN), другой по протоколу SVN, третий только с интерфейсом Trac, поэтому будьте внимательны, если вы хотите чтобы один и тот же пользователь работал со всеми интерфейсами.
-* Добавляем администратора в trac:+'''1.''' Добавляем администратора в trac:
$ trac-admin ~/trac/demo_trac $ trac-admin ~/trac/demo_trac
/trac/demo_trac]> permission add любое_имя_пользователя TRAC_ADMIN /trac/demo_trac]> permission add любое_имя_пользователя TRAC_ADMIN
-* Назначаем пароль:+'''2.''' Назначаем пароль:
$ cd ~/trac/demo_trac/conf/ && /usr/local/sbin/htpasswd -c trac.htpasswd любое_имя_пользователя $ cd ~/trac/demo_trac/conf/ && /usr/local/sbin/htpasswd -c trac.htpasswd любое_имя_пользователя
-таким образом данный пользователь будет являться администратором для системы Trac, например, он сможет через web-интерфейс Trac'а добавлять новых пользователей, изменить настройки Trac и т.п.+таким образом данный пользователь будет являться администратором для системы Trac, например, он сможет через web-интерфейс Trac'а добавлять новых пользователей, изменять настройки Trac и т.п.
---- ----
Строка 120: Строка 137:
О добавлении пользователей SVN, SSH речь пойдет ниже. О добавлении пользователей SVN, SSH речь пойдет ниже.
-=== trac.ini ===+=== Патч для создания правильных URI ===
-* Включем WebAdmin, в конец файла добавляем строки:+'''1.''' Для создания "красивых" URI патчим файл <code>~/python/lib/python'''ВАША_ВЕРСИЯ'''/site-packages/Trac-0.11.5-py2.5.egg/trac/web/api.py</code> (ваш путь может немного отличаться).
- [components]+
- webadmin.* = enabled+
-Остальные опции на ваше усмотрение.+* '''для версии Trac 1.0'''<br />
 +Не требуется.
 + 
 +* '''для версии Trac 0.11'''
 + 
 +Строку:
 + base_path = property(fget=lambda self: self.environ.get('SCRIPT_NAME', ),
 +меняем на:
 + base_path = property(fget=lambda self: os.path.dirname(self.environ.get('SCRIPT_NAME', )),
 + 
 +* '''для версии Trac 0.12'''
-=== Патч для создания правильных URI === 
-* Для создания "красивых" URI патчим файл <code>~/python/lib/python2.5/site-packages/Trac-0.11.5-py2.5.egg/trac/web/api.py</code> (ваш путь может немного отличаться). 
Строку: Строку:
- base_path = property(fget=lambda self: self.environ.get('SCRIPT_NAME', ''),+ return self.environ.get('SCRIPT_NAME', '')
меняем на: меняем на:
- base_path = property(fget=lambda self: os.path.dirname(self.environ.get('SCRIPT_NAME', '')),+ return os.path.dirname(self.environ.get('SCRIPT_NAME', ''))
-* Если вы планируете использовать Trac не из корня сайта, а из какого-то подкаталога, например, из <code>~/http/trac</code>, то в файле <code>~/python/lib/python2.5/site-packages/Trac-0.11.5-py2.5.egg/trac/web/api.py</code>, строку:+'''2.''' Если вы планируете использовать Trac не из корня сайта, а из какого-то подкаталога, например, из <code>~/http/trac</code>, то в файле <code>~/python/lib/python2.5/site-packages/Trac-0.11.5-py2.5.egg/trac/web/api.py</code>, строку:
if not req.path_info or req.path_info == '/': if not req.path_info or req.path_info == '/':
меняем на: меняем на:
Строка 149: Строка 172:
== Демо trac == == Демо trac ==
-* http://test-l7-trac.1gb.ru/ - демо версия trac на хостинге 1Gb.ru+* http://test-l25-trac.1gb.ru/ - демо версия trac на хостинге 1Gb.ru
== См. также == == См. также ==

Текущая версия



Данная статья предназначена для технических специалистов.

Вы должны знать основы программирования, уметь пользоваться консольными программами и официальной документацией от разработчиков.

В связи с тем, что на сервере могут обновиться версии программ, измениться конфигурация приложений, документация в статье может не соответствовать действительности, поэтому вы должны быть готовы разобраться с возможными проблемами самостоятельно или с помощью специалистов из платной поддержки http://1gbsup.ru/paidsu/, обычная поддержка хостинга не оказывает консультации по установке и отладке скриптов.



Содержание

[править] Общие сведения

Trac - бесплатное программное обеспечение написанное на языке Python, представляющие из себя прекрасный инструмент для автоматизированного управления проектами и системой отслеживания ошибок (bug tracker). Имеет простой wiki-подобный web-интерфейс.

На хостинге 1Gb.ru trac можно запустить в режиме UNIX/Apache/FastCGI, для этого убедитесь, что в разделе личного кабинета /Управление сайтами и серверами/ у вас правильно выбран тип сервера.

[править] Подготовка окружения

Данный этап установки ничем не отличается от инструкции по установке Django (Trac также работает только со 2-ой веткой python), поэтому обратитесь к статье Django#Подготовка окружения и выполните пункты 1 - 7, за исключением пункта 2. Вместо пункта 2 из инструкции "установка Django" выполните такую команду:

$ mkdir -p ~/src ~/python/bin ~/python/lib64/${PYTHON_VERSION}/site-packages ~/trac ~/svn ~/http/chrome

[править] Установка компонентов

1. С сайта http://pypi.python.org/pypi/setuptools берем setuptools соответствующий нашей версии python. Либо скачиваем нужную версию следующей командой:

$ cd ~/src && lynx -source "https://pypi.python.org/pypi/setuptools/0.6c11" \
 | awk "/py$(echo $PYTHON_VERSION | tr -d python).egg#md5/ {url = gensub(/.*<a href=\"(.*)\">s.*\.egg<.*/,\"\\\\1\",\"\"); \
 f = gensub(/.*\/([\.a-z\-0-9]+)#.*/,\"\\\\1\",\"\",url); system (\"wget -O \"f\" \"url)}"

и устанавливаем:

$ /bin/bash ./setuptools*.egg

2. Устанавливаем модуль flup, для работы Trac в FastCGI режиме:

$ easy_install flup

если установка заканчивается так:

error: None

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

$ easy_install "http://pypi.python.org/packages/source/f/flup/flup-1.0.2.tar.gz#md5=24dad7edc5ada31dddd49456ee8d5254"

3. Ставим trac:

$ easy_install -Z trac

[править] Настройка trac

[править] Создание проекта

По умолчанию Trac использует базу SQLite, если планируете использовать базу данных MySQL, надо установить модуль mysql-python:

$ easy_install mysql-python

и поменять кодировку базы данных:

$ DB=DB_NAME; echo "ALTER DATABASE $DB DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci" | mysql -hDB_HOST -u$DB -pDB_PASSWORD

1. Создаем проект под именем demo_trac:

$ trac-admin ~/trac/demo_trac initenv

Для базы данных MySQL строка подключения будет выглядить так:

mysql://DB_NAME:DB_PASSWORD@DB_HOST:3306/DB_NAME

Все настройки проекта оставляем по умолчанию, их потом можно будет изменить в файле trac.ini

[править] Настройка FastCGI диспетчера и файла .htaccess

1. Переходим в каталог ~/http и делаем настройку FastCGI диспетчера и правил редиректа mod_rewrite: Файл index.fcgi

$ cat > ~/http/index.fcgi <<END
#!/usr/bin/${PYTHON_VERSION}

import sys, os, site

# Add a custom Python path.
PYTHON_CUSTOM_PATH = os.path.abspath (os.path.join (os.path.dirname (os.path.abspath (__file__)), \\
                     '../python/lib64/${PYTHON_VERSION}/site-packages'))
sys.path.insert (0, PYTHON_CUSTOM_PATH)
site.addsitedir (PYTHON_CUSTOM_PATH)

# Add a custom trac env path.
MY_TRAC_ENV_PATH = os.path.abspath (os.path.join (os.path.dirname (os.path.abspath (__file__)), \\
                   '../trac/demo_trac'))

os.environ['TRAC_ENV'] = MY_TRAC_ENV_PATH

from trac.web.main import dispatch_request
from flup.server.fcgi import WSGIServer

WSGIServer(dispatch_request).run()
END

Для того, чтобы у нас заработала авторизация, обязательно скопируйте файл index.fcgi в файл admin.fcgi:

$ cd ~/http && cp index.fcgi admin.fcgi

и даем права доступа на исполнение:

$ cd ~/http && chmod 755 *.fcgi

2. Файл .htaccess (секция Files не нужна, если вы хотите использовать более продвинутую (и удобную) авторизацию из плагинов (см.Официальные плагины))

$ cat > ~/http/.htaccess <<END
DirectoryIndex index.fcgi

Options +FollowSymlinks

AddHandler fcgid-script .fcgi

RewriteEngine On
RewriteRule ^(index.fcgi/chrome/site/)(.*)$ ./chrome/site/\$2
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.fcgi/\$1 [QSA,L]
 
<Files "admin.fcgi">
      AuthType Basic
      AuthUserFile /home/virtwww/$(whoami)/trac/demo_trac/conf/trac.htpasswd
      AuthName "Trac Sign In"
      require valid-user
</Files>

RewriteRule ^index\.fcgi/login$ /admin.fcgi/login
RewriteRule ^admin\.fcgi/logout$ /index.fcgi/logout
END

3. Копируем статический контент в свой проект:

$ trac-admin ~/trac/demo_trac deploy ~/trac/demo_trac/

4. Чтобы статические документы отдавались сразу веб-сервером, а не обрабатывались FastCGI приложением, делаем симлинки:

$ cd ~/http/chrome && ln -sfv ~/trac/demo_trac/htdocs/common
$ cd ~/http/chrome && ln -sfv ~/trac/demo_trac/htdocs/site

[править] Добавления пользователя admin и настройка авторизации

Здесь важно понимать, что при использовании связки SSH-SVN-Trac настройка авторизации происходит для каждого компонента в отдельности, т.е. один пользователь может работать только по SSH (с репозиторием SVN), другой по протоколу SVN, третий только с интерфейсом Trac, поэтому будьте внимательны, если вы хотите чтобы один и тот же пользователь работал со всеми интерфейсами.

1. Добавляем администратора в trac:

$ trac-admin ~/trac/demo_trac
/trac/demo_trac]> permission add любое_имя_пользователя TRAC_ADMIN

2. Назначаем пароль:

$ cd ~/trac/demo_trac/conf/ && /usr/local/sbin/htpasswd -c trac.htpasswd любое_имя_пользователя

таким образом данный пользователь будет являться администратором для системы Trac, например, он сможет через web-интерфейс Trac'а добавлять новых пользователей, изменять настройки Trac и т.п.


Примечание. Если вы хотите добавить еще одного пользователя, то опцию -c указывать не нужно.


О добавлении пользователей SVN, SSH речь пойдет ниже.

[править] Патч для создания правильных URI

1. Для создания "красивых" URI патчим файл ~/python/lib/pythonВАША_ВЕРСИЯ/site-packages/Trac-0.11.5-py2.5.egg/trac/web/api.py (ваш путь может немного отличаться).

  • для версии Trac 1.0

Не требуется.

  • для версии Trac 0.11

Строку:

base_path = property(fget=lambda self: self.environ.get('SCRIPT_NAME', ),

меняем на:

base_path = property(fget=lambda self: os.path.dirname(self.environ.get('SCRIPT_NAME', )),
  • для версии Trac 0.12

Строку:

return self.environ.get('SCRIPT_NAME', )

меняем на:

return os.path.dirname(self.environ.get('SCRIPT_NAME', ))

2. Если вы планируете использовать Trac не из корня сайта, а из какого-то подкаталога, например, из ~/http/trac, то в файле ~/python/lib/python2.5/site-packages/Trac-0.11.5-py2.5.egg/trac/web/api.py, строку:

if not req.path_info or req.path_info == '/':

меняем на:

if not req.path_info or req.path_info == '/' or req.path_info == '/trac/':

Это для того, чтобы при обращении к http://example.com/trac не происходило лишнего редиректа на http://example.com/trac/trac/, если кто-то знает другой способ, сообщите мне.

[править] Настройка SVN

Обратитесь пожалуйста к этой статье: SVN - быстрый старт (профессиональная версия)

[править] Интеграция с trac

  • В файле ~/trac/название_проекта/conf/trac.ini указываем путь к нашему репозиторию:
repository_dir = /home/virtwww/имя_пользователя/svn/название_репозитория

[править] Демо trac

[править] См. также

[править] Ссылки

  • The Trac User and Administration Guide (англ.) - документация по Trac на сайте разработчиков.
  • The Trac User and Administration Guide (рус.) - документация по Trac на сайте разработчиков (частичный перевод).
  • Trac-Hacks (англ.) - популярный ресурс по Trac с большим количеством плагинов и модулей.
Личные инструменты