Subversion + Apache + WebSVN + Debian/Ubuntu

28 Ноября, 2010 Dunadan KSMПросмотров: 10843
Когда идет колективная разработка какого-либо проекта приходится прибегать к разного рода извращениям для совместного доступа к коду. Например 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
twitter.com facebook.com vkontakte.ru odnoklassniki.ru mail.ru ya.ru rutvit.ru myspace.com technorati.com digg.com friendfeed.com pikabu.ru blogger.com liveinternet.ru livejournal.ru memori.ru google.com bobrdobr.ru mister-wong.ru yahoo.com yandex.ru del.icio.us

В рубрике: Софт-обзор » Новости

Теги:

Вы можете следить за комментариями к этой записи поRSS

Оставьте комментарий

аноним

совет Используйте нормальные имена. Ваш комментарий будет опубликован после проверки.

комментатор / стать им

как?Укажите свой действующий email и пароль. При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные включая адрес сайта, ник, описание, контакты и т.д.

grin LOL cheese smile wink smirk rolleyes confused surprised big surprise tongue laugh tongue rolleye tongue wink raspberry blank stare long face ohh grrr gulp oh oh downer red face sick shut eye hmmm mad angry zipper kiss shock cool smile cool smirk cool grin cool hmm cool mad cool cheese vampire snake excaim question

(обязательно)