Чтобы SVN работал с Apache под Ubuntu, вам необходимо:
- установите нужные пакеты
- включить правильные модули apache
- предоставить рабочий файл конфигурации для apache
- создание хранилища
Я установил SVN через apache под различными версиями Ubuntu и Debian, но никогда не устанавливал новейшую Ubuntu. Я надеюсь, что моя конфигурация поможет вам.
Установите соответствующие пакеты
Убедитесь, что у вас установлены следующие пакеты 'libapache2-svn' и 'subversion'.
Включить соответствующие модули Apache
Перейдите в папку «/ etc / apache2 / mods-enabled» и убедитесь, что файлы «dav_svn.conf» и «dav_svn.load» находятся там. Если они отсутствуют, просто сделайте:
sudo a2enmod dav_svn
Предоставьте рабочий файл конфигурации для apache
Здесь начинается самое интересное. Я решил использовать виртуальный хост для своего собственного репозитория, даже если он не виден внешнему миру. Предположим, что вы решили сделать свой репозиторий доступным в http://svn.localhost/repos/. Сначала добавьте следующую запись в '/ etc / hosts'
127.0.0.1 svn.localhost
Затем создайте файл конфигурации для apache и сохраните его в '/ etc / apache2 / sites-enabled /':
<VirtualHost *>
ServerName svn.localhost
ErrorLog /var/log/apache2/svn-error.log
CustomLog /var/log/apache2/svn-access.log combined
<Location /repos>
# Enable the repository
DAV svn
# Path to your repository
SVNPath /home/subversion
# The following allows for basic http authentication.
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
# Allow anonymous read, but make committers authenticate themselves
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
# Have the network shares autocomit their modifications
SVNAutoversioning on
# Needed because Microsoft Web Folders defaults to a timeout of 120, a higher number will work better
DAVMinTimeout 600
#
# Broken WebDAV for Windows XP
#
BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully
BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
BrowserMatch "Microsoft-WebDAV-MiniRedir/5.1.2600" redirect-carefully
BrowserMatch "^WebDrive" redirect-carefully
BrowserMatch "^WebDAVFS" redirect-carefully
<IfModule mod_headers.c>
Header add MS-Author-Via "DAV"
</IfModule>
<IfModule mod_encoding.c>
EncodingEngine on
NormalizeUsername on
</IfModule>
</Location>
</VirtualHost>
Создание хранилища
Создайте свой репозиторий с помощью:
sudo mkdir -p / home / subversion /
sudo svnadmin create / home / subversion /
sudo chown -R www-data: www-data / home / subversion /
Если вы решили разместить свой репозиторий в другой папке, обязательно обновите настройку apache / home / subversion / в файле конфигурации.
Обновите файл паролей /etc/apache2/dav_svn.passwd с помощью команды htpasswd.