Ostateczny przewodnik po konfigurowaniu Apache Subversion SVN i Tortoisesvn do kontroli wersji
- 4793
- 329
- Juliusz Janicki
Jeśli Twoja praca wymaga obsługi dokumentów, stron internetowych i innych typów plików, które są regularnie aktualizowane, możesz użyć mechanizmu kontroli wersji, jeśli już tego nie robisz.
Pozwala to między innymi (i grupę potencjalnych współpracowników) na śledzenie zmian wprowadzonych w danym pliku, i umożliwia cofanie się do poprzedniej wersji, jeśli problem zostanie napotkany lub gdy aktualizacja nie opracowała oczekiwanego wyniku wyniku.
W ekosystemie wolnego oprogramowania nazywany jest najczęściej używanym systemem kontroli wersji Subversion Apache (Lub Svn w skrócie). Z pomocą mod_dav_svn (Moduł Apache do subwersji), możesz uzyskać dostęp do repozytorium subwersji za pomocą HTTP i serwera WWW.
To powiedziawszy, zwinąćmy rękawy i zainstaluj te narzędzia na RHEL / CENTOS 7, Fedora 22-24, Debian 8/7 I Ubuntu 16.04-15.04 serwer. Do naszych testów użyjemy Centos 7 serwer z IP 192.168.0.100.
Po stronie klienta (a System Windows 7 maszyna), będziemy instalować i używać Tortoisesvn (który jest oparty na wywrotce Apache) jako interfejs do SVN.
Nasze środowisko testowe
serwer - Centos 7 Adres IP - 192.168.0.100 Klient - System Windows 7
Krok 1 - Instalowanie i konfigurowanie SVN w Linux
Jak właśnie wspomnieliśmy, będziemy polegać na Apache, aby uzyskać dostęp do repozytorium SVN za pomocą interfejsu internetowego. Jeśli jeszcze nie jest zainstalowany, dodaj go do listy pakietów, jak pokazano poniżej:
------------------ Na Centos / Rhel / Fedora ------------------ # Yum Update && Yum Instaluj mod_dav_svn subversion httpd -y ------------------ Na Debian / Ubuntu ------------------ # apt-get aktualizacja && apt-get instaluj libapache2-svn subversion apache2 -y
Podczas instalacji na Centos 7, Plik konfiguracyjny Apache dla SVN zostanie utworzony jako /etc/httpd/conf.moduły.D/10-podwersja.conf. Otwórz plik i dodaj następujący blok konfiguracji:
/etc/httpd/conf.moduły.D/10-podwersja.confDav Svn SvnParentPath/WebSrv/Svn Authtype Podstawowa nazwa autoryzacji „Welcome to svn” AuthuserFile/etc/httpd/subversion-aututh wymagają ważnego użytkownikaSkonfiguruj moduł Apache SVN
Notatka: NA Debian / Ubuntu Musisz dodać poniżej linie /etc/apache2/mods-obserwowane/dav_svn.conf
plik.
DAV SVN SVNPAREntPath/WebSrv/SVN Authtype Podstawowa nazwa autoryzacji „Welcome to Svn” AuthuserFile/etc/apache2/subversion-Auth wymagają ważnego użytkownika
NA Debian / Ubuntu, Musisz włączyć DAV_SVN Apache moduł:
# A2enmod Dav_Svn
Kilka wyjaśnień:
- Svnparentpath Dyrektywa wskazuje katalog, w którym nasze repozytoria zostaną później utworzone. Jeśli ten katalog nie istnieje (co najprawdopodobniej ma miejsce), utwórz go z:
# mkdir -p /websrv /svn
Należy zauważyć, że ten katalog nie może być w środku ani nie nakłada się DocumentRoot wirtualnego hosta obsługiwanego obecnie przez Apache. To jest showstopper!
- Authuserfile Dyrektywa wskazuje plik, w którym poświadczenia prawidłowego użytkownika będą przechowywane. Jeśli chcesz pozwolić wszystkim uzyskać dostęp do SVN bez uwierzytelnienia, usuń cztery ostatnie linie w bloku lokalizacji. W takim przypadku pomiń Krok 2 i udaj się bezpośrednio do Krok 3.
- Chociaż możesz uruchomić uruchomienie Apache w celu zastosowania tych ostatnich zmian, nie rób tego jeszcze, ponieważ nadal musimy utworzyć plik uwierzytelniający z prawidłowymi użytkownikami dla SVN i samym repozytorium.
Krok 2 - Dodaj dozwolone użytkowników dostępu do SVN
Będziemy teraz używać htpasswd Aby utworzyć hasło dla kont, które będą mogły uzyskać dostęp do SVN. Tylko dla pierwszego użytkownika będziemy potrzebować -C
opcja.
Dozwolone konta i hasła zakręcone BCRYPT (-B
) będzie przechowywany w /etc/httpd/subversion-auth W parach kluczowych. Zauważ, że według dzisiejszych standardów domyślne szyfrowanie MD5 lub SHA używane przez HtPassWd są uważane za niepewne.
------------------ Na Centos / Rhel / Fedora ------------------ # htpasswd -cb/etc/httpd/supversion -auth tecMint ------------------ Na Debian / Ubuntu ------------------ # htpasswd -cb/etc/apache2/subversion -auth tecMint
Nie zapomnij ustawić właściwej własności i uprawnień do pliku uwierzytelniania:
------------------ Na Centos / Rhel / Fedora ------------------ # CHGRP apache/etc/httpd/subversion-auth # chmod 660/etc/httpd/subversion-Auth ------------------ Na Debian / Ubuntu ------------------ # CHGRP www-data/etc/apache2/subversion-auth # chmod 660/etc/apache2/supersversion -Auth
Krok 3 - Dodaj bezpieczeństwo i utwórz repozytorium SVN
Ponieważ będziesz dostęp do SVN za pośrednictwem interfejsu internetowego, musisz zezwolić Http (i opcjonalnie Https) Ruch w zaporze.
------------------ Na Centos / Rhel / Fedora ------------------ # firewall-cmd --add-service = http --Permanent # firewall-cmd --add-service = https --Permanent # firewall-cmd--reload
Przeładowując konfigurację zapory z za pomocą --przeładować
, Stałe ustawienia są natychmiast wprowadzone w życie.
Utwórz początkowe repozytorium SVN o nazwie Tecmint:
# svnadmin Utwórz/WEBRV/SVN/TECMINT
Zmień właściciela i właściciela grupy na Apache rekurencyjnie:
------------------ Na Centos / Rhel / Fedora ------------------ # chown -r apache: Apache/WebSrv/svn/tecMint ------------------ Na Debian / Ubuntu ------------------ # chown -r www-data: www-data/websrv/svn/tecmint
Na koniec będziesz musiał zmienić kontekst bezpieczeństwa /WEBRV/SVN/TECMINT
(Pamiętaj, że będziesz musiał powtórzyć ten krok, jeśli zdecydujesz się później utworzyć inne repozytoria):
------------------ Na Centos / Rhel / Fedora ------------------ # chcon -r -t httpd_sys_content_t/websrv/svn/tecMint/ # chcon -r -t httpd_sys_rw_content_t/websrv/svn/tecMint/
Notatka: Ostatnie dwa polecenia mogą nie mieć zastosowania, jeśli instalujesz SVN na VPS z wyłączoną Selinux.
Sugerowane przeczytanie: Dowiedz się, jak wyłączyć Selinux tymczasowo lub na stałe w Linux
Uruchom ponownie Apache i sprawdź, czy repozytorium jest dostępne.
------------------ Na Centos / Rhel / Fedora ------------------ # Systemctl restart httpd ------------------ Na Debian / Ubuntu ------------------ # Systemctl restart apache2
Następnie uruchom przeglądarkę internetową i wskazać http: // 192.168.0.100/svn/tecmint
. Po wprowadzeniu poświadczeń dla prawidłowego użytkownika, który utworzyliśmy Krok 1, Wyjście powinno być podobne do:
W tym momencie nie dodaliśmy żadnego kodu do naszego repozytorium. Ale zrobimy to za minutę.
Krok 4 - Zainstaluj Tortoisesvn w kliencie Windows 7
Jak wspomnialiśmy we wstępie, Tortoisesvn to interfejs przyjazny dla użytkownika do subwersji Apache. Jest to bezpłatne oprogramowanie licencjonowane w ramach GPL i można je pobrać z https: // tortoisesvn.netto/pobieranie.html.
Wybierz architekturę (32 Lub 64-bit) To odpowiada Twojemu komputerze i instaluj program przed kontynuowaniem.
Krok 5 - Konfiguracja repozytorium SVN na komputerze klienckim
W tym kroku użyjemy folderu o nazwie Aplikacja internetowa
wewnątrz Dokumenty. Ten folder zawiera plik HTML i dwa foldery o nazwie Scripts and Styles z JavaScript i plik CSS (scenariusz.JS I Style.CSS, odpowiednio) że chcemy dodać do kontroli wersji.
Kliknij prawym przyciskiem myszy Aplikacja internetowa i wybierz SVN Checkout. To utworzy lokalną kopię zdalnego repozytorium (które jest obecnie puste) i zainicjuje folder do kontroli wersji:
Skonfiguruj SVN w katalogu klientaW adresie URL repozytorium wpisz http: // 192.168.0.100/svn/tecmint
i upewnij się, że lokalny katalog kasy pozostaje taki sam, a następnie kliknij OK:
Wprowadź nazwę użytkownika i hasło (patrz Krok 2) i kliknij OK:
Wprowadź poświadczenia użytkownika SVNZostaniesz zapytany, czy chcesz zamknąć się w nieustannym katalogu. Potwierdzać Aby kontynuować kasę. Po zakończeniu zielony znak wyboru pojawi się obok nazwy folderu:
Sprawdź katalog SVNKrok 6 - Zastąp zmiany i wdrażaj pliki w zdalnym repozytorium SVN
Kliknij prawym przyciskiem myszy Aplikacja internetowa
Ponownie i wybierz Popełniać tym razem. Następnie napisz opisowy komentarz, aby później zidentyfikować ten zatwierdzenie i sprawdź pliki i foldery, które chcesz wdrożyć w repozytorium. Na koniec kliknij OK:
W zależności od wielkości plików zatwierdzenie nie powinno trwać dłużej niż minutę. Po zakończeniu zobaczysz, że teraz jesteśmy Wersja 1, który pasuje do wersji i plików wymienionych w interfejsie internetowym:
Potwierdź rewizję repozytorium SVNJeśli jest kilka osób pracujących nad tymi samymi plikami, będziesz chciał Aktualizacja Twoja lokalna kopia, aby uzyskać najnowszą wersję do pracy. Możesz to zrobić, klikając prawym przyciskiem myszy Aplikacja internetowa
i wybieranie Aktualizacja Z menu kontekstowego.
Gratulacje! Pomyślnie skonfigurowałeś serwer SVN i popełniłeś / zaktualizowałeś prosty projekt pod kontrolą wersji.
Streszczenie
W tym artykule wyjaśniliśmy, jak zainstalować i skonfigurować Subversion Apache Serwer repozytorium na a Centos 7 serwer i jak popełniać zmiany w tym repozytorium za pomocą Tortoisesvn.
Pamiętaj, że jest o wiele więcej Svn I Tortoisesvn niż to, co możemy odpowiednio omówić (szczególnie jak wrócić do poprzednich poprawek), abyś mógł odwołać się do oficjalnych dokumentów (SVN i Tortoisesvn), aby uzyskać więcej informacji i konfiguracji.
Jak zawsze, nie wahaj się daj nam znać, jeśli masz jakieś pytania! Użyj poniższego formularza komentarza, aby skontaktować się z nami w dowolnym momencie.
- « DSTAT - zaradne narzędzie do monitorowania wydajności serwera Linux w czasie rzeczywistym
- 10 najlepszych narzędzi do sztucznej inteligencji typu open source dla Linux »