Če vaše delo zahteva rokovanje z dokumenti, spletnimi stranmi in drugimi vrstami datotek, ki se redno posodabljajo, boste morda želeli uporabiti mehanizem za nadzor različic, če tega še ne počnete.
To med drugim omogoča (in tudi skupini potencialnih sodelavcev) sledenje spremembam v določeni datoteki, in vam omogoča, da se vrnete na prejšnjo različico, če pride do težave ali če posodobitev ni prinesla pričakovanega rezultat.
V ekosistemu brezplačne programske opreme se imenuje najbolj razširjen sistem za nadzor različic Apache Subversion (oz SVN na kratko). S pomočjo mod_dav_svn (Apachejev modul za Subversion) lahko dostopate do skladišča Subversion s pomočjo HTTP in spletnega strežnika.
Kljub temu zavihajmo rokave in namestimo ta orodja na a RHEL / CentOS 7, Fedora 22-24, Debian 8/7 in Ubuntu 16.04-15.04 strežnika. Za naše teste bomo uporabili a CentOS 7 strežnik z IP 192.168.0.100.
Na strani odjemalca (a Windows 7 stroj), namestili in uporabili TortoiseSVN (ki temelji na Apache Subversion) kot vmesnik za SVN.
Strežnik - CentOS 7IP naslov - 192.168.0.100Odjemalec - Windows 7
Kot smo pravkar omenili, se bomo za dostop do skladišča SVN s spletnim vmesnikom zanašali na Apache. Če še ni nameščen, ga dodajte na seznam paketov, kot je prikazano spodaj:
V sistemu CentOS / RHEL / Fedora # yum update && yum install mod_dav_svn subverzija httpd -y V Debian / Ubuntu # apt-get update && apt-get install libapache2-svn subversion apache2 -y
Med namestitvijo na CentOS 7, bo konfiguracijska datoteka Apache za SVN ustvarjena kot /etc/httpd/conf.modules.d/10-subversion.conf. Odprite datoteko in dodajte naslednji konfiguracijski blok:
/etc/httpd/conf.modules.d/10-subversion.conf
DAV svn SVNParentPath/websrv/svn AuthType Osnovno AuthName "Dobrodošli v SVN" AuthUserFile/etc/httpd/subversion-auth Zahtevaj veljavnega uporabnika.
Opomba: Vklopljeno Debian / Ubuntu spodaj morate dodati vrstice /etc/apache2/mods-enabled/dav_svn.conf
mapa.
/etc/apache2/mods-enabled/dav_svn.conf
DAV svn SVNParentPath/websrv/svn AuthType Osnovno AuthName "Dobrodošli v SVN" AuthUserFile/etc/apache2/subversion-auth Zahtevaj veljavnega uporabnika.
Vklopljeno Debian / Ubuntu, morate omogočiti dav_svn Apache modul:
# a2enmod dav_svn.
Nekaj pojasnil:
# mkdir -p /websrv /svn.
Pomembno je vedeti, da ta imenik NE sme biti znotraj ali prekrivati DocumentRoot navideznega gostitelja, ki ga trenutno streže Apache. To je showstopper!
Zdaj bomo uporabili htpasswd za ustvarjanje gesla za račune, ki bodo lahko dostopali do SVN. Samo za prvega uporabnika bomo potrebovali -c
možnost.
Dovoljeni računi in gesla, šifrirana z bcrypt (-B
) bo shranjeno v /etc/httpd/subversion-auth v parih ključ-vrednost. Upoštevajte, da po današnjih standardih privzeto šifriranje MD5 ali SHA, ki ga uporablja htpasswd, ni varno.
V sistemu CentOS / RHEL / Fedora # htpasswd -cB/etc/httpd/subversion -auth tecmint V Debian / Ubuntu # htpasswd -cB/etc/apache2/subversion -auth tecmint.
Ne pozabite nastaviti pravega lastništva in dovoljenj za datoteko za preverjanje pristnosti:
V sistemu CentOS / RHEL / Fedora # chgrp apache/etc/httpd/subversion-auth. # chmod 660/etc/httpd/subversion-auth V Debian / Ubuntu # chgrp www-data/etc/apache2/subversion-auth. # chmod 660/etc/apache2/subversion-auth.
Ker boste do SVN dostopali prek spletnega vmesnika, boste morali dovoliti HTTP (in neobvezno HTTPS) promet skozi vaš požarni zid.
V sistemu CentOS / RHEL / Fedora # firewall-cmd --add-service = http --permanent. # firewall-cmd --add-service = https --permanent. # firewall-cmd --reload
S ponovnim nalaganjem konfiguracije požarnega zidu z -ponovno naloži
, trajne nastavitve začnejo veljati takoj.
Ustvarite začetno skladišče SVN, imenovano tecmint:
# svnadmin create/websrv/svn/tecmint.
Spremenite lastnika in lastnika skupine v apache rekurzivno:
V sistemu CentOS / RHEL / Fedora # chown -R apache: apache/websrv/svn/tecmint V Debian / Ubuntu # chown -R www-data: www-data/websrv/svn/tecmint.
Nazadnje boste morali spremeniti varnostni kontekst za /websrv/svn/tecmint
(upoštevajte, da boste morali ta korak ponoviti, če se pozneje odločite za ustvarjanje drugih skladišč):
V sistemu CentOS / RHEL / Fedora# chcon -R -t httpd_sys_content_t/websrv/svn/tecmint/ # chcon -R -t httpd_sys_rw_content_t/websrv/svn/tecmint/
Opomba: Zadnja dva ukaza ne veljata, če nameščate SVN na VPS z onemogočenim SELinuxom.
Predlagano branje:Naučite se začasno ali trajno onemogočiti SELinux v Linuxu
Ponovni zagon Apache in preverite, ali je skladišče na voljo.
V sistemu CentOS / RHEL / Fedora # systemctl znova zaženite httpd V Debian / Ubuntu # systemctl znova zaženite apache2.
Nato zaženite spletni brskalnik in ga pokažite http://192.168.0.100/svn/tecmint
. Po vnosu poverilnic za veljavnega uporabnika, v katerem smo ustvarili Korak 1, izhod mora biti podoben:
Na tem mestu v skladišče nismo dodali nobene kode. Toda to bomo storili v minuti.
Kot smo omenili v uvodu, TortoiseSVN je uporabniku prijazen vmesnik za Apache Subversion. Je brezplačna programska oprema z licenco GPL in jo lahko prenesete s https://tortoisesvn.net/downloads.html.
Izberite arhitekturo (32 ali 64-bitni), ki ustreza vaši napravi, in preden nadaljujete, namestite program.
V tem koraku bomo uporabili mapo z imenom webapp
notri Dokumenti. Ta mapa vsebuje datoteko HTML in dve mapi z imenom skripte in sloge z datoteko Javascript in datoteko CSS (script.js in styles.css), ki jih želimo dodati nadzoru različic.
Desni klik webapp in izberite SVN Checkout. To bo ustvarilo lokalno kopijo oddaljenega skladišča (ki je trenutno prazno) in inicializiralo mapo za nadzor različic:
V URL skladišča vnesite http://192.168.0.100/svn/tecmint
in se prepričajte, da lokalni imenik blagajne ostaja enak, nato kliknite v redu:
Vnesite uporabniško ime in geslo (glejte 2. korak) in kliknite v redu:
Vprašani boste, ali želite vstopiti v prazen imenik. Potrdite za nadaljevanje odjave. Ko je dokončan, se poleg imena mape prikaže zelena kljukica:
Desni klik na webapp
še enkrat in izberite Zavežite se tokrat. Nato napišite opisni komentar, da pozneje ugotovite to predajo, ter preverite datoteke in mape, ki jih želite razmestiti v skladišče. Na koncu kliknite v redu:
Odvisno od velikosti datotek, urejanje ne sme trajati več kot minuto. Ko bo dokončan, boste videli, da smo zdaj na delu revizija 1, ki ustreza različici in datotekam, navedenim v spletnem vmesniku:
Če na istih datotekah dela več ljudi, boste želeli Nadgradnja lokalno kopijo, da boste imeli na voljo najnovejšo različico. To lahko storite z desnim klikom na webapp
in izbiranje Nadgradnja iz kontekstnega menija.
Čestitamo! Uspešno ste nastavili strežnik SVN in predali / posodobili preprost projekt pod nadzorom različic.
V tem članku smo razložili, kako namestiti in konfigurirati Apache Subversion strežnik skladišča na CentOS 7 strežnika in kako z uporabo uporabiti spremembe tega skladišča TortoiseSVN.
Upoštevajte, da je še veliko več SVN in TortoiseSVN od tega, kar lahko tukaj ustrezno pokrijemo (zlasti kako se vrniti na prejšnje revizije), zato se boste morda želeli obrniti na uradne dokumente (SVN in TortoiseSVN) za več informacij in konfiguracijske primere.
Kot vedno, ne oklevajte in nam sporočite, če imate kakršna koli vprašanja! Če želite stopiti v stik z nami, uporabite spodnji obrazec za komentar.