Jak dodać obsługę SVN do XAMPPa
XAMPP jest bardzo wygodnym zestawem typu Apache+PHP+MySQL. Moim zdaniem jego przewaga nad podobnymi rozwiązaniami wynika z dopracowanego projektu oraz możliwości instalacji przez rozpakowanie archiwum do katalogu ‘/opt’. Wykonywanie kopii zapasowych oraz przenoszenie całego serwisu z serwera na serwer jest również bardzo proste, wystarczy bowiem zatrzymać usługę, zrobić kopię (np. za pomocą tar) i przenieść na inny komputer.
XAMPP nie jest jednak pozbawiony drobnych wad. Jedną z nich jest brak wbudowanej obsługi systemu kontroli wersji SVN. Taka właściwość jest bardzo przydatna jeśli chcemy utworzyć np. repozytorium dokumentów za pomocą WebDAV (odpowiedni moduł jest standardowo wbudowany w XAMPP).
Instalację SVN zaczynamy od instalacji odpowiednich pakietów z repozytorium:
apt-get install subversion libapache2-svn
Następnie przygotowywujemy katalog dla repozytorium SVN np. ‘/var/svn’:
mkdir /var/svn/
Zakładamy pzrykładowy projekt o nazwie test:
svnadmin create --fs-type fsfs /var/svn/test
Potem dodajemy użytkownika (np. marcin) z uprawnieniami do naszego projektu. Dwa pierwsze wiersze kodu poniżej wykonujemy jednorazowo:
rm -f /var/svn/test/conf/passwd touch /var/svn/test/conf/passwd htpasswd /var/svn/test/conf/passwd marcin
Tworzymy grupę subversion i ustawiamy uprawnienia dla katalogu ‘/svn’:
groupadd subversion chmod -R 777 /var/svn/*
Żeby XAMPP mógł obsłużyć SVN konieczne są dwie biblioteki mod_authz_svn.so oraz mod_dav_svn.so. Możemy je np. skopiować z katalogu Apache, pod warunkiem, że zainstalowaliśmy wcześniej pakiet apache2:
cp /usr/lib/apache2/modules/mod_authz_svn.so /opt/lampp/modules/ cp /usr/lib/apache2/modules/mod_dav_svn.so /opt/lampp/modules/
Teraz możemy wyedytować plik ‘/opt/lampp/etc/httpd.conf”, żeby najpierw pod linią zawierającą wpis LoadModule ssl_module modules/mod_ssl.so umieścić fragment:
LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so
a następnie na końcu pliku dodać:
# Subversion repositories <Location /test> DAV svn SVNPath /var/svn/test AuthType Basic AuthName “Subversion Repository” AuthUserFile /var/svn/test/conf/passwd Require valid-user SSLRequireSSL </Location>
Po zatrzymaniu i ponownym uruchomieniu XAMPPa, możemy rozpocząć testowanie opisanego rozwiązania.
MG
Tagi: Linux, SVN, XAMPP