Получив готовую чистую систему, я приступил к установке душки трака и няшки свн.
До этого, работая в десктоп убунте, я не слишком задавался вопросами управления пакетами, ставил все что нужно, а это нужное подтягивало дефолтные депенденси и все были счастливы.
Однако на серваке такой подход недопустим и пришлось проработать то, что я в итоге ставлю. В этом плане очень удобной оказалась программа aptitude. Пару хоткеев для нее:
Таким образом одним махом я поставил apache2, trac, subversion, graphviz. В качестве базы данных я использовал sqlite3.
Настройка трака не сложна, однако наличие многочисленных и не полных гайдов сбивает.
Я взял за основу этот гайд. Приведу кратко здесь то, что использовал если вдруг вики по ссылке выпилят.
1. Создал папку для Subversion и в ней папку для проекта:
8. Добавляем права админу трака:
добавляем в /srv/trac/diplopod/conf/trac.ini :
Теперь когда коммит включает какое-либо изменение для тикета #123 мы в сообщении коммита пишем "Refs #123 - такие то изменения" и в тикете будет добавлена ссылка на этот коммит. Если же коммит фиксает тикет и мы хотим сразу тикет закрыть, то в сообщении коммита пишем "Fixes #123 - такие-то изменения".
10. Остается добавить поддержку свн репозитория через проткоол http. Для этого в файле /etc/apache2/mods-available/dav_svn.conf добавляем:
11. Перезагружаемся
Ну и кажется всё. После этого все должно заработать.
Графвиз-плагин включается через ГУИ админки, пока не пробовал его.
До этого, работая в десктоп убунте, я не слишком задавался вопросами управления пакетами, ставил все что нужно, а это нужное подтягивало дефолтные депенденси и все были счастливы.
Однако на серваке такой подход недопустим и пришлось проработать то, что я в итоге ставлю. В этом плане очень удобной оказалась программа aptitude. Пару хоткеев для нее:
- / - поиск пакетов
- + - установить пакет
- - - удалить пакет
- Enter - на пакете: описание пакета вместе с депенденси; на свернутой группе: свернуть/развернуть
- F7 - вернуться на предыдущий экран
- Ctrl+-> - релиз ноты выделенного пакета
- g - применить все изменения
Таким образом одним махом я поставил apache2, trac, subversion, graphviz. В качестве базы данных я использовал sqlite3.
Настройка трака не сложна, однако наличие многочисленных и не полных гайдов сбивает.
Я взял за основу этот гайд. Приведу кратко здесь то, что использовал если вдруг вики по ссылке выпилят.
1. Создал папку для Subversion и в ней папку для проекта:
sudo mkdir /srv/svn2. Создал репозиторий в папке проекта и передал права юзеру www-data (юзер создался автоматически при установке апача):
sudo mkdir /srv/svn/diplopod
sudo svnadmin create /srv/svn/diplopod3. Создал папку для Trac и в ней папку для проекта:
sudo chown -R www-data /srv/svn/diplopod
sudo mkdir /srv/trac4. Создал инстанс нового трак-проекта и передал права:
sudo mkdir /srv/trac/diplopod
sudo trac-admin /srv/trac/diplopod initenv5. Для следующего шага необходимо убедиться, что установлен пакет libapache2-mod-python (да-да, это тот самый пакет. который все не рекомендуют использовать по причине скоро его депрекейшна, однако настройка трака через WSGI показалась мне непозволительным по времени досугом). После этого надо убедиться, что есть симлинк /etc/apache2/mods-enabled/python.load на ../mods-available/python.load. В файле конфигурации апача /etc/apache2/httpd.conf добавляем:
#здесь зададут пару вопросов, на вопрос о пути к бд ответить по умолчанию
#а путь к свн вводить полный: /srv/svn/diplopod
sudo chown -R www-data:www-data /srv/trac/diplopod
6. Замечаем добавление локали ru_RU.UTF-8 в первом блоке. Я добавил ее, чтобы даты отображались в траке в привычном для нас формате (по-умолчанию там MM/DD/YY что как бы совсем не удобно). На данный момент это единственный способ изменить формат даты - через локаль. Для функционирования локали нужно проверить наличие пакета locales, установить если отсутствует. Далее добавляем ру-локаль:#set up Trac handling
SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonOption TracEnvParentDir /srv/trac
PythonOption TracUriRoot /projects
PythonOption TracLocale "ru_RU.UTF-8"
AuthType Basic
AuthName "Trac"
AuthUserFile /srv/trac/.htpasswd
Require valid-user
sudo locale-gen ru_RU.UTF-87. Далее генерим файл с паролями для трак-логина:
sudo dpkg-reconfigure locales
sudo htpasswd -c .htpasswd adminЗдесь флаг "-c" устанавливается только при создании первого юзера. В дальнейшем вызывать эту же команду но без этого флага.
8. Добавляем права админу трака:
sudo trac-admin /srv/trac/diplopod permission add admin TRAC_ADMIN9. Для возможности влиять на тикеты через свн коммиты
...смотрим сюда. Зачеркнутое верно лишь для версии трака 0.12.[components]
tracopt.ticket.commit_updater.* = enabled
Теперь когда коммит включает какое-либо изменение для тикета #123 мы в сообщении коммита пишем "Refs #123 - такие то изменения" и в тикете будет добавлена ссылка на этот коммит. Если же коммит фиксает тикет и мы хотим сразу тикет закрыть, то в сообщении коммита пишем "Fixes #123 - такие-то изменения".
10. Остается добавить поддержку свн репозитория через проткоол http. Для этого в файле /etc/apache2/mods-available/dav_svn.conf добавляем:
Здесь используется файл с паролями /etc/subversion/passwd. Он генерится следующим образом:
DAV svn
SVNParentPath /srv/svn
SVNListParentPath On
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/subversion/passwd
Require valid-user
sudo htpasswd -c /etc/subversion/passwd svn_userОтличие от шага 7 в том, что здесь мы создаем юзера для Subversion, а там создавали для трака. Как и там флаг "-c" здесь только для первого юзера.
11. Перезагружаемся
sudo /etc/init.d/apache2 restart
Ну и кажется всё. После этого все должно заработать.
Графвиз-плагин включается через ГУИ админки, пока не пробовал его.