Установка Trac на Ubuntu Server 8.10
Trac — инструмент управления проектами и отслеживания ошибок в программном обеспечении.
Установка python
sudo apt-get install python-setuptools
Установка trac
sudo apt-get install trac
Создание проекта test (папка test создастся автоматически, если она есть, то должна быть пуста)
sudo trac-admin /home/trac/test initenv
Для использования MySQL вместо sqlite установить:
sudo apt-get install python-mysqldb
И в диалоге указать строку подключения mysql://username:userpass@localhost/dbname
Добавление в trac пользователя admin с привилегиями TRAC_ADMIN
sudo trac-admin /home/trac/test/ permission add admin TRAC_ADMIN
Это лишь настройка привилегий пользователей, а не аутентификация
Просмотр пользователей и прав
sudo trac-admin /home/trac/test/ permission list
Настройка собственного сервера tracd
Запуск без аутентификации (один проект trac)
sudo tracd -s --port 8000 /home/trac/test &> /dev/null&
Запуск без аутентификации (с выбором проектов из корневой директории)
sudo tracd --port 8000 -e /home/trac/ &> /dev/null&
Запуск без аутентификации (с выбором проектов из разных директорий)
sudo tracd --port 8000 /home/trac/test /home/trac/test2 &> /dev/null&
Настройка аутентификации - basic-auth. Необходимо создать файл c пользователями
sudo htpasswd -cm /home/trac/test/.htpasswd admin sudo htpasswd -m /home/trac/test/.htpasswd user1
Запуск с поддержкой аутентификации (один проект trac)
sudo tracd -s -p 8000 --basic-auth=test,/home/trac/test/.htpasswd,/home/trac/test /home/trac/test >&/dev/null &
Запуск с поддержкой аутентификации (с выбором проектов из корневой директории и общим файлом пользователей)
sudo tracd -p 8000 --basic-auth=*,/home/trac/test/.htpasswd, -e /home/trac/ &>/dev/null&
<blockquote>
tracd -p 8080 –basic-auth=environmentname,/fullpath/environmentname/.htpasswd,/fullpath/environmentname /fullpath/environmentname
- base_project_dir is the base directory of the project; note: this doesn't refer to the project name, and it is case-sensitive even for windows environments
- password_file_path path of the password file
- realm realm
- project_path path of the project
</blockquote>
Настройка доступа через apache
Установка модуля
sudo apt-get install libapache2-mod-python
Настройка VirtualHost для Trac проектов
nano /etc/apache2/sites-available/trac
trac
<VirtualHost *:80> DocumentRoot /home/trac/ ServerName trac.lan <Location /> SetHandler mod_python PythonInterpreter main_interpreter PythonHandler trac.web.modpython_frontend PythonOption TracEnvParentDir /home/trac PythonOption TracUriRoot / </Location> # Настройка аутентификации <LocationMatch /[[:alnum:]]+/login> AuthType Basic AuthName "Enter you login and password" AuthUserFile /home/trac/.htpasswd Require valid-user </LocationMatch> </VirtualHost>
Зайдя по адресу trac.lan откроется страница со списком доступных треков из директории /home/trac
В во многих примерах используют
... <Location /projects> ... PythonOption TracUriRoot /projects ...При такой записи адрес будет вот так trac.lan/projects
DocumentRoot вроде можно и не указывать, но на всякий укажем.
Для одиночного проекта
trac
<VirtualHost *:80> DocumentRoot /home/trac ServerName trac.lan <Location /> SetHandler mod_python PythonInterpreter main_interpreter PythonHandler trac.web.modpython_frontend PythonOption TracEnv /home/trac/trac1 PythonOption TracUriRoot / </Location> # Настройка аутентификации <LocationMatch /login> AuthType Basic AuthName "Enter you login and password" AuthUserFile /home/trac/trac1/.htpasswd Require valid-user </LocationMatch> </VirtualHost>
Не забудьте о правах доступа для апача в директорию /home/trac
Про аутентификацию написано выше в описании tracd
Настройки trac.ini
conf/trac.ini
# Настройка logo картинки [header_logo] alt = Это моя картинка # Высота, (-1 : исходный размер) height = -1 width = -1 link = / # Адрес картинки (реальное местоположение /home/trac/test/htdocs/logo.gif) src = site/logo.gif [project] admin = descr = Описание проекта # Текст в нижнем углу странички footer = Копирайт 2009 <br /><a href="http://www..ru/">посетите наш сайт</a> icon = common/trac.ico name = Название проекта url =
Обсуждение
Спасибо за статью!
Мне Redmine больше понравился, как альтернатива Trac очень даже