Trac — средство управления проектами и отслеживания ошибок в программном обеспечении. Дальше опишу процесс установки на Linux-сервер.
Подготовка сервера
1. Устанавливаем Debian/Ubuntu на сервер.
2. Python, version ≥ 2.6 and < 3.0 (note that we dropped the support for Python 2.5 in this release). Смотрим какая версия Python установлена. Например, я взял дистрибутив Ubuntu Server 16.04 LTS, там версия 2.7.
Проверим командой Python -V
3. Ставим setuptools версии >= 0.6
4. Ставим pip
sudo apt-get install python-pip setuptools
Это установщики пакетов Python. Они выполняют одну и ту же функцию, но на всякий случай пусть будут оба.
По ссылке статья по установке этих пакетов для разных дистрибутивов. Также, на всякий случай прикрепляю эту статью как вложение.
5. Ставим Genshi. Это библиотека для вывода содержимого в формате HTML.
pip install Genshi
6. Ставим SVN.
Создаем папку для хранение репозиториев
sudo mkdir /var/svn-repos/
Создаем репозиторий с именем project
sudo svnadmin create /var/svn-repos/project
Настраиваем права доступа
sudo mcedit /var/svn-repos/project/conf/svnserve.conf
Раскомментируем строки
auth-access = write
password-db = passwd
Внимание! Перед параметрами ( auth-access, password-db и др) не должно быть пробелов.
Добавляем пользователя. Открываем
sudo mcedit /var/svn-repos/myrepo/conf/passwd
И дописываем
user = user_password
Минимальная конфигурация готова.
Стартуем сервер
sudo svnserve -d --listen-host 192.168.0.51 -r /var/svn-repos
d — в режиме демона.
r — путь к корню репозиториев.
-listen-host — ip адрес сокета, на котором сервер будет слушать входящие подключения.
Осталось добавить его в «автозагрузку».
Как вариант добавить запись в крон
crontab -e
Дописываем в файл
@reboot svnserve -d --listen-host XXX.XXX.XXX.XXX -r /var/svn-repos
7. Ставим Apache c mod_python, при необходимости MySQL
apt-get install mysql apache2 libapache2-mod-python
Внимание! Должен быть установлен только один из модулей для Python, wsgi или mod_python.
Установка Trac
Есть несколько способов установки приложений для Python. Я знаю два из них: через pip и easy_install.
Ставим Trac и необходимые приложения:
pip install trac mysql-python
Если в процессе установки возникает ошибка:
Во-первых, ставим пакет libmysqlclient16-dev:
sudo apt-get install libmysqlclient16-dev
Это решит проблемы с MySQL.
Во-вторых, нужно исправить права на кэш и папку python-eggs, дать им права 777.
Вроде надо поставить переходник: https://trac.edgewall.org/wiki/TracSubversion
apt-get install python-subversion
Проверка
Запустить Trac можно такой командой:
sudo -u www-data tracd --port 8000 /var/trac/project/
Запустился.
Теперь нужно добавить виртуальный хост с траком в sites-available.
Затем:
a2ensite trac.conf
Линк будет примерно: localhost:8000
Добавление пользователя
Trac использует систему разграничений прав, поэтому необходимо добавить, как минимум, администратора:
sudo trac-admin /var/trac/trac.project/ permission add admin TRAC_ADMIN
Далее, необходимо добавить пользователей, у которых есть доступ к Trac:
# Создается файл пользователей и добавляется пользователь
$ sudo htpasswd -c /etc/apache2/trac.passwd admin