Pull to refresh

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

Configuring Linux
Привет всем!
Сегодня я расскажу как правильно и без гемора установить связку 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:tracsvnрепозиторийtracwebadminwebadminubuntuapacheegg
Hubs: Configuring Linux
Total votes 44: ↑38 and ↓6 +32
Views16.9K

Popular right now

DevOps инженер Middle (возможно, хороший Junior)
from 150,000 ₽1 CEOСанкт-Петербург
PHP-разработчик fullstack (Linux, Apache, MySQL, PHP)
from 250,000 ₽КАУССанкт-ПетербургRemote job
Backend developer (Middle) Node.js
from 100,000 to 120,000 ₽ITIS.TEAMСанкт-ПетербургRemote job
Инженер-программист
from 30,000 to 90,000 ₽Уфимский НТЦУфаRemote job