Subverzija obuhvata Svnserv - jednostavni samostalni server koji koristi običan protokol preko obične TCP/IP veze. Idealan je za manje instalacije, ili gde pun Apaš server ne može biti korišćen.
U većini slučajeva svnserv je lakše podesiti i radi brže od Apaš zasnovanom serveru, takođe on ima neke napredne osobine. I sada kada je SASL podrška uključena lako jeuraditi zaštitu.
Uzmite zadnju verziju Subverije sa http://subversion.apache.org/getting.html. Alternativno uzmite upakovanu instalaciju od KolabNeta sa http://www.collab.net/downloads/subversion.Ova instalacija će podesiti svnserv kao Vindouz servis, takđe uključuje neke alate koji su vam potrebni ako nameravate da koristite SASL za sigurnost.
Ako već imate verziju Subverzije i pokrenut je svnserv, trebaće da ga zaustavite pre nego nastavite.
Pokrenite Subverzionu instalaciju. Ako radite instalaciju na vašem serveru (preporučljivo) preskočite korak 4.
Otvorite vindouz-eksplorer, idite na instalacioni direktorijum Subverzije (obično C:\Program Files\Subversion) i na bin imenik, nađite fajlove svnserve.exe, intl3_svn.dll, libapr.dll, libapriconv.dll, libapriutil.dll, libdb*.dll, libeay32.dll and ssleay32.dll - kopirajte ove falove, ili samo kopirajte sve iz bin imenika, u imenik na vašem serveru npr. c:\svnserve
Sada je svnserv instaliran, treba da ga pokrenete na vašem serveru. Jednostavan pristup je da pokrenete sedeće iz DOS školjke ili kreirate vindouz prečicu:
svnserve.exe --daemon
svnserv će sada krenuti čekajući na dolazni zahtev na portu 3690. Prekidač --daemon kaže svnservu da radi kao daemon proces, tako da će uvek postojati sve dok se ručno ne zaustavi.
Ako koš niste kreirali spremište, pratite instrukcije koje vam daje Apaš server podešavanje odeljak pod imenom „Konfiguracija“.
Da bi testirali da li svnserv radi koristite → da vidite spremište.
Pretpostavljajući da je vaše spremište smešteno na c:\repos\TestRepo, i da se vaš server zove localhost, unesite:
svn://localhost/repos/TestRepo
kada vas upita repo pretraživač.
Takođe možete povećati sigurnost i uštedeti vreme unoseći URL sa svnservom koristeći --root prekidač da podesite lokaciju korena i ograničite pristup specificiranim imenicima na serveru:
svnserve.exe --daemon --root drive:\path\to\repository\root
Using the previous test as a guide, svnserve would now run as:
svnserve.exe --daemon --root c:\repos
And in TortoiseSVN our repo-browser URL is now shortened to:
svn://localhost/TestRepo
Primetimo da --root prekidač je takođe potreban ako je spremište locirano na različitoj particiji drajva u odnosu na lokaciju svnserva na vašem serveru.
Sbnserv će opsluživati bilo koji broj spremišta. Samo ih locirajte negde ispod korenog imenika koji ste upravo definisali, i pristupite im koristeći URL relativan na taj koren.
Ne kreirajte Berkli DB spremište na mrežnom deljenom prostoru. To ne može postojati na udaljenom fajlsistemu. Čak ni ako imate mrežni drajv označen slovom drajva. Ako pokušate da koristite Berkli DB na mrežnoj podeli rezultati su nepredvidljivi - možete videti misteriozne greške ili će proći meseci dok ne ustanovite da vaša baza podataka spremišta sa puno grešaka.
Pokretanje svnserva kao korisnik nije najbolji način. To znači da ima korisnik koji je uvek upisan na vašem serveru i pamti se da se restartuje posle ponovnog pokretanja. Bolji način je da pokrenete svnserv kao vindouz servis. Počevši od Subverzije 1.4, svnserv se može instalirati kao prirodni vindouz servis.
Da bi se instalirao svnserv kao prirodni vindouz servis izvršite sledeću komandu, celu na jednoj liniji, da kreirate servis koji automatski kreće kad vindouz krene.
sc create svnserve binpath= "c:\svnserve\svnserve.exe --service
--root c:\repos" displayname= "Subversion" depend= tcpip
start= auto
If any of the paths include spaces, you have to use (escaped) quotes around the path, like this:
sc create svnserve binpath= "
\"C:\Program Files\Subversion\bin\svnserve.exe\"
--service --root c:\repos" displayname= "Subversion"
depend= tcpip start= auto
You can also add a description after creating the service. This will show up in the Windows Services Manager.
sc description svnserve "Subversion server (svnserve)"
Primetimo nepoželjan format komandne linije koji koristi sc. U ključ= vrednost parovima nesme biti razmak između ključa i = ali mora biti razmaka pre vrednosti.
Mikrosoft sada preporučuje servise da rade pod ili LokalServis ili MrežniServis nalog. Uporedite sa Servisi i Servis nalog sigurnost vodič planiranja . Da bi se kreirao servis pod Lokal Servis nalogom, dodajte sledeće gornjem primeru.
obj= "NT AUTHORITY\LocalService"
Primetimo da imate dati Lokal Servis nalogu odgovarajuća prava za Subverziju i spremišta, isto kao svim aplikacijama koje se koriste kao zakačive skripte. Grupa za ovu izradu zove se "LOKALNI SERVIS".
Jednom kada instalirate servise treba da odete na servis menadžer da ga pokrenete (samo tada, on će se pokrenuti automatski kada se servis ponovo pokreće).
Za informacije sa više detalja konsultujte Vindouz servis podršku za Svnserv.
Ako ste instalirali raniju verziju svnserva koristeći SVNServis omotač i sada želite da koristite prirdnu podršku umesto njega, potrebno je da odregistrujete omotač kao servis (setite se da prvo zaustavite servis!). Jednostavno koristite komandu
svnservice -remove
da uklonite ulaz u servis registar.
Uobičajeno podešavanje svnserva omogućava anonimni pristup samo čitanje. Ovo znači da možete koristiti svn:// URL da preuzmete i ažurirate ili koristite repo-pretraživač u TortoiseSVN da vidite spremište, ali ne možete urezivati bilo kakve izmene.
Da bi omogućili pristup upisivanju u spremište, potrebno je da uredite conf/svnserve.conf fajl u imeniku spremišta. Ovaj fajl kontroliše konfiguraciju svnserv domena, takođe sadrži korisnu dokumentaciju.
Možete omogućiti anonimni pristup upisivanju jednostavnim podešavanjem:
[general] anon-access = write
Ipak, nećete znati ko je napravio promene u spremištu kako je svn:author deo prazan. Vi ćete, takođe, biti nesposobni da kontrolišete ko je napravio izmene u spremištu. Ovo je ipak rizično podešavanje!
Jedan način da se prevaziđe ovo je kreiranje baza lozinki:
[general] anon-access = none auth-access = write password-db = userfile
Where userfile is a file which exists in the same directory as svnserve.conf. This file can live elsewhere in your file system (useful for when you have multiple repositories which require the same access rights) and may be referenced using an absolute path, or a path relative to the conf directory. If you include a path, it must be written /the/unix/way. Using \ or drive letters will not work. The userfile should have a structure of:
[users] username = password ...
Ovaj primertreba da zabrani sve neautentifikovane (anonimne) korisnike i da ćitanje-upis pristup korisnicima izlistanim u userfile.
Ako održavate više spremišta koristeći istu bazu lozinki, korišćenje autentifikacione oblasti olakšće život korisnicima, kako TortoiseSVN kešira vašu akreditaciju vi ćete je uraditi samo jedanput. Više informacija se može naći u Subverzionoj knjizi, specijalno u delu Kreirajte 'users' fajl i oblast i Klient Kredencials Kešing
Cirus jednostavna autentifikacija i sigurnosni sloj je softver otvorenog koda napisan na Karnegi Melon univerzitetu. On dodaje srodnu autentifikaciju i mogućnosti šifriranja svakom mrežnom protokolu i od Subverzije 1.5 i dalje, oba, svnserv i TortoiseSVN klijenti znaju kako da koriste ovu biblioteku.
Za kompletniju diskusiju dostupnih opcija treba pogledati Subverzionu knjigu u delu Koristeći svnserv sa SASL . Ako ste samo potražili lak način da podesite sigurnu autentifikaciju i šifriranje na Vindouz serveru vašem spremištu će se pristupati preko velikog lošeg Internet čitanja.
Da aktivirate specifične SASL mehanizme na serveru potrebne su vam tri stvari. Najpre kreirajte [sasl] sekciju u fajlu spremišta svnserve.conf, sa ovim ključ-vrednost parovima:
use-sasl = true
Drugo, kreirajte fajl koji se zove svn.conf na konvencionalnu lokaciju - tipično u imeniku gde je subverzija instalirana.
Treće, kreirajte dva nova registar ulaza da kažete SASL gde da nađe potrebne stvarčice. Kreirajte registar ključ pod imenom [HKEY_LOCAL_MACHINE\SOFTWARE\Carnegie Mellon\Project Cyrus\SASL Library] i stavite dva nova stringa unutar njega: SearchPath podesite na putanju imenika koji sadrži sasl*.dll jezičak (normalno u Subverzioni instalacioni imenik), i ConfFile podešen na imenik koji sadži svn.conf fajl. Ako koristite KolabNet instalator, ovi registar ključevi će biti već kreirani za vas.
Uredite svn.conf fajl da sadrži sledeće:
pwcheck_method: auxprop auxprop_plugin: sasldb mech_list: DIGEST-MD5 sasldb_path: C:\TortoiseSVN\sasldb
Poslednja linija prikazuje lokaciju autentifikacione baze podataka, koja je fajl pod imenom sasldb. To može biti bilo gde, ali uobičajen izbor je predačka putanja spremišta. Osigurajte da svnser servis ima čitajući pristup ovom fajlu.
Ako snserv već radi potrebno je da ga restartujete da se osigura da pročita ažuriranu konfihuraciju.
Sada je sve podešeno, sve što vam je potrebno je da kreirate korisnike i lozinke. Da biste to uradili potreban vam je saslpasswd2 progran. Ako koristite KolabNet instalaciju taj program će biti u instalacionom imeniku. Koristite komandu nešto kao ovo:
saslpasswd2 -c -f C:\TortoiseSVN\sasldb -u realm username
Prekidač -f daje lokaciju baze podataka, oblast mora da bude ista kao vrednost koju ste definisali u svnserve.conf fajlu spremišta, a korisnikovo ime je tačno ono koje očekujete da bude. Primetimo da oblast ne dozvoljava da sadrži karakter razmak.
Možete listati imena korisnika stavljene u bazu podataka koristeći sasldblistusers2 program.
Da se omoguće ili onemoguće različiti nivoi šifrovanja možete podesiti dve vrednosti u svnserve.conf fajlu spremišta:
[sasl] use-sasl = true min-encryption = 128 max-encryption = 256
Min-encryption i max-encryption promenljive kontrolišu nivo šifrovanja koje zahteva server. Da se potpuno onemogući šifrovanje postavite obe vrednosti na 0. Da se omogući sumaprovere podataka (npr. predupredi mešanje i garantovati integritet podataka bez šifrovanja), postavite obe vrednosti na 1. Ako želite da dopustite (ali ne zahtevate) šifrovanje, postavite minimalnu vrednost na 0, i maksimalnu vrednost na neku dužinu bitova. Za bezuslovno zahtevanje šifrovanja postavite be vrednosti na vrednost veću od 1. U našem prethodnom primeru zahtevamo da klijenti rade 128-bitno šifrovanje, ali ne više od 256-bitnog šifrovanja.
Drugi način autentifikacije korisnika pomoću svnserva zasnovanog servera je korišćenje sigurnosnu ljusku (SSH) da se provuče zahtev. To nije jednostavno da se podesi kao SASL, ali može biti korisno u nekim slučajevima.
Evo to g pristupa, svnserv ne radi kao skriveni proces, radije, sigurnosna ljuska pokreće svnserv za vas, pokrećući ga kao SSH autentifikovanog korisnika. Da se to omogući potreban je skrivena sigurnosna ljuska na serveru.
Osnovni metod podešavanja vašeg servera dat je u Dodatak G, Osiguranje Svnserva koristeći SSH. Možete naći druge SSH teme u okviru FAK tražeći „SSH“.
Dalje informacije o svnservu mogu se naći na Version Control with Subversion.
Počevši od Subverzije 1.3, svnserv podržava isti mod_authz_svn putanjom-zasnovanu autorizacionu šemu koja je omogućena Apaš serverom. Potrebno je da uredite conf/svnserve.conf fajl u imeniku spremišta i dodate liniju koja se poziva na autorizacioni fajl.
[general] authz-db = authz
Ovde, authz je fajl koji ste kreirali da definišete pristupne dozvole. Možete koristiti poseban fajl za svako spremište, ili možete koristiti isti fajl za više spremišta. Pročitajte odeljak pod imenom „Autorizacija zavisna od putanje“ za opis formata fajla.