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

    Привет всем!
    Сегодня я расскажу как правильно и без гемора установить связку 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]: Статья обновлена дабы идти в ногу со временем :)
    Поделиться публикацией

    Комментарии 65

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

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

                      Статья дельная. От себя замечу: пункт №8 следовало бы выделить в особо крупном размере, поскольку он стал камушком преткновения, когда устанавливал TRAC+TracWA себе. :)
                      Инкремент вам в карму :)
                        0
                        просто давно хотел написать топик про установку trac'а с webadmin'ом. сорри, что опередил ;)
                        • НЛО прилетело и опубликовало эту надпись здесь
                          0
                          Спасибо... Отличная статьяю
                          Не хватает только рестарта в конце
                          sudo /etc/init.d/apache2 restart
                          • НЛО прилетело и опубликовало эту надпись здесь
                              +1
                              Ничто не мешает вам применить эту инструкцию с минимальными изменениями и к FreeBSD. Вы же понимаете, что существует больше количество дистрибутивов вида UNIX. Конкретные команды приведены для Ubuntu, как для самого распространённого дистрибутива, но методы действенны для всех.
                              • НЛО прилетело и опубликовало эту надпись здесь
                                  0
                                  а вы напишите тоже, только в блоге freebsd (если такой имеется).
                                  ЗЫ: ну люблю я убунту... люблю. :)
                                  0
                                  >как для самого распространённого дистрибутива

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

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

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

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

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

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

                                                    sudo ln -s ../mods-available/python.load mod_python.load
                                                      –1
                                                      А можно просто sudo a2enmod python
                                                      0
                                                      предварительно переходим в cd /etc/apache2/mods-enabled
                                                        0
                                                        Описывал у себя установку связки trac + git + nginx. Может кому-то также будет полезной.

                                                        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                        Самое читаемое