pl  |  en

WebDavSVN

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 zapraszam na MegiForge. Ponieważ dajemy możliwość samodzielnego uruchamiania dodatkowego oprogramowania, nie musicie ograniczać się tylko do tego, co my jawnie wspieramy. Jeśli ktoś bardzo, bardzo chce korzystać na MegiTeam z SVNa po HTTP, poniżej znajdzie opis jak skonfigurować Apache. Uprzedzają ewentualne pytania: na razie nie mamy w planach dodania w panelu konfiguracji SVNa, ale planujemy ściślejszą integrację MegiTeam z MegiForge.

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

  • magdazarych

    W komentarzu na FB pojawiła się informacja jak na szybko uruchomić servlety javowe
    http://www.facebook.com/MegiTeam/posts/239484129416283?code=633314932

  • http://www.facebook.com/people/Damian-Gądziak/100001073954471 Damian Gądziak

    Przydatny projekt, tylko nie ładuje mi się aktualnie screencast-box na stronie MegiFroge ;> nie wiem jak u Was

    • magdazarych

      U nas działa :) A przynajmniej u mnie. Może to adblock?