WebDavSVN
« Konkurs - głosowanie | MegiTeam sponsorem PyCon PL i PHPCon PL »
2 Sierpień 2011
Kilkanaście dni temu jeden z klientów (pozdrawiam :)) przypomniał mi, że obiecaliśmy opisać konfigurację WebDavSVNa na blogu. Jeżeli chcecie korzystać z SVNa przez HTTP to
Idea wystawienia repo przez WWW jest taka: uruchamiamy samodzielnie Apache z mod_dav_svn i wystawiamy go na standardowych portach HTTP korzystając z naszego Nginxa jako proxy.
Pierwszy krok to dodanie proxy w naszym panelu administracyjnym. Panel przydzieli port na którym trzeba będzie uruchomić Apache. Na potrzeby tego opisu przyjmijmy, że Twoje ip to 1.2.3.4 a port to 10000. Po skonfigurowaniu proxy i dodaniu do niego domeny (konieczne) logujemy się przez ssh na konto.
Drugi krok to stworzenie na koncie struktury katalogów dla Apache, utworzenie plików konfiguracyjnych i uruchomienie Apache.
wget http://www.megiteam.pl/site_media/apache-svn.tgz tar zxvf apache-svn.tgz sed -ie 's/LOGIN/megi/g' apache/conf/httpd-svn.conf sed -ie 's/PORT/10000/g' apache/conf/httpd-svn.conf sed -ie 's/IP/1.2.3.4/g' apache/conf/httpd-svn.conf
Po kolei:
- 1. ściągnij archiwum z plikami konfiguracyjnymi Apache z naszej strony
- 2. rozpakuj je (rozpakują się do katalogu apache)
- 3. zamień wszystkie wystąpienia słów LOGIN, IP, PORT na swoje dane
Przygotowana przykładowa konfiguracja zakłada, że repozytoria masz w katalogu repo w katalogu domowym i będziesz je udostępniał pod adresem http://svn.LOGIN.megiteam.pl/ Nic nie stoi na przeszkodzie byś pozmieniał ścieżki i domeny. Konfguracja jest w ~/apache/conf/httpd-svn.conf
Apache uruchom poleceniem
/usr/local/apache2/bin/httpd -d /home/LOGIN/www/apache -f conf/httpd-svn.conf
Ostatnim krokiem będzie skonfigurowanie użytkowników, którzy będą mieli dostęp do repo. Przykładowa konfiguracja zakłada, że pliki dav_svn.authz i dav_svn.passwd będą w katalogu ~/apache/conf. Co powinno się w nich znaleźć?
W pliku dav_svn.passwd umieść użytkownika i hasło w formacie
użytkownik:hasło
Hasło wygenerujesz poleceniem
htpasswd -n megi
W pliku dav_svn.authz powinna znaleźć się konfiguracja dostępu do repozytorium dla użytkowników
[testowe-repo:/] megi = rw * =
Zamiast "testowe-repo" wpisz nazwę repozytorium, które masz w katalogu ~/repo i chcesz udostępnić przez HTTP; nadaj odpowiednie prawa dla użytkowników (megi ma dostęp odczyt/zapis, reszta użytkowników nie ma dostępu)
Po zalogowaniu pod adresem http://svn.LOGIN.megiteam.pl/testowe-repo zobaczysz swoje repozytorium.
Autor: Magda Zarych