Установка Trac на Ubuntu 18.04 LTS
TL;DR
Trac — лёгкая веб-система отслеживания задач и багов с поддержкой интеграции с Git и Subversion. В этой инструкции показана пошаговая установка и настройка Trac на Ubuntu 18.04 с Apache, создание проекта, пользователей и базовых правил безопасности.
Определение: Trac — система управления проектами и багтрекер, которая использует wiki-разметку и интегрируется с системами управления версиями (VCS).
Требования
- Сервер с Ubuntu 18.04 LTS (Bionic Beaver).
- Непользователь root с правами sudo.
- Базовые навыки работы с терминалом и редактором (nano/vi).
Установка Apache
Сначала установите веб-сервер Apache:
sudo apt-get install apache2 -yЗапустите сервис и включите автозапуск:
sudo systemctl start apache2
sudo systemctl enable apache2Установка и настройка Trac
По умолчанию Trac доступен в репозитории Ubuntu. Установите Trac и модуль WSGI:
sudo apt-get install trac libapache2-mod-wsgi -yВключите модуль аутентификации auth_digest:
sudo a2enmod auth_digestСоздайте корневую директорию для Trac и веб-директорию, а затем отдайте права Apache:
sudo mkdir /var/lib/trac
sudo mkdir -p /var/www/html/trac
sudo chown www-data:www-data /var/www/html/tracСоздайте проект Trac и инициализируйте среду проекта (в примере имя проекта — test):
sudo trac-admin /var/lib/trac/test initenv test sqlite:db/trac.dbОжидаемый вывод:
Project environment for 'test' created.
You may now configure the environment by editing the file:
/var/lib/trac/test/conf/trac.ini
If you'd like to take this new project environment for a test drive,
try running the Trac standalone web server `tracd`:
tracd --port 8000 /var/lib/trac/test
Then point your browser to http://localhost:8000/test.
There you can also browse the documentation for your installed
version of Trac, including information on further setup (such as
deploying Trac to a real web server).
The latest documentation can also always be found on the project
website:
http://trac.edgewall.org/
Congratulations!Разверните проект в директорию веб‑сервера и выставьте права:
sudo trac-admin /var/lib/trac/test deploy /var/www/html/trac/test
sudo chown -R www-data:www-data /var/lib/trac/test
sudo chown -R www-data:www-data /var/www/html/trac/testСоздайте пользователей (админ и обычный) для доступа через Digest-аутентификацию:
sudo htdigest -c /var/lib/trac/test/.htdigest "test" admin
sudo htdigest /var/lib/trac/test/.htdigest "test" hiroom2Настройка Apache для Trac
Создайте виртуальный хост для Trac:
sudo nano /etc/apache2/sites-available/trac.confДобавьте в файл следующие строки. Обратите внимание на путь к trac.wsgi и файл .htdigest:
WSGIScriptAlias /trac/test /var/www/html/trac/test/cgi-bin/trac.wsgi
AuthType Digest
AuthName "test"
AuthUserFile /var/lib/trac/test/.htdigest
Require valid-user
Сохраните файл, затем включите сайт и перезапустите Apache:
sudo a2ensite trac.conf
sudo systemctl restart apache2Доступ к веб‑интерфейсу Trac
Откройте браузер и перейдите по адресу: http://your-domain-name/trac/test. Введите учётные данные admin.

После успешного входа вы увидите панель проекта Trac:

Частые проблемы и их решения
- Ошибка 403 после деплоя: проверьте права для www-data и ограничения SELinux/AppArmor.
- Неправильная аутентификация: проверьте файл .htdigest и совпадение AuthName.
- Ошибки WSGI: убедитесь, что libapache2-mod-wsgi установлен и путь к trac.wsgi корректен.
- 500 Internal Server Error: смотрите логи Apache (/var/log/apache2/error.log) и логи Trac в /var/lib/trac/
/log.
Если Trac не запускается локально, попробуйте запустить tracd для отладки:
tracd --port 8000 /var/lib/trac/testБезопасность и рекомендации
- Храните .htdigest вне общедоступных директорий и выставляйте права 640.
- Для продакшна используйте HTTPS (например, Let’s Encrypt) — никогда не передавайте пароли по HTTP.
- Регулярно обновляйте систему: sudo apt-get update && sudo apt-get upgrade -y.
- Бэкапьте /var/lib/trac и базу данных. Для SQLite достаточно копии файла базы; для PostgreSQL/MySQL используйте дампы.
- Рассмотрите перенос на PostgreSQL или MySQL при росте проекта.
Альтернативные подходы
- Использовать встроенный сервер tracd для локальной разработки и отладки.
- Развернуть Trac в контейнере Docker для изоляции и удобной миграции.
- Поставить обратный прокси nginx + uWSGI или FastCGI при высоких нагрузках.
Короткая методология установки
- Обновить систему: sudo apt-get update && sudo apt-get upgrade -y
- Установить Apache и Trac.
- Инициализировать проект: trac-admin initenv.
- Развернуть в /var/www/html и настроить права (www-data).
- Создать .htdigest и настроить виртуальный хост Apache.
- Включить сайт и перезапустить Apache.
- Протестировать доступ по браузеру и подключить HTTPS.
Роль‑ориентированные чеклисты
Администратор:
- Проверил версии ОС и пакетов.
- Настроил права и владельца (www-data).
- Настроил резервное копирование и план восстановления.
Разработчик:
- Подключил репозиторий (Git/Subversion) к Trac через trac.ini.
- Протестировал wiki-разметку в сообщениях коммитов.
- Убедился, что ссылки между changesets, файлами и тикетами работают.
Оператор:
- Настроил мониторинг Apache и доступность 80/443.
- Настроил ротацию логов и мониторинг свободного места.
- Проверил автоматические обновления безопасности.
Ментальная модель
Думайте о Trac как о тонкой прослойке, которая связывает репозиторий, тикеты и вики. Trac не заменяет CI/CD, но упрощает связь кода и задач.
Совместимость и миграция
- По умолчанию Trac использует SQLite. Для больших команд и данных переключайтесь на PostgreSQL или MySQL.
- Перед миграцией сделайте полный бэкап каталога проекта и базы.
- При переносе репозитория проверьте настройки путей в trac.ini и права доступа.
Критерии приёмки
- Trac доступен по указанному URL и показывает страницу входа.
- Аутентификация успешна с учётной записью admin.
- Проект отображает изменения из подключённого VCS и страницы wiki доступны.
Итоги
Trac установлен и доступен через Apache. Для продакшна рекомендуем настроить HTTPS, использовать СУБД уровня сервера (PostgreSQL/MySQL) и организовать регулярное резервное копирование и обновления.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента