Subversion + Apache + WebSVN + Debian/Ubuntu
28 Ноября, 2010Просмотров: 11513
Когда идет колективная разработка какого-либо проекта приходится прибегать к разного рода извращениям для совместного доступа к коду. Например FTP. FTP это удобно, но жто не покажет что произошло, какие файлы были изменены и как. Поэтому люди пользуются системами контроля версий.
Одним из таких является Subversion.
Установка: Subversion + Apache + Debian/Ubuntu
Итак. Устанавливаем Subversion:
$ sudo apt-get install subversion libapache2-svn
Создадим папку для хранения репозиториев.
$ sudo mkdir /home/svn
$ cd /home/svn
$ sudo mkdir myproject
Создадим сам репозиторий:
$ sudo svnadmin create /home/svn/myproject
И установим права на директорию:
$ cd /home/svn
$ sudo chown -R www-data:subversion myproject
$ sudo chmod -R g+rws myproject
Изменим /etc/apache2/mods-available/dav_svn.conf:
<Location /svn>
DAV svn
SVNParentPath /home/svn/
AuthType Basic
AuthName "My Repository"
AuthUserFile /home/svn/passwd
Require valid-user
</Location>
Создадим администратора (вместо admin можете вписать что угодно):
$ sudo htpasswd -c /home/svn/passwd admin
Теперь можем создать аккаунты друзьям (по сути то же самое, но без параметра -c :
$ sudo htpasswd /home/svn/passwd user
Активируем модули:
$ sudo a2enmod dav dav_fs dav_svn
Пперезапустим Apache:
$ sudo /etc/init.d/apache2 force-reload
Репозиторий должен работать.
Допустим, Вы создавали сервер по адресу 192.168.0.1. тогда у Вас будет доступ до своего проэкта по адресу 192.168.0.1/svn/myproject.Браузер спросит у Вас логин и пароль. После этого Вы увидите содержание своего репозитория.
Установка и настройка WebSvn
Установка WebSvn :
$ sudo aptitude install websvn enscript
Пакет enscript необходим для подстветки синтаксиса.
В процессе установки будут заданы несколько вопросов, в частности:
— для какого типа сервера настраивается WebSvn — необходимо просто нажать enter
— родительская директория для subversion репозитариев — необходимо задать: "/var/svn-repos". Таким образом, все репозитории, которые появятся в этой директории, будут доступны для просмотра через WebSvn.
— путь к конкретному репозитарию — необходимо оставить пустым, если нет необходимости ограничивать выбор только конкретными репозиториями. В противном случае, необходимо указать полные пути к репозиториям.
Результат настройки будет сохранен в файле/etc/websvn/svn_deb_conf.inc. Сразу после установки, все репозитории будут доступны по адресу: localhost/websvn/.
Настройка WebSvn: ограничение доступна
Однако полный доступ к репозитариям — это не всегда хорошо. В случае, если репозитарий не публичный, необходимо ограничить доступ к WebSvn только для конкретных пользователей. Для этого необходимо отредактировать файл /etc/apache2/conf.d/websvn:
$ sudo nano /etc/apache2/conf.d/websvn
Результируйющие файл конфигурации должен иметь приблизительно следующий вид:
Alias /websvn /usr/share/websvn
<Directory /usr/share/websvn>
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user
DirectoryIndex index.php
Options FollowSymLinks
<IfModule mod_php4.c>
php_flag magic_quotes_gpc Off
php_flag track_vars On
</IfModule>
</Directory>
На этом завершим краткий обзор.
Спасибо за материалы к статье источникам:
http://hobbinsblog.blogspot.com/2008/02/ubuntu-server-subversion.html
https://help.ubuntu.com/community/Subversion
В рубрике: Софт-обзор » Новости
Теги: Apache Debian Subversion SVN Ubuntu WebSVN установка
Вы можете следить за комментариями к этой записи поRSS
Оставьте комментарий