SVN Server (Subversion) 1. deo

Apache Subversion (ili Subversion) je softver otvorenog koda sa osnovnom namenom kontrole verzije (Version Control System – VCS)

Za sve entuzijaste preporučujem posetu stranici projekta Apache Subversion. Prvi deo objašnjava osnovne koncepte i potrebne komponente za rad servera. Primeri su u potpunosti kompatibilni sa Debian platformom, a rađeni su za Ubuntu i njegove derivate (Kubuntu, Xubuntu, Lubuntu…). Ovaj tutorijal se bavi realizacijom subversion servera preko https protokola. Prednost ovakve postavke je u činjenici da se preko zaštićenog kanala bezbedno može pristupiti repozitorijumu uz pomoć svn klijenta (i grafičkog i iz terminala) ili web čitača.
Korak 1 – Instalacija sertifikata
Za instalaciju openssl komponente potrebno je uneti sledeći niz komandi u terminalnu.
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install openssl
Za kreiranje ključa u terminalu ukucajte:
openssl genrsa -des3 -out server.key 2048
sada možete uneti svoju lozinku i potvrditi je (minimum 4 karatera po -des3 standardu). Kada ste ovo odradili kreiran je siguran ključ (zaštićen lozinkom) i sačuvan u datoteci server.key , a sada kreirajmo nesugurni ključ (bez lozinke) i rotirajmo nazive njihovih datoteka.
openssl rsa -in server.key -out server.key.insecure
mv server.key server.key.secure
mv server.key.insecure server.key
Sada je nesiguran ključ onaj sa nazivom server.key i spreman je da se kreira CSR datoteka uz njegovu pomoć (illi sigurnog ključa).
openssl req -new -key server.key -out server.csr
Od Vas će biti zatraženo da unesete lozinku, a potom da unesete osnovne podatke za Vas ili Vaše preduzeće (vlasnika ključa) i sve će to čuvati server.csr datoteka. Sada ćemo uz pomoć ovih datoteka kreirati samo-potpisane ključeve.
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
Njih ćemo čuvati u datoteci server.crt koju inače na naš zahtev možemo dobiti i od nekog zvaničnog sertifikacionog tela. Prednost takve metode je u činjenici da web čitači neće panično da nas obaveštavaju o upotrebi sertifikata već će bez interakcije sa korisnikom prepoznati isti kao bezbedan ključ. Sada ćemo preneti iste na za njih predviđene lokacije kako bi ih mogli koristiti.
sudo cp server.crt /etc/ssl/certs
sudo cp server.key /etc/ssl/private
Kada ove procedure uradimo u mogućnosti smo da koristimo apache web server uz pomoć https protokola.
Korak 2 – Instalacija Apache web servera
Da instaliramo potrebne komponente ukucajte u terminalu:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install apache2 libapache2-svn
sada je potrebno da instaliramo dodatne komponente i da ih aktiviramo kako bi mogli da koristimo https protokol.
sudo a2enmod ssl
sudo a2ensite default-ssl
Da bi omogućili rad sa https protokolom potrebno je da izvršimo izmene u konfiguracionoj datoteci dav_svn.conf koja se nalazi u apache2 direktorijumu.
sudo nano /etc/apache2/sites-available/dav_svn.conf
Potrebno je između xml-olikih oznaka <VirtualHost> … </VirtualHost> uneti sledeće naredbe, pred sam kraj datoteke.
<————————————————————–
<Location /svn>
 DAV svn
 SVNParentPath /var/svn
 AuthType Basic
 AuthName “Moj repozitorijum”
 AuthUserFile /etc/apache2/dav_svn.passwd
 Require valid-user
</Location>
————————————————————–>
Naravno ovo je samo jedna od opcija, koja potrazumeva upotrebu korena direktorijuma za pretragu repozitorijuma i ovo je omogućeno samo ovlašćenim korisnicima sa lozinkom. Da bi se ovo omogućilo sada je potrebno da kreiramo datoteku sa krisnicima i njihovim lozinkama.
htpasswd -c /etc/apache2/dav_svn.passwd korisnik1
Unesite lozinku za korisnika1 i potvrdite je, zatim kreirajmo korisnika2, primetimo da je veoma bitno da sada izostavimo parametar -c koji služi za inicijalizaciju datoteke.
htpasswd /etc/apache2/dav_svn.passwd korisnik2
Sama instalacija subversion servera i podešavanje repozitorijuma biće objašnjena u drugom delu.

Post Author: Raškov Oliver

Bachelor with Honours in Information Engineering. CEO in IT company. Experienced system administrator and developer.
I love high-tech, fast cars, real friends, honest people and ordinary life.

Leave a Reply