Trac — инструмент управления проектами и отслеживания ошибок в программном обеспечении.
Не думаю что данное руководство пойдет только для версии 8.04. Trac мы будем ставить 0.11-ой версии
Нам потребуются некоторые библиотеки для установки. Открываем терминал (консоль в Kubuntu) и пишем:
- sudo apt-get update # обновить репозитарии
- sudo apt-get install apache2 libapache2-mod-python libapache2-svn python-setuptools subversion python-subversion
- sudo easy_install Trac
Также можно поставить SQLite (на момент написания статьи последняя версия: 3.5.9), но этот шаг является необязательным. Есть 2 варианта: установка из репозитариев или же компилирование из исходников. Выбирайте какой для вас удобнее.
1 способ (репозитарии):
- sudo apt-get install sqlite
2 способ (исходники):
P.S. способ НЕ рекомендуется для использования. Присутствует в ознакомительных целях
- sudo apt-get install g++
- cd
- mkdir ./distr
- cd ./distr
- wget http://www.sqlite.org/sqlite-3.5.9.tar.gz
- tar xvfz ./sqlite-3.5.9.tar.gz
- mv ./sqlite-3.5.9 ./sqlite # чтобы следовать букве README-руководства
- mkdir ./bld # временный каталог для скомилированных файлов
- cd ./bld
- ../sqlite/configure
- make
- sudo make install
- cd ..
- rm -r ./bld
Создадим дирректорию для Trac и дадим Apache доступ к нему:
- sudo mkdir /var/lib/trac
- sudo chown www-data:www-data /var/lib/trac
Настроим VirtualHost для Apache
- sudo vi /etc/apache2/sites-available/trac (можно использовать gedit (Ubuntu) или kate (Kubuntu) вместо редактора vi)
В открывшийся файл пишем:
<VirtualHost *>
ServerAdmin webmaster@localhost
ServerName trac.example.com
DocumentRoot /var/www
ErrorLog /var/log/apache2/error.trac.log
CustomLog /var/log/apache2/access.trac.log combined
<Location /projects>
SetHandler mod_python
PythonInterpreter main_interpreter
PythonHandler trac.web.modpython_frontend
PythonOption TracEnvParentDir /var/lib/trac
PythonOption TracUriRoot /projects
</Location>
# use the following for one authorization for all projects (names containing "-" are not detected):
<LocationMatch "/projects/[[:alnum:]]+/login">
AuthType Basic
AuthName "trac"
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user
</LocationMatch>
</VirtualHost>
Далее отключаем VirtualHost по умолчанию и активируем VirtualHost Trac, перезагружаем Apache:
- sudo a2dissite default
- sudo a2ensite trac
- sudo /etc/init.d/apache2 reload
Переходим в /var/lib, создаем папку для svn, и в ней новую папку для проекта:
- cd /var/lib
- sudo mkdir svn #необходимы права администратора
- sudo svnadmin create /var/lib/svn/ProjectName
Изменяем права доступа к папкам, перезапускаем Apache
- sudo chown -R www-data /var/lib/svn
- sudo /etc/init.d/apache2 restart
Создаем дирректорию для trac и новый проект с именем ProjectName (Имя то же, что и для svn)
- sudo trac-admin /var/lib/trac/YourProjectNameHere initenv
- sudo chown -R www-data /var/lib/trac
Во время создания проекта будут заданы вопросы:
- ProjectName - имя проекта
- Путь до SQLite - по умолчанию
- Репозиторий - svn
- Путь до репозитория - /var/lib/svn/ProjectName
Теперь настроим SVN. Файл /etc/apache2/mods-available/dav_svn.conf необходимо раскомментировать, чтобы получилось:
- sudo vi /etc/apache2/mods-available/dav_svn.conf (вместо vi можно использовать: Ubuntu - gedit, Kubuntu - kate)
<Location /svn>
DAV svn
SVNParentPath /var/lib/svn
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
AuthzSVNAccessFile /etc/apache2/dav_svn.authz
Require valid-user
</Location>
Создадим соответствующих пользователей (любое количество, вам необходимое) в файлах авторизации (username - любое имя. Первый пользователь всегда с -c):
- sudo htpasswd -c /etc/apache2/dav_svn.passwd username1
- sudo htpasswd /etc/apache2/dav_svn.passwd username2
Создадим файл аутентификации и пишем в него (r - чтение, w - запись):
- sudo vi /etc/apache2/dav_svn.authz (вместо vi можно использовать: Ubuntu - gedit, Kubuntu - kate)
[/]
username1=r
username2=rw
[/ProjectName]
username1=rw
username2=r
Права на доступ Apache файлу /etc/apache2/dav_svn.passwd:
- sudo chown www-data /etc/apache2/dav_svn.passwd
Добавляем себя в админы Trac (ProjectName - имя проекта, username - имя пользователя)
- cd /var/lib/trac
- sudo trac-admin ProjectName permission add username TRAC_ADMIN
Добавляем пару необходимых модулей:
- sudo mkdir /var/www/.python-eggs
- sudo chown www-data /var/www/.python-eggs
- sudo apt-get install build-essential graphviz
- sudo easy_install http://svn.edgewall.org/repos/genshi/trunk/ #установщик задаст вопрос, отвечаем t
- sudo easy_install http://trac-hacks.org/svn/accountmanagerplugin/trunk
- sudo easy_install http://trac-hacks.org/svn/customfieldadminplugin/0.11
- sudo easy_install http://trac-hacks.org/svn/eclipsetracplugin/tracrpcext/0.10
- sudo easy_install http://trac-hacks.org/svn/iniadminplugin/0.11
- sudo easy_install http://trac-hacks.org/svn/masterticketsplugin/0.11
- sudo easy_install http://trac-hacks.org/svn/pagetopdfplugin/0.10/
- sudo easy_install http://trac-hacks.org/svn/progressmetermacro/0.11
- sudo easy_install http://trac-hacks.org/svn/ticketdeleteplugin/0.11
- sudo easy_install http://trac-hacks.org/svn/tracwysiwygplugin/0.11
- sudo easy_install http://wikinotification.ufsoft.org/svn/trunk
Последний шаг - перезагружаем Apache:
- sudo /etc/init.d/apache2 restart
Теперь по адресу:
http://localhost - видим "It works!"
http://localhost/svn/ProjectName - наш svn репозитарий
http://localhost/projects - список проектов trac
При написании использовались материалы с сайтов: