Postawiłem sobie wczoraj na domowym serwerze repozytorium Subversion. Przydatna zabawka, biorąc pod uwagę, że zdarza mi się pisać domowy kod także w pracy, kiedy nie mam akurat nic innego do roboty. Okazało się także, że postawienie repo na Ubuntu jest bardzo, ale to bardzo proste.
Jeśli ma się już zainstalowanego Apache2, trzeba doinstalować jedynie dwie paczki: subversion i libapache2-svn.
sudo apt-get install libapache2-svn subversion
Zapewni nam to obsługę SVN przez Apache'a - obsługa WebDAV jest w Ubuntowym Apache 2 wbudowana, więc nie trzeba się nią przejmować. Trzeba jeszcze tylko skonfigurować trochę apache'a:
sudo nano /etc/apache2/mods-enabled/dav_svn.conf
Plik ten trzeba wyedytować - powinien wyglądać mniej więcej tak, przy czym SVNPath należy ustawić na jakieś własne - ja mam np. /storage/svn.
DAV svn
SVNPath /home/svn
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user
Na koniec jeszcze pozostaje tylko stworzyć repozytorium Subversion w podanym katalogu oraz przydzielić serwerowi WWW prawa zapisu do tego miejsca:
sudo svnadmin create /home/svn
sudo chown -R www-data /home/svn
Musi to być ta sama ścieżka co w SVNPath - inaczej dostaniemy błąd "Could not open the requested SVN filesystem".Trzeba też stworzyć hasło dostępu do svna (za user podstawić oczywiście odpowiedni login):
sudo htpasswd2 -c /etc/apache2/dav_svn.passwd user
Jeszcze na koniec restart Apache:
sudo /etc/init.d/apache2 restart
I mamy gotowe, działające repozytorium. Możemy je sobie obejrzeć wchodząc przez przeglądarkę WWW na adres http://twoj.serwer.pl/svn. Pozostaje tylko z niego korzystać, ale to temat na zupełnie inny artykuł - tutaj polecę jedynie lekturę książki Version Control with Subversion, gdzie wszystko jest przystępnie opisane (jak przystało na książkę wydawnictwa O'Reilly).

