войти зарегистрироваться

Убунтариум whois

индекс
170,92

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

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

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

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

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

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

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


Настройка Subversion

1. Создаем группу для работы с SVN :
sudo groupadd svn
2. Добавляем себя (ваше имя пользователя в Ubuntu) в группу svn :
sudo usermod -a -G svn имя_пользователя
3. Добавляем apache в группу svn :
sudo usermod -a -G svn www-data
4. Создаем папку для будущего репозитория :
sudo mkdir /var/svn
5. Создаем репозиторий :
sudo svnadmin create /var/svn
6. Меняем права к папке для доступа пользователям из группы svn :
sudo chown -R www-data:svn /var/svn
7. Разрешаем на запись группе и владельцу :
sudo chmod -R g+ws /var/svn
8. Создаем пароль для доступа к папке с репозиторием, который впоследствии будет использоваться apache'ем :
sudo htpasswd -c -m /etc/apache2/svn.htpasswd имя_пользователя
9. Теперь создадим правило для Apache для доступа к svn-репозиторию :
Alt+F2 gksu gedit /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. SVN установлен! Он доступен по адресу http://localhost/svn


Настройка Trac

1. Создаем папку для Trac'а :
sudo mkdir /var/trac
2. Создаем среду для работы Trac с SVN :
sudo trac-admin /var/trac initenv
3. Меняем права к папке с trac'ом :
sudo chown -R www-data:svn /var/trac
sudo chmod -R g+ws /var/trac

4. Создаем пароль для админ-доступа к папке с trac'ом, который впоследствии будет использоваться apache'ем :
sudo htpasswd -c -m /etc/apache2/trac.htpasswd имя_пользователя
5. Создадим правило для Apache для доступа к trac'у :
Alt+F2 gksu gedit /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 установлен! Он доступен по адресу http://localhost/trac


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

1. Чтобы устанавливать плагины для trac'а - нам нужен пакет "python-setuptools" :
sudo apt-get install python-setuptools
2. Переходим в папку, где лежат trac-плагины :
cd /usr/share/trac/plugins
3. Будем ставить TracWebAdmin из svn-репозитария :
sudo svn co http://svn.edgewall.org/repos/trac/sandbox/webadmin/
4. Переходим в папку с webadmin'ом и собираем его установочный egg-файл :
cd webadmin
sudo python setup.py bdist_egg

5. Переходим в папку со свежеиспеченным установщиком командой...
cd /usr/share/trac/plugins/webadmin/dist
...выводим создержимое папки...
dir
... и копируем имя egg-файла.
6. Устанавливаем TracWebAdmin :
sudo easy_install-2.5 имя_egg_файла
7. Включаем наш плагин в конфигурацию trac'а :
Alt+F2 gksu gedit /etc/trac/trac.ini
[components]
webadmin.* = enabled


8. Добавляем себя в админы trac'а :
sudo trac-admin /var/trac permission add имя_пользователя TRAC_ADMIN

посмотреть профиль yoreeq не бей сильно, плз ;)
Установка Trac+SVN была взята отсюда : http://habrahabr.ru/blog/ubuntu/36178.ht…

комментарии (62)

  • sudo apt-get install python-setuptools
    sudo svn co httр://svn.edgewall.org/repos/trac/sandbox/webadmin/
    sudo cd /usr/share/trac/plugins
    • упс... очепятался :)
      поправил.
  • Неплохо было бы увидеть в описании, ДЛЯ ЧЕГО ВСЕ ЭТО... А то ведь не все поймут и как-то оценят данный пост.
    • Кому надо тот поймет для чего.
    • добавил коротенькое "Для чего все это...?" ;)
  • В свое время настраивал под дебианом, очень помогло это руководство:
    http://www.iar.spb.ru/apache2-ssl-subver…
    пусть будет до кучи, может кому пригодится еще.
  • в чем принципиальное отличие от этого поста?
    • посмотреть профиль yoreeq не бей сильно, плз ;)
      Установка Trac+SVN была взята отсюда : http://habrahabr.ru/blog/ubuntu/36178.ht…

      сорри, что сразу не подписал. надеюсь не обидел?
      • хватило бы просто ссылки на тот пост ;) молодец, что разобрался с TracWebAdmin
  • неплохо. только вот больше плагинов не мешало бы осветить.
  • opennet hello :-)
    А за статью спасибо, как раз нужна была)
  • я бы порекомендовал сразу установить SpamFilter, потому как если проект онлайн, то просто замучаетесь с тикетами от ботов. http://trac.edgewall.org/wiki/SpamFilter
    • согласен. но я пользуюсь локально.
  • Аааааааа!!! Меня опередили на несколько часов!
    *утирает скупые мужские слезы с бровей* :)

    Статья дельная. От себя замечу: пункт №8 следовало бы выделить в особо крупном размере, поскольку он стал камушком преткновения, когда устанавливал TRAC+TracWA себе. :)
    Инкремент вам в карму :)
    • просто давно хотел написать топик про установку trac'а с webadmin'ом. сорри, что опередил ;)
    • НЛО прилетело и опубликовало эту надпись здесь.
  • Спасибо... Отличная статьяю
    Не хватает только рестарта в конце
    sudo /etc/init.d/apache2 restart
  • НЛО прилетело и опубликовало эту надпись здесь.
    • Ничто не мешает вам применить эту инструкцию с минимальными изменениями и к FreeBSD. Вы же понимаете, что существует больше количество дистрибутивов вида UNIX. Конкретные команды приведены для Ubuntu, как для самого распространённого дистрибутива, но методы действенны для всех.
      • НЛО прилетело и опубликовало эту надпись здесь.
        • а вы напишите тоже, только в блоге freebsd (если такой имеется).
          ЗЫ: ну люблю я убунту... люблю. :)
  • Спасибо за инструкцию. Единственное, хотелось бы видеть инструкцию для git — всё таки уже 2008 год на дворе, пока переходить на более современные технологии.
    • Добавлю. Инструкцию для hg тоже хотел бы видеть.
    • Жаль, что для git нет нормального GUI под винду, а-ля Tortoise*.
      • Жаль, что гит тормозит под виндой, жаль что у него неконсистентный интерфейс, жаль что у него плохой код. Как раз GUI - мелочь.
        • hg вам в помощь :) главное, что распределённые системы контроля версий лучше subversion (функции svn это подмножество функций hg или git)
          • Его и использую, и не нарадусюь :)
          • У hg есть удобный интерфейс под винду?
  • Интересно, а чем вас Bugzilla не устраивает?
    • А Багзилла может показывать коммиты в репозитарий с камментами пользователей. Спрашиваю потому, что не знаю. Последний раз багзиллу давно видел (года 3 назад).
      • Выбирайте: http://wiki.mozilla.org/Bugzilla:Addons#Project_management_software_integration
        • Сходил по ссылке, не нашел ничего полезного/аналогичного Trac'у. Есть только мануал, как интегрировать Bugzilla+svn+MediaWiki. Ссылка имхо притянута за уши.
          • На вкус и цвет как говориться...
            • НЛО прилетело и опубликовало эту надпись здесь.
    • по моим требованиям и trac подходит. пока хватает.
  • На днях делал абсолютно то же самое на Debian. Правда, руководства не понадобились - в мануалах, на мой взгляд, и так хорошо всё расписано.
  • С версии 0.11 WebAdmin входит в Trac, его не нужно устанавливать отдельно. http://trac.edgewall.org/wiki/WebAdmin
    • топик предусматривает установку trac из репозитория. там лежит версия 0.10.4.
      • В репозитории много чего лежит. Там даже 0.12 есть.
        http://trac.edgewall.org/wiki/TracDownlo…
        • Это я к тому, что 0.11 тоже можно установить из репозитория. А 0.10.4 можно скачать релизом. Не вижу разницы между этими версиями, кроме того, что 0.10 более старый, пусть 0.11 и ещё не выпущен окончательно.
        • вообще-то я имел в виду репозитарий убунту :)
          • А зачем ограничиваться убунту? И вообще, почему бы не поставить трак из репозитория трака?
            • Только не отвечайте на первый вопрос фразой «потому что это блог Убунтариум». ;) Это я вижу. Просто пост может быть более универсальным.
              • посмотреть профиль sandycat уже задавал этот вопрос :
                http://habrahabr.ru/blog/ubuntu/43029.ht…
                • Хе. ;) Действительно. Пропустил. В общем, я с ним согласен и ваш подход мне неясен, но пусть будет так.
                  Тем не менее, версию трака вполне можно поставить более новую, опять же, независимо от системы.
                  • Тем не менее, версию трака вполне можно поставить более новую, опять же, независимо от системы.

                    на вкус и цвет товарища нет :)
            • ну ставьте. на офсайте лежит хорошая документация по этому поводу.
              • У меня уже давно стоит, спасибо. Вы автор поста, я вам предлагаю его усовершенствовать, чтобы соответствовать более новой версии. В которой, кстати, можно будет выбросить пункт об установке WebAdmin!
                • А, ну да, если убрать WebAdmin, то будет просто копипаст. Теперь понятно, извините.
                  • дочитали наконец топик до конца :)
                    просто хотел поделиться с народом решением проблемы с плагином.
                    • Дочитал до коммента, где первоначальный автор поинтересовался, в чём отличие его топика от вашего. И понял, что если бы вы рассмотрели более новую версию Трака, то пришлось бы убрать раздел про плагин => топик потерял бы смысл.
                      • еще раз поворю : топик нацелен на установку из УБУНТОВСКОГО РЕПОЗИТОРИЯ. там лежит версия 0.10.4. К вашему сведению :
                        Latest Stable Release - 0.10.4
                        Latest Beta Release 0.11rc1
                        я пользуюсь СТАБИЛЬНЫМ релизом. как только ветка 0.11 станет стабильной - обновлюсь из репозитория.
                • ну переведите маны с офсайта и выложите здесь. кто мешает?
                  • ТРЕТИЙ одинаковый пост писать? Увольте.
                    • ну дк пока не дойдет.
  • Советую такие статьи в обязательном порядке выкладывать в русскоязычную базу знаний Ubuntu (это я так форум называю).

    Вот сюда например

    Русское сообщество Ubuntu Linux -> Поддержка -> How-To & F.A.Q

    http://forum.ubuntu.ru/index.php?board=18.0

    (Хм, почему-то разрешенная html-разметка не работает)
  • А где можно почитать зачем нужен TracWebAdmin ?
    Да и вообще как пользоваться самим Tracom :)
  • у кого не работает mod_python для апача, ставим ссылку:

    sudo ln -s ../mods-available/python.load mod_python.load
  • предварительно переходим в cd /etc/apache2/mods-enabled
Только авторизованные пользователи могут оставлять комментарии. Авторизуйтесь, пожалуйста.