Subversion este un sistem de urmărire a versiunilor open-source. Păstrează fișierele într-un depozit central și oferă controlul versiunilor asupra directoarelor sau fișierelor. În calitate de dezvoltator, puteți extrage fișiere de proiect dintr-un depozit, le puteți modifica și le puteți împinge înapoi.
Subversion are, de asemenea, o componentă de server pe care o puteți folosi pentru a vă găzdui proiectele. Funcționează la fel ca un server de fișiere obișnuit.
Cum se instalează Subversion
Subversion este ușor de instalat. Puteți folosi comanda corespunzătoare pentru ca distribuția dvs. să înceapă:
# Debian, Ubuntu
sudo apt instalare subversiune apache2 libapache2-mod-svn
# CentOS, Fedora, RHEL
sudo dnf instalare subversion apache2 mod_dav_svn
Rețineți că și această comandă instalează serverul web Apache2. Veți avea nevoie de un server web dacă doriți să accesați depozitul Subversion prin HTTP sau WebDAV. De asemenea, puteți utiliza HTTPS, va trebui doar să instalați și să configurați un certificat digital pentru a face acest lucru.
Odată ce ați executat această comandă, puteți verifica acea subversiune instalată corect. Acum ar trebui să puteți rula svn comandă și puteți vedea versiunea curentă folosind --versiune opțiune:
Configurare server cu Subversion
Dacă instalarea a decurs fără probleme, acum puteți începe să lucrați la configurația depozitului cu care veți folosi svn. Desigur, va trebui să creați un nou depozit pentru aceasta. Mai întâi, creați un folder într-un director rădăcină pentru a vă plasa depozitul:
sudo mkdir /subversion
Dacă trebuie să vă accesați depozitul folosind WebDAV prin HTTP, va trebui să acordați Apache dreptul de proprietate asupra directorului său. Din moment ce Apache folosește www-data utilizator în mod implicit, autorizați acest utilizator după cum urmează:
sudo chown www-data: www-data /subversion
Acum puteți trece la www-data utilizator și începeți să lucrați la depozitul dvs. Comanda pe care ați folosi-o pentru a vă conecta ca www-data utilizatorul este:
sudo su -s /bin/bash www-data
Acum sunteți utilizator Apache și după acest pas, vă puteți crea depozitul Subversion după cum urmează:
svnadmin crea /subversion/myrepo
Acum aveți un depozit Subversion. Pentru a face acest depozit puțin mai sigur și pentru a-și identifica utilizatorii, următorul pas este să creați un utilizator și să setați o parolă pentru acesta. Pentru a face acest lucru, utilizați următoarea comandă:
htpasswd -cmb /subversion/passwd myadmin mypass
Conform acestei comenzi, numele dvs. de utilizator va fi myadmin iar parola ta va fi mypass. Puteți schimba aceste valori în ceea ce este potrivit pentru circumstanțele dvs.
Depozitul dvs. Subversion este acum gata de utilizare. În această etapă, puteți ieși din www-data utilizator prin utilizarea Ieșire comanda.
Acum puteți trimite un proiect sau fișier dorit la depozitul dvs. folosind comanda de mai jos:
sudo svn import <adresa-proiectului dumneavoastră> file:///subversion/myrepo -m "Primul angajament"
Această comandă folosește import parametru pentru a împinge tot ce se află în folderul proiectului în depozitul dvs. Subversion. În timp ce faceți acest lucru, trebuie să adăugați mesajul de confirmare cu -m parametru.
Utilizarea metodelor de acces în Subversion
Poate ați observat că utilizați fişier:// protocol pentru a adăuga un proiect la depozitul dvs. Acesta este doar unul dintre mai multe protocoale de rețea pe care le puteți utiliza pentru a accesa un depozit svn. De asemenea, puteți utiliza protocolul WebDAV prin HTTP sau HTTPS sau personalizarea subversion svn protocol.
Acces direct la depozit
După cum ați văzut, puteți utiliza fişier:// protocol pentru a accesa un depozit local. Iată cum puteți verifica un depozit local în directorul dvs. actual:
fișier svn co:///subversion/myrepo
Când verificați depozitul, svn afișează o listă a fișierelor pe care le conține:
Accesarea utilizând WebDAV
Pentru a integra depozitul Subversion cu Apache, va trebui să configurați unele setări.
Pentru primul pas, activați dav, dav_svn, și dav_fs module folosind următoarele comenzi:
sudo a2enmod dav dav_fs dav_svn
După activarea modulelor necesare, acum puteți edita /etc/apache2/mods-enabled/dav_svn.conf fişier. Creați fișierul dacă nu există deja și modificați-i conținutul după cum urmează:
<Locație/subversiune>
DAV svn
SVNPath /subversion/myrepo
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /subversion/passwd
Solicita utilizator valid
</Location>
The AuthUserFile setarea face referire la fișierul pe care l-ați creat anterior folosind htpasswd. Adăugarea acestuia aici va acorda acces la depozit tuturor utilizatorilor numiți în fișier, cu condiția să se autentifice cu o parolă validă.
După ce ați creat și salvat acest fișier, reporniți serviciul Apache2 cu următoarea comandă:
sudosystemctlrepornireapache2.serviciu
Acum, când deschideți un browser web și accesați http://localhost/subversion/, veți vedea conținutul depozitului dvs. Când accesați această adresă, vă va cere numele de utilizator și parola:
Conectați-vă cu numele de utilizator (de ex. myadmin) și parola (mypass) pe care le-ați configurat mai devreme. Puteți accesa depozitul dvs. Subversion folosind WebDAV după ce ați introdus numele de utilizator și parola:
Accesarea cu SSL și WebDAV
The https:// protocolul are aproape aceeași configurație ca și http:// protocol, cu doar câteva diferențe importante. Pentru a da un exemplu, the .conf fișierul pe care trebuie să-l utilizați în timpul configurării este diferit. De asemenea, trebuie să instalați un certificat digital. Pentru că, după cum știți, aceasta este logica de lucru a Metoda de criptare SSL.
Poti creați un certificat digital dvs. sau puteți instala unul emis de o autoritate competentă. Presupunând că ați instalat un certificat digital, ceea ce trebuie să faceți este simplu.
Diferența în acest pas este modificările pe care le veți face în fișierul de configurare. Mai jos este un exemplu de fișier de configurare pentru utilizarea SSL și WebDAV:
<Locație/subversiune>
DAV activat
SSLRequireSSL
Opțiuni Nici unul
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /subversion/passwd
Solicita utilizator valid
</Location>
După cum puteți vedea, diferența dintre https:// și http:// protocoale nu este atât de mult în ceea ce privește modificările în fișierul de configurare. După aceste modificări, va trebui să reporniți apache2 serviciu. Alerga systemctl reporniți apache2.service să facă asta.
De ce să folosiți Subversion?
Ca instrument de urmărire a versiunilor, Subversion își amintește fiecare modificare făcută fișierelor și directoarelor. Vă permite să accesați versiuni vechi de software sau documente cu care lucrați și să găsiți diferențele dintre acestea. Acest lucru facilitează gestionarea proiectelor, mai ales dacă echipa dvs. de dezvoltare este mare sau distribuită.
Există multe sisteme de control al versiunilor pentru Linux în afară de Subversion, pe care poate doriți să le luați în considerare.