Pull to refresh

Установка SVN+Trac+TracWebAdmin

Reading time3 min
Views18K
Привет всем!
Сегодня я расскажу как правильно и без гемора установить связку SVN + Trac + TracWebAdmin.

Для чего все это...?

Представьте себе ситуацию: у вас есть проект, который находится на стадии разработки. Скрипты содержат тысячи строк кода. Постоянное сохранение, бэкап файлов, удаление фрагментов кода, вставка новых вынуждают вести точный контроль над исходным кодом проекта, чтобы не потерять уже существующее и проверенное. Вам приходится записывать в текстовом файле или на бумаге этапы разработки и тестирования отдельных частей системы, возможно даже записывать версии файлов. Возможно это удобно… но не надолго — насутпают моменты, когда контролировать код вручную становится физически невозможным из-за его размера. Здесь на помощь приходит система контроля за версиями SVN. Начать ознакомление можно осюда: ru.wikipedia.org/wiki/SVN. А Trac — это всего лишь удобный веб-интерфейс для еще более удобного контроля за своим проектом. Рассмотрение Trac'а можно начать отсюда: ru.wikipedia.org/wiki/Trac

В принципе мануалов по установке SVN + Trac огромное множество и все они предлагают разные способы — я решил представить один из них. Главной целью данного топика является установка плагина TracWebAdmin — покопавшись в инете я не нашел ни одного ПОЛНОГО мана по установке данной фичи. Также этот топик является логичным продолжением предыдущего моего топика Установка и настройка Apache2+PHP5+MySQL+XDebug & Eclipse+PDT+XDebug в Ubuntu 7.10.
Начнем-с…

Установка Subversion и Trac

1. Ставим trac, python и subversion:
# apt-get install trac libapache2-svn subversion python-subversion libapache2-mod-python
2. Включаем модуль питона:
# a2enmod python

Настройка Subversion

1. Создаем группу для работы с SVN:
# groupadd svn
2. Добавляем себя (ваше имя пользователя в Ubuntu) в группу svn:
# usermod -a -G svn имя_пользователя
3. Добавляем apache в группу svn:
# usermod -a -G svn www-data
4. Создаем папку для будущего репозитория:
# mkdir /var/svn
5. Создаем репозиторий:
# svnadmin create /var/svn
6. Меняем права к папке для доступа пользователям из группы svn:
# chown -R www-data:svn /var/svn
7. Разрешаем на запись группе и владельцу:
# chmod -R g+ws /var/svn
8. Создаем пароль для доступа к папке с репозиторием, который впоследствии будет использоваться apache'ем:
# htpasswd -c -m /etc/apache2/svn.htpasswd имя_пользователя
9. Теперь создадим правило для Apache для доступа к svn-репозиторию:
# nano /etc/apache2/conf.d/svn
<Location "/svn">
DAV svn
SVNPath /var/svn
AuthType Basic
AuthName "SVN Repo"
AuthUserFile /etc/apache2/svn.htpasswd
Require valid-user
</Location>

10. Перезапускаем апач:
# service apache2 restart
11. SVN установлен! Он доступен по адресу localhost/svn

Настройка Trac

1. Создаем папку для Trac'а:
# mkdir /var/trac
2. Создаем среду для работы Trac с SVN:
# trac-admin /var/trac initenv
3. Меняем права к папке с trac'ом:
# chown -R www-data:svn /var/trac; chmod -R g+ws /var/trac
4. Создаем пароль для админ-доступа к папке с trac'ом, который впоследствии будет использоваться apache'ем:
# htpasswd -c -m /etc/apache2/trac.htpasswd имя_пользователя
5. Создадим правило для Apache для доступа к trac'у:
# nano /etc/apache2/conf.d/trac
<LocationMatch "/trac/login">
AuthType Basic
AuthName "Projects"
AuthUserFile /etc/apache2/trac.htpasswd
Require valid-user
</LocationMatch>
<Location /trac>
SetHandler mod_python
PythonInterpreter main_interpreter
PythonHandler trac.web.modpython_frontend
PythonOption TracEnv /var/trac
PythonOption TracUriRoot /trac
</Location>

6. Trac установлен! Он доступен по адресу localhost/trac

Установка плагина TracWebAdmin

Начиная с версии Trac 0.11 плагин TracWebAdmin интегрирован в ядро и каких-либо дополнительных телодвижений для установки не требуется. Сейчас стабильная версия считается 0.12.
1. Добавляем себя в админы trac'а:
# trac-admin /var/trac permission add имя_пользователя TRAC_ADMIN

yoreeq не бей сильно, плз ;)
Установка Trac+SVN была взята отсюда: habrahabr.ru/post/20525


UPD [18.03.2012]: Статья обновлена дабы идти в ногу со временем :)
Tags:
Hubs:
+32
Comments65

Articles