Skip to main content

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.

Comments

Popular posts from this blog

Internet pretraga za 5 minuta

web čitač definicija: Web Čitač (eng. Web browser) je klijent program za rad sa www (World Wide Web) internet servisom/protokolom. Danas postoji gomila web čitača, postoje čitači za specifične platforme poput Microsoft Internet Explorer-a i Apple Safari-a, kao i multiplatformski među kojima su najpoznatiji Google Chrome (Chromium), Mozilla Firefox i Opera. Postoje i pretraživači koji Vam pod određenim okolnostima garantuju i apsolutnu anonimnost, kao što je Tor, zasnovan na Mozilla Gecko Engine-u. web pretraživač definicija: Web pretraživač (eng. Web Search Engine) je web aplikacija koja na osnovu unetih parametara vraća veze prema indeksiranim web stranama koje sadrže traženi termin. Postoje stotine web pretraživača na internetu, neki su javno dostupni, dok postoje i pretraživači kojima mogu da pristupe samo određene interesne grupe. Takođe postoje pretraživači koji su se specijalizovali za određene zadatke i postoje internet pretraživači koji vrše višedi

Fascination with a messy code

One of the first projects I got in the company, that I worked at that time, was to observe and automate a process done for a VIP client (automotive industry giant). This process in essence was done by one technician and two key accountants in a period of 2-3 weeks, dependent on the amount of updates and corrections needed. Still it's a big data company, so huge amount of data is in game. First the technician creates an input file for the legacy app and feeds the process with it. Of course he gets the instructions from the key accountant (better to say from the client). After that the app do the calculation for a day and spit out some 35 xls files with 5-8 sheets per file, full of data. That is the point where the fun begins and I jump in. The end result was to be organised in 5 xlsx files wit 4 sheets per file. They should contain sums, groupings and sample data presentation all extracted, recalculated and organised by dynamic rules set by the client. And when I say dynamic I mean