SVN или Subversion — это бесплатная система управления версиями с открытым исходным кодом. SVN разработала компания CollabNet, Inc., как замену устаревшей CVS.
Subversion позволяет управлять файлами и каталогами, а так же сделанными в них изменениями во времени. Это позволяет восстановить более ранние версии данных и изучить историю всех изменений. Доступ к репозиторию SVN может осуществляться как локально, так и посредством сети интернет.
Настраивать subversion будем для связки с апачем. Сначала установим:
Код
$ sudo apt-get install subversion libapache2-svn
А теперь настроим его для одного проекта. У меня был проект про мебель в процессе настройки, так что называться в примере он будет mebel.
Сначала создадим папку, где будет все храниться:
Код
$ sudo mkdir -p /svn/mebel
Далее создадим там репозиторий:
Код
$ sudo svnadmin create /svn/mebel
Создадим файл с паролем, чтобы никакой злодей не добрался до наших репозиториев:
Код
$ htpasswd -c /svn/htpasswd username
и далее нужно будет ввести желаемый пароль пользователю username и его подтверждение.
Установим владельца этой папки, чтобы апач мог свободно там вытворять все, что угодно:
Код
$ sudo chown -R www-data /svn
естественно, если апач запускается у вас под другим пользователем, то надо www-data поменять на ваш вариант.
Далее нужно в конфиг апача (у меня оно хранится в /etc/apache2/sites-available/default) записать следующее:
Код
<Location /svn/mebel>
DAV svn
SVNPath /svn/mebel
AuthType Basic
AuthName "Mebel repo"
AuthUserFile /svn/htpasswd
Require valid-user
</Location>
DAV svn
SVNPath /svn/mebel
AuthType Basic
AuthName "Mebel repo"
AuthUserFile /svn/htpasswd
Require valid-user
</Location>
Ну и, наконец, перезапустим Apache:
Код
$ sudo service apache2 restart
Готово!