Установка mod_python для Apache 2.2# cd /usr/ports/www/mod_python3/
# make install clean
Зайдите и проверьте установился ли модуль mod_python.so
# cd /usr/local/libexec/apache22/
# ll | grep mod_python
Если он есть, то впишите в конфиг
/usr/local/etc/apache22/httpd.confLoadModule python_module libexec/apache22/mod_python.so
Установка TracTrac ставиться очень просто:
# cd /usr/ports/www/trac
# make install clean
Использование MySQLЕсли вы хотите использовать MySQL для хранения данных Trac, то вам надо установить MySQL-python драйвер. Если вам не надо, то можете использовать SQLite и пропустить установку MySQL-python (http://sourceforge.net/projects/mysql-python/), которую я опишу далее.
# cd /tmp
# wget http://space.dl.sourceforge.net/project/mysql-python/mysql-python/1.2.3/MySQL-python-1.2.3.tar.gz
# tar -xvf MySQL-python-1.2.3.tar.gz
# cd MySQL-python-1.2.3
# python setup.py build
# python setup.py install
Если вы используете Apache, то перезагрузите его, дабы достучатся до mod_python.
# apachectl restart
Теперь создадим базу данных и пользователя для Trac:
CREATE DATABASE trac DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
CREATE USER trac IDENTIFIED BY 'password';
GRANT ALL ON trac.* TO trac;
FLUSH PRIVILEGES;
Установка Subversion с поддержкой Python# cd /usr/ports/devel/subversion
# make WITH_PYTHON=true WITH_BERKELEYDB=db42 WITH_MOD_DAV_SVN= install
Установка py-subversion# cd /usr/ports/devel/py-subversion
# make FORCE_PKG_REGISTER= install clean
Настройка ApacheОтредактируем конфиг Apache и добавим новый виртуальный хост:
<VirtualHost *:80>
DocumentRoot "/home/trac"
ServerName trac.example.com
<Location />
SetHandler mod_python
PythonInterpreter main_interpreter
PythonHandler trac.web.modpython_frontend
PythonOption TracEnv /home/trac/example.com
PythonOption TracUriRoot /
</Location>
<Location /login>
AuthType Basic
AuthName "Trac Server"
AuthUserFile /home/svn/svn-auth-file
Require valid-user
</Location>
</VirtualHost>
Настройка TracДля начала нам надо создать trac-проект и настроить его.
Создание trac-проекта# trac-admin /home/trac/example.com initenv
initenv — создание и использование интерактивного режима
Далее, укажите имя проекта и адрес для соединения с MySQL
mysql://trac:password@localhost:3306/trac
Тип используемого сервера контроля версия «svn» и путь до svn-репозитория вашего проекта
Настройка trac-проектаОтредактируйте файл «/home/trac/example.com/conf/trac.ini» и измените следующие директивы:
default_charset = utf-8
base_url = http://trac.example.com
В конце файла добавляем активацию плагина «webadmin»:
[components]
webadmin.* = enabled
Теперь установим права на trac проект
chmod 0777 /home/trac/
chmod 0777 /home/trac/example.com
Назначаем права администратора одному из пользователей
# trac-admin /home/trac/example.com permission add имя_пользователя TRAC_ADMIN
Синхронизацию trac-проекта с svn-проектом
# trac-admin /home/trac/example.com resync