Настройка серверов · 3 min read · Jan 20, 2026

Настройка Subversion и Trac как виртуальных хостов на сервере Ubuntu

Настройка Subversion и Trac как виртуальных хостов на сервере Ubuntu

Этот гид описывает процесс, с помощью которого можно настроить систему управления версиями Subversion и заставить ее работать в тандеме с Trac, менеджером проектов для разработки программного обеспечения, на сервере, работающем под управлением Ubuntu (или, возможно, Debian). Это представлено вам компанией Openject Consulting.

Настройка Subversion

Для получения подробной информации об этом, включая альтернативные настройки, ознакомьтесь с Управлением версиями с помощью Subversion.

  1. Установите необходимые пакеты.sudo aptitude install enscript libapache2-mod-python python-docutils trac db4.3-util libapache2-svn subversion-tools
  2. Создайте каталог виртуального хоста для SVN. Мы будем использовать /var/local/svn вместо /var/www, чтобы экземпляры Subversion не загромождали каталог корневых веб-директорий.sudo mkdir -p /var/local/svn/svn.example.com
  3. Создайте группу разработчиков и добавьте в нее веб-пользователя.sudo addgroup example; sudo adduser www-data example
  4. Добавьте пользователей в группу разработчиков. Это лица, которым нужен доступ к репозиторию.sudo adduser username1 example
    sudo adduser username2 example
    sudo adduser username3 example
  5. Установите правильные разрешения.sudo chmod 2770 /var/local/svn/svn.example.com
  6. Настройте репозиторий.sudo svnadmin create /var/local/svn/svn.example.com
  7. Очистите текущий файл паролей. По умолчанию он предназначен для протокола svnserve, но мы будем использовать HTTPS (или просто HTTP). Мы добавим пользователей в этот файл позже в процессе.sudo rm /var/local/svn/svn.example.com/conf/passwd
    sudo touch /var/local/svn/svn.example.com/conf/passwd
  8. Разрешите группе запись в репозиторий.sudo chmod -R g+w /var/local/svn/svn.example.com
  9. Установите правильное владение файлами.sudo chown -R www-data:example /var/local/svn/svn.example.com
  10. Установите разрешения доступа к репозиторию. Информацию о том, как это сделать, можно найти в разделе Авторизация на основе пути в Управлении версиями с помощью Subversion.sudo vi /var/local/svn/svn.example.com/conf/authz
  11. Создайте каталог для файлов журналов.sudo mkdir /var/log/apache2/svn.example.com
  12. Добавьте сайт в список ротации журналов.sudo vi /etc/logrotate.d/apache2
  13. Настройте виртуальный хост…sudo vi /etc/apache2/sites-available/svn.example.com…с следующими данными. Если вам не важен SSL, вы можете игнорировать параметры SSL и запустить это на порту 80. ServerName svn.example.com DAV svn AuthType Basic AuthName "svn.example.com" AuthUserFile /var/local/svn/svn.example.com/conf/passwd AuthzSVNAccessFile /var/local/svn/svn.example.com/conf/authz SVNPath /var/local/svn/svn.example.com Require valid-user CustomLog /var/log/apache2/svn.example.com/access.log combined ErrorLog /var/log/apache2/svn.example.com/error.log SSLEngine on SSLCertificateFile /etc/apache2/ssl/apache.pem # Добавьте это, как только у вас будет настоящий (не самоподписанный) сертификат. # SSLCertificateKeyFile /etc/apache2/ssl/server.key ServerName svn.example.com Redirect / https://svn.example.com/ Ссылка:/etc/apache2/mods-enabled/dav_svn.conf
  14. Включите виртуальный хост subversion.sudo a2ensite svn.example.com
  15. Создайте комбинации пользователь/пароль.htpasswd /var/local/svn/svn.example.com/conf/passwd username
  16. Перезапустите веб-сервер.sudo /etc/init.d/apache2 restart
  17. Если вы собираетесь, чтобы пользователи работали локально, настройте svnwrap. (Смотрите страницу man для получения подробной информации.)sudo ln -s /usr/bin/svnwrap /usr/local/bin/svn

Настройка Trac

  1. Создайте веб-каталог. Мы будем использовать /var/local/trac вместо /var/www, чтобы не загромождать каталог корневых веб-директорий.sudo mkdir -p /var/local/trac/trac.example.com
  2. Установите правильные разрешения.sudo chmod 2770 /var/local/trac/trac.example.com
  3. Создайте экземпляр Trac.sudo trac-admin /var/local/trac/trac.example.com initenv
  4. Установите правильное владение на веб-каталог.sudo chown -R www-data:example /var/local/trac/trac.example.com
  5. Разрешите группе запись в репозиторий.sudo chmod -R g+w /var/local/trac/trac.example.com
  6. Настройте его.sudo vi /var/local/trac/trac.example.com/conf/trac.ini
  7. Создайте каталог для файлов журналов.sudo mkdir /var/log/apache2/trac.example.com
  8. Добавьте сайт в список ротации журналов.sudo vi /etc/logrotate.d/apache2
  9. Настройте виртуальный хост…sudo vi /etc/apache2/sites-available/trac.example.com…с следующими данными. Если вам не важен SSL, вы можете пропустить параметры SSL и запустить это на порту 80. # Конфигурация Trac ServerName trac.example.com Redirect / https://trac.example.com/ ServerName trac.example.com DocumentRoot /var/local/trac/trac.example.com/ Alias /trac/ /usr/share/trac/htdocs Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all SetHandler mod_python PythonHandler trac.web.modpython_frontend PythonInterpreter main_interpreter PythonOption TracEnv /var/local/trac/trac.example.com/ PythonOption TracUriRoot / AuthType Basic AuthName "trac.example.com" # Используйте файл паролей SVN. AuthUserFile /var/local/svn/svn.example.com/conf/passwd Require valid-user CustomLog /var/log/apache2/trac.example.com/access.log combined ErrorLog /var/log/apache2/trac.example.com/error.log SSLEngine on SSLCertificateFile /etc/apache2/ssl/apache.pem # Добавьте это, как только у вас будет настоящий (не самоподписанный) сертификат. # SSLCertificateKeyFile /etc/apache2/ssl/server.key Ссылка: http://trac.edgewall.org/wiki/TracOnUbuntu
  10. Включите виртуальный хост Trac.sudo a2ensite trac.example.com
  11. Настройте разрешения Trac. Как только вы окажетесь в консоли администрирования, выполните команду “help permission” для получения информации о том, как это сделать. Это важно, потому что некоторые настройки по умолчанию являются разрешительными, когда они должны быть ограничительными. Также смотрите страницу вики TracPermissions, которая идет с вашей новой установкой.trac-admin /var/local/trac/trac.example.com
  12. Перезапустите веб-сервер.sudo /etc/init.d/apache2 restart

Последнее, что нужно сделать, это добавить поддомены “svn” и “trac” в конфигурацию DNS для вашего домена. Как только это будет сделано, Subversion и Trac будут интегрированы в вашу серверную среду и будут доступны из Интернета.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.