Trac - быстрый старт
Материал из 1GbWiki.
(Различия между версиями)
Версия 13:47, 9 ноября 2009 (править) Renton (Обсуждение | вклад) (Новая: == Общие сведения == '''Trac''' - бесплатное программное обеспечение написанное на языке [http://www.python.org/ Python], ...) ← К предыдущему изменению |
Версия 17:57, 9 ноября 2009 (править) (отменить) Renton (Обсуждение | вклад) (→Настройка trac) К следующему изменению → |
||
Строка 39: | Строка 39: | ||
== Настройка trac == | == Настройка trac == | ||
- | * Создаем проект под именем <code>demo_trac</code> | + | * Создаем проект под именем <code>demo_trac</code>: |
- | $ trac-admin ~/trac/demo_trac initenv | + | $ trac-admin ~/trac/demo_trac initenv |
+ | Рекомендую использовать базу данных MySQL, строка подключения для нее будет выглядить так: | ||
+ | mysql://db_name:db_password@db_host:3306/db_name | ||
+ | Остальные настройки проекта оставляем либо по-умолчанию, либо игнорируем. | ||
+ | |||
+ | * Переходим в каталог ~/http и делаем настройку FastCGI диспетчера и правил редиректа mod_rewrite: | ||
+ | Файл <code>index.fcgi</code> | ||
+ | |||
+ | #!/usr/bin/python | ||
+ | |||
+ | 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/python2.5/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() | ||
+ | Файл <code>.htaccess</code> | ||
+ | DirectoryIndex index.fcgi | ||
+ | |||
+ | Options +FollowSymlinks | ||
+ | |||
+ | AddHandler fcgid-script .fcgi | ||
+ | |||
+ | RewriteEngine On | ||
+ | RewriteCond %{REQUEST_FILENAME} !-f | ||
+ | RewriteCond %{REQUEST_FILENAME} !-d | ||
+ | RewriteRule ^(.*)$ index.fcgi/$1 [QSA,L] | ||
+ | |||
+ | * Для создания "красивых" 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', ''), | ||
+ | меняем на: | ||
+ | base_path = property(fget=lambda self: os.path.dirname(self.environ.get('SCRIPT_NAME', '')), | ||
+ | |||
+ | * В личном кабинете в разделе /Хостинг Subversion/ создаем репозиторий SVN. | ||
+ | |||
+ | easy_install elementtree | ||
+ | easy_install python-openid |
Версия 17:57, 9 ноября 2009
Содержание |
Общие сведения
Trac - бесплатное программное обеспечение написанное на языке Python, представляющие из себя прекрасный инстумент для автоматизированного управления проектами и системой отлеживания ошибок (bug tracker). Имеет простой wiki-подобный web-интерфейс.
На хостинге 1Gb.ru trac можно запустить в режиме UNIX/Apache/FastCGI
, для этого убедитесь в разделе личного кабинета /Управление сайтами и серверами/
что у вас правильно выбран тип сервера.
Подготовка окружения
Создаем в корне домашнего каталога файл .pydistutils.cfg
для настройки путей инсталляции модулей:
[install]
prefix = $HOME/python
[easy_install]
install_dir = $HOME/python/lib64/python2.5/site-packages
- Для настройки переменных
PATH
,PYTHONPATH
иalias
'ов добавьте строки:
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
в ваш ~/.bashrc
- Выполняем команду:
source ~/.bashrc
для того, чтобы сделанные изменения вступили в силу.
- Создаем различные каталоги:
mkdir -p ~/src ~/python/lib64/python2.5/site-packages ~/trac
- Симлинк:
cd ~/python; ln -s lib64 lib; cd
Установка компонентов
- Установим свой
easy_install
:
$ 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
- Устанавливаем модуль flup, для работы Trac в FastCGI режиме:
$ easy_install flup
- Ставим trac:
$ easy_install trac
Настройка trac
- Создаем проект под именем
demo_trac
:
$ trac-admin ~/trac/demo_trac initenv
Рекомендую использовать базу данных MySQL, строка подключения для нее будет выглядить так:
mysql://db_name:db_password@db_host:3306/db_name
Остальные настройки проекта оставляем либо по-умолчанию, либо игнорируем.
- Переходим в каталог ~/http и делаем настройку FastCGI диспетчера и правил редиректа mod_rewrite:
Файл index.fcgi
#!/usr/bin/python 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/python2.5/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()
Файл .htaccess
DirectoryIndex index.fcgi Options +FollowSymlinks AddHandler fcgid-script .fcgi RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.fcgi/$1 [QSA,L]
- Для создания "красивых" URI патчим файл
~/python/lib/python2.5/site-packages/Trac-0.11.5-py2.5.egg/trac/web/api.py
(ваш путь может немного отличаться).
Строку:
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', )),
- В личном кабинете в разделе /Хостинг Subversion/ создаем репозиторий SVN.
easy_install elementtree easy_install python-openid