Instalacja servera Subversion w systemie Linux CentOS

Kontrola wersji, Linux
URL:
Technologia:

1. Instalujemy wymagane pakiety poprzez yum:

$ sudo yum install httpd subversion mod_dav_svn

oczywiście jeżeli serwer apache jest już zainstalowany to należy wpisać:

$ sudo yum install subversion mod_dav_svn

2. Następnie tworzymy katalog w którym będą przechowywane repozytoria svn:

$ sudo mkdir -p /var/lib/subversion/repositories

3. Nadajemy dostęp do repozytorium użytkownikowi apache

$ sudo chown -R apache:apache /var/lib/subversion

4. Jeżeli często tworzysz i usuwasz repozytoria przyda ci się poniższy skrypt. Skrypt należy zapisać np. w /bin/make-repos i nadać mu uprawnienia „do uruchomienia”

#!/bin/sh

if [ $# -ne 1 ]; then
    echo 1>&2 Usage: $0 repository_name
    exit 127
fi

echo "Sudoing...";
sudo svnadmin create --fs-type fsfs /var/lib/subversion/repositories/${1}
sudo chown -R apache:apache /var/lib/subversion/repositories/${1}
sudo chmod -R g+w /var/lib/subversion/repositories/${1}
sudo chmod g+s /var/lib/subversion/repositories/${1}/db

5. Następnie należy utworzyć plik konfiguracyjny /etc/httpd/conf.d/svn.conf z następującą zawartością :

LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule dav_svn_module modules/mod_authz_svn.so

<Location /svn>
  DAV svn
  SVNParentPath /var/lib/subversion/repositories
  SVNListParentPath on
  SVNPathAuthz off
  AuthType Basic
  AuthName "subversion@tokyo"
  AuthUserFile /var/lib/subversion/passwords
  Require valid-user</Location>

Tak się składa, że u mnie powyższe 2 moduły są ładowane z głównego pliku konfiguracyjnego httpd.conf więc w takim przypadku należy powyższe komendy zaremować poprzez dodanie znaku # przez LoadModule

6. Teraz tworzymy plik z hasłem dostępu do repozytorium:e

$ sudo htpasswd -c /var/lib/subversion/passwords new-user-name

gdzie new-user-name jest nazwą użytkownika, który będzie miał dostęp administracyjny do repozytorium. Hasło dla użytkownika podaje się w czasie działania polecenia.

7. Teraz restartujemy serwer Apache

$ sudo /etc/init.d/httpd restart

lub

$ service httpd restart

Po utworzeniu kilku repozytoriów za pomocą skryptu make-repos można je przeglądać pod adresem http://your.server.domain/svn.

Oryginalny artykuł znajduje się pod adresem: http://recurser.com/articles/2008/03/27/subversion-server-on-centos/