Skip to content

Доступ к SVN через протокол WebDAV (HTTP)

Как устанавливать и настраивать svn мы рассмотрели в прошлом посте Установка и настройка SVN

Установка SVN

Для доступа к SVN через протокол WebDAV нужно установить subversion и и библиотеки libapache2-svn:

sudo apt-get install subversion libapache2-svn

Создаем хранилище:

svnadmin create /home/svn/repos/repo1

Доступ через протокол WebDAV

Для того чтобы обращаться к SVN через http нам необходимо настроить сервер apache2. Откройте на редактирование конфигурационный файл сервера apache2 /etc/apache2/sites-available/default:

sudo gedit /etc/apache2/sites-available/default
Info
В каталоге /etc/apache2/sites-available/ могут быть файлы файлы 000-default.conf и default-ssl.conf. В этом случае возьмите файл 000-default.conf скопируйте его и переменуйте в default.conf

/etc/apache2/sites-available/default

<VirtualHost *:80>
	ServerAdmin webmaster@localhost
	DocumentRoot /var/www/svn

	<Directory />
		Options FollowSymLinks
		AllowOverride None
	</Directory>
	<Directory /var/www/>
		Options Indexes FollowSymLinks MultiViews
		AllowOverride None
		Order allow,deny
		allow from all
	</Directory>

	ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
	<Directory "/usr/lib/cgi-bin">
		AllowOverride None
		Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
		Order allow,deny
		Allow from all
	</Directory>

	ErrorLog ${APACHE_LOG_DIR}/error.log

	# Possible values include: debug, info, notice, warn, error, crit,
	# alert, emerg.
	LogLevel warn

	CustomLog ${APACHE_LOG_DIR}/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

    <Location /svn>
        DAV svn
        SVNPath /home/svn/repos/repo1
        SVNListParentPath on
        AuthType Basic
        AuthName "Authorization Realm"
        AuthUserFile /etc/subversion/passwd
        Require valid-user
    </Location> 

</VirtualHost>

Создадим файл /etc/subversion/passwd который будет содержать информацию по аутентификации пользователя. Этот пользователь не обязан быть одним из пользователей в системе. Путь к этому файлу должен совпадать со строкой 47 файла etc/apache2/sites-available/default:

sudo htpasswd -c /etc/subversion/passwd user_name
New password: 
Re-type new password: 
Adding password for user user_name

Здесь опция -c заменяет старый файл, поэтому если будите добавлять дополнительных юзерей, то опустите опцию -c.
Если утилита htpasswd не находится, то ее можно доустановить:

sudo apt-get install apache2-utils

Перезапускаем apache:

sudo service apache2 restart
* Restarting web server apache2                                                apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
 ... waiting .apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
                                                                         [ OK ]

Проверяем:

svn info http://localhost/svn
Путь: 'svn'
URL: http://localhost/svn
Корень репозитория: http://localhost/svn
UUID репозитория: 2f9ed5af-6f1b-41d7-9e77-79c0102dce8e
Редакция: 0
Вид узла: каталог
Редакция последнего изменения: 0
Дата последнего изменения: 2014-06-30 21:26:17 +0300 (Пнд, 30 Июн 2014)

Линки

Настройка SubVersion
Subversion

Поделиться в социальных сетях

Опубликовать в Google Plus
Опубликовать в LiveJournal
Опубликовать в Мой Мир
Опубликовать в Одноклассники
Опубликовать в Яндекс

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *