Бортовой журнал Ктулху

Установка Trac на Linux

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.

screenshot 2017 09 11 17 53 08 1

Проверим командой Python -V

screenshot 2017 09 11 17 56 08 1

3. Ставим setuptools версии >= 0.6

4. Ставим pip

sudo apt-get install python-pip setuptools

Это установщики пакетов Python. Они выполняют одну и ту же функцию, но на всякий случай пусть будут оба.

По ссылке статья по установке этих пакетов для разных дистрибутивов. Также, на всякий случай прикрепляю эту статью как вложение.

5. Ставим Genshi. Это библиотека для вывода содержимого в формате HTML.

pip install Genshi

screenshot 2017 09 11 18 10 50 1

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

Если в процессе установки возникает ошибка:

screenshot 2017 09 12 12 33 29 1

Во-первых, ставим пакет 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/

screenshot 2017 09 26 13 06 08 1

Запустился.

Теперь нужно добавить виртуальный хост с траком в sites-available.

<VirtualHost *:8000>
 DocumentRoot "/var/trac"
 ServerName trac.server
 <Location />
 # настройка окружения для Trac
 SetHandler mod_python
 PythonInterpreter main_interpreter
 PythonHandler trac.web.modpython_frontend
 PythonOption TracEnv /var/trac/trac.project
 PythonOption TracUriRoot /
# ограничение доступа к Trac
 AuthType Basic
 AuthName "Trac Server"
 AuthUserFile /etc/apache2/trac.passwd
 Require valid-user
 </Location>
</VirtualHost>

Затем:

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

screenshot 2017 09 26 13 21 58 1

Вложения:
ФайлОписаниеРазмер файла:
Скачать этот файл (Installing pip_setuptools_wheel with Linux Package Managers — Python Packaging U)Installing pip_setuptools_wheel with Linux Package Managers — Python Packaging UУстановка pip, setuptools99 Кб