Настройка серверов · 3 min read · Jan 20, 2026
Настройка Subversion и Trac как виртуальных хостов на сервере Ubuntu
Настройка Subversion и Trac как виртуальных хостов на сервере Ubuntu
Этот гид описывает процесс, с помощью которого можно настроить систему управления версиями Subversion и заставить ее работать в тандеме с Trac, менеджером проектов для разработки программного обеспечения, на сервере, работающем под управлением Ubuntu (или, возможно, Debian). Это представлено вам компанией Openject Consulting.
Настройка Subversion
Для получения подробной информации об этом, включая альтернативные настройки, ознакомьтесь с Управлением версиями с помощью Subversion.
- Установите необходимые пакеты.sudo aptitude install enscript libapache2-mod-python python-docutils trac db4.3-util libapache2-svn subversion-tools
- Создайте каталог виртуального хоста для SVN. Мы будем использовать /var/local/svn вместо /var/www, чтобы экземпляры Subversion не загромождали каталог корневых веб-директорий.sudo mkdir -p /var/local/svn/svn.example.com
- Создайте группу разработчиков и добавьте в нее веб-пользователя.sudo addgroup example; sudo adduser www-data example
- Добавьте пользователей в группу разработчиков. Это лица, которым нужен доступ к репозиторию.sudo adduser username1 example
sudo adduser username2 example
sudo adduser username3 example - Установите правильные разрешения.sudo chmod 2770 /var/local/svn/svn.example.com
- Настройте репозиторий.sudo svnadmin create /var/local/svn/svn.example.com
- Очистите текущий файл паролей. По умолчанию он предназначен для протокола svnserve, но мы будем использовать HTTPS (или просто HTTP). Мы добавим пользователей в этот файл позже в процессе.sudo rm /var/local/svn/svn.example.com/conf/passwd
sudo touch /var/local/svn/svn.example.com/conf/passwd - Разрешите группе запись в репозиторий.sudo chmod -R g+w /var/local/svn/svn.example.com
- Установите правильное владение файлами.sudo chown -R www-data:example /var/local/svn/svn.example.com
- Установите разрешения доступа к репозиторию. Информацию о том, как это сделать, можно найти в разделе Авторизация на основе пути в Управлении версиями с помощью Subversion.sudo vi /var/local/svn/svn.example.com/conf/authz
- Создайте каталог для файлов журналов.sudo mkdir /var/log/apache2/svn.example.com
- Добавьте сайт в список ротации журналов.sudo vi /etc/logrotate.d/apache2
- Настройте виртуальный хост…sudo vi /etc/apache2/sites-available/svn.example.com…с следующими данными. Если вам не важен SSL, вы можете игнорировать параметры SSL и запустить это на порту 80.
Ссылка:/etc/apache2/mods-enabled/dav_svn.confServerName 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/ - Включите виртуальный хост subversion.sudo a2ensite svn.example.com
- Создайте комбинации пользователь/пароль.htpasswd /var/local/svn/svn.example.com/conf/passwd username
- Перезапустите веб-сервер.sudo /etc/init.d/apache2 restart
- Если вы собираетесь, чтобы пользователи работали локально, настройте svnwrap. (Смотрите страницу man для получения подробной информации.)sudo ln -s /usr/bin/svnwrap /usr/local/bin/svn
Настройка Trac
- Создайте веб-каталог. Мы будем использовать /var/local/trac вместо /var/www, чтобы не загромождать каталог корневых веб-директорий.sudo mkdir -p /var/local/trac/trac.example.com
- Установите правильные разрешения.sudo chmod 2770 /var/local/trac/trac.example.com
- Создайте экземпляр Trac.sudo trac-admin /var/local/trac/trac.example.com initenv
- Установите правильное владение на веб-каталог.sudo chown -R www-data:example /var/local/trac/trac.example.com
- Разрешите группе запись в репозиторий.sudo chmod -R g+w /var/local/trac/trac.example.com
- Настройте его.sudo vi /var/local/trac/trac.example.com/conf/trac.ini
- Создайте каталог для файлов журналов.sudo mkdir /var/log/apache2/trac.example.com
- Добавьте сайт в список ротации журналов.sudo vi /etc/logrotate.d/apache2
- Настройте виртуальный хост…sudo vi /etc/apache2/sites-available/trac.example.com…с следующими данными. Если вам не важен SSL, вы можете пропустить параметры SSL и запустить это на порту 80.
# Конфигурация TracСсылка: http://trac.edgewall.org/wiki/TracOnUbuntuServerName 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 - Включите виртуальный хост Trac.sudo a2ensite trac.example.com
- Настройте разрешения Trac. Как только вы окажетесь в консоли администрирования, выполните команду “help permission” для получения информации о том, как это сделать. Это важно, потому что некоторые настройки по умолчанию являются разрешительными, когда они должны быть ограничительными. Также смотрите страницу вики TracPermissions, которая идет с вашей новой установкой.trac-admin /var/local/trac/trac.example.com
- Перезапустите веб-сервер.sudo /etc/init.d/apache2 restart
Последнее, что нужно сделать, это добавить поддомены “svn” и “trac” в конфигурацию DNS для вашего домена. Как только это будет сделано, Subversion и Trac будут интегрированы в вашу серверную среду и будут доступны из Интернета.
Get new posts in your inbox
No spam. Unsubscribe anytime.