Как установить и настроить SVN (subversion)

Сегодня речь пойдет о том, как установить и настроить у себя () на , многие знакомы с данной технологией и активно ей пользуются, т.к. она позволяет отслеживать все изменения в коде, который разрабатывает группа разработчиков.
Надеемся Вы уже подключили репозитарии, описанные в первой статье, поэтому перейдем далее.
Первым делом Вам необходимо поставить и настроить , надеемся это уже сделано, если нет, подробнее как это сделать речь пойдет в следующих статьях.
И так приступим:
Первым делом нам необходимо установить сам subversion и модуль к Apache, это делается следующим образом:
install mod_dav_svn subversion

При установке он тянет за собой много зависимых пакетов, все устанавливается из репозитария Base
После того как все пакеты будут установлены — займемся настройкой svn под себя:
Первым делом настраиваем модуль апатча и соответствующий конфиг:

 

/etc//conf.d/subversion.conf
Чтобы модуль подгружался только при работе с svn расскомментируем строки:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
При этом в главном файле httpd.conf если эти строки есть, то их необходимо закоментить. 
Так же необходимо отредактировать следующие строки

  <IfModule dav_svn_module>
  <IfModule authz_svn_module>
  < /svn/>
      DAV svn
      SVNParentPath //svn/project
      SVNListParentPath on
      SSLRequireSSL
      #Satisfy Any
      AuthType Basic
      AuthName «oHost repo»
      AuthUserFile /etc/svn-passwd
      AuthzSVNAccessFile /etc/svn-acess
      Require valid-
  </Location>
  </IfModule>
  </IfModule>
Подробнее о параметрах:
<Location /svn/>  - путь по которому будет открываться наш svn в браузере
SVNParentPath /home/svn/project — папка где располагается наш репозитарий
AuthUserFile /etc/svn-passwd —  файл где будут храниться пользователи и пароли
AuthzSVNAccessFile /etc/svn-acess - файл где будут храниться права доступа к пользователям
Не забываем так же создать 2 файла:
touch /etc/svn-passwd
touch /etc/svn-acess
После этого пере перезапускаем apache:
service httpd restart

Если возникнут какие-то ошибки при перезапуске — проверяем наш конфиг.
После перезапуска apache по адресу : http://domain/svn/ — у нас появится окно авторизации, далее создадим пользователей и дадим им доступ к нашему репозитарию:
htpasswd -cm /etc/svn-passwd polzovatel
Re-type new password:
Adding password for user polzovatel

В качестве polzovatel — указываем имя Вашего пользователя.
Далее даем нашему созданному пользователю доступ к репозитарию, для этого редактируем файл /etc/svn-acess и помещаем в него строки:
[/]
polzovatel = rw
Т.е. мы дали нашему пользователю — доступ на чтение и запись.
Теперь нам необходимо создать сам репозитарий, для этого делаем следующее:
cd /home/
mkdir svn
cd svn
chown -R apache.apache project
service httpd restart

Далее необходимо создать проект в нашем репозитарии, с файлами проекта мы и будем работать. Если у Вас уже есть папка проекта — то указываем ее, если нет, то можно создать ее в любом удобном месте и использовать. Файлы которые мы создаем далее — можно не создавать, если у Вас уже есть какие-то файлы в папке с проектом. И так:

cd /tmp
mkdir testproj
cd testproj
mkdir configurations options main
#файлы ниже можно забить чем угодно или оставить пустыми
nano configurations/testconf1.cfg
nano options/testopts1.cfg
nano main/mainfile1.cfg
# далее подключаем созданную папку к нашему репозитарию, если используете свою — то сразу выполняем эту комманду
svn import /tmp/testproj/ file:///home/svn/project -m «Initial repository layout for test»
Adding /tmp/testproj/main
Adding /tmp/testproj/main/mainfile1.cfg
Adding /tmp/testproj/configurations
Adding /tmp/testproj/configurations/testconf1.cfg
Adding /tmp/testproj/options
Adding /tmp/testproj/options/testopts1.cfg
 Далее проверяем работу нашего репозитария:
cd /tmp
svn co http://domain/svn/
Authentication realm: Subversion repos
Password for 'polzovatel':
A testproj/main
A testproj/main/mainfile1.cfg
A testproj/configurations
A testproj/configurations/testconf1.cfg
A testproj/options
A testproj/options/testopts1.cfg
Checked out revision 1.
Так же при открытии страницы http://domain/svn/ в браузере и вводе имени пользователя и пароля — мы должны увидеть наши созданные папки и файлы. Если Вы назначали на папку со своим проектом — то должны отобразиться файлы проекта.
Если все нормально и никаких ошибок не возникло — на этом установка завершена!
Далее укажем некоторые команды для работы с репозитарием:
Выкатывание с сервера (создание локальной копии): 
svn checkout svn://domain/svn/
Актуализация (обновление локальной копии): 
svn update svn://domain/svn/
Подтверждение изменений (обновление серверной копии): 
svn add program.tgz
svn commit svn://domain/svn/ -m «added new verson of program»
Восстановление после сбоя БД 
svnadmin recover /home/svn/project # непосредственно восстановление
chown -R apache:apache/home/svn/project # восстанавливаем права
 
 
Так же интересно:

Вебмастер самоучка летом не собирается отдыхать. Он собирается активно изучать веб-программирование в течении 3 месяцев лета.

  • отличное сообщение

Запись навигация

Top