Ostateczny przewodnik po konfigurowaniu Apache Subversion SVN i Tortoisesvn do kontroli wersji

Ostateczny przewodnik po konfigurowaniu Apache Subversion SVN i Tortoisesvn do kontroli wersji

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.conf
 Dav Svn SvnParentPath/WebSrv/Svn Authtype Podstawowa nazwa autoryzacji „Welcome to svn” AuthuserFile/etc/httpd/subversion-aututh wymagają ważnego użytkownika  
Skonfiguruj moduł Apache SVN

Notatka: NA Debian / Ubuntu Musisz dodać poniżej linie /etc/apache2/mods-obserwowane/dav_svn.conf plik.

/etc/apache2/mods-obserwowane/dav_svn.conf
 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ń:

  1. 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!

  2. 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.
  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:

Uzyskaj dostęp do repozytorium SVN za pośrednictwem przeglądarki

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 klienta

W 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:

Skonfiguruj repozytorium SVN na kliencie

Wprowadź nazwę użytkownika i hasło (patrz Krok 2) i kliknij OK:

Wprowadź poświadczenia użytkownika SVN

Zostaniesz 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 SVN

Krok 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:

Wdrażaj pliki w zdalnym repozytorium SVN

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 SVN

Jeś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.