Parakushtet
Hapi 1: Përditësoni sistemin
Hapi 2: Instaloni Apache
Hapi 3: Instaloni SVN dhe modulin mod_dav_svn
Hapi 4: Konfiguro SVN
Hapi 5: Filloni Apache dhe modifikoni rregullat e murit të zjarrit
Apache Subversion (SVN) është një zgjidhje e përdorur gjerësisht e kontrollit të versionit që ndihmon në ruajtjen e skedarëve të versioneve të ndryshme, si kodi burimor dhe dokumentet.
Në këtë artikull, unë do t'ju tregoj se si të përdorni Apache Subversion dhe Apache për të ndërtuar një server SVN në një shembull të serverit Vultr CentOS 7.
Parakushtet
- VM që ekzekuton CentOS 7 (instalimi minimal i preferuar, por nuk kërkohet).
- Një përdorues sudo për t'u identifikuar. Një artikull tjetër i Vultr përshkruan detajet se si të konfiguroni një përdorues sudo.
Hapi 1: Përditësoni sistemin
sudo yum update
sudo shutdown -r now
Pas rindezjes, hyni përsëri në sistem duke përdorur të njëjtin përdorues sudo.
Hapi 2: Instaloni Apache
Instaloni Apache duke përdorur YUM:
sudo yum install httpd
Hiqni faqen e paracaktuar të mirëseardhjes së Apache:
sudo sed -i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf
Parandaloni që Apache të shfaqë skedarë në drejtorinë "/var/www/html":
sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/httpd/conf/httpd.conf
Hapi 3: Instaloni SVN dhe modulin mod_dav_svn
Për ta bërë SVN të funksionojë me Apache, duhet të instaloni një modul Apache "mod dav svn" përveç SVN:
sudo yum install subversion mod_dav_svn
1) Ndryshoni skedarin e konfigurimit SVN
sudo vi /etc/httpd/conf.modules.d/10-subversion.conf
Dosja duhet të lexojë:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
LoadModule dontdothat_module modules/mod_dontdothat.so
Shtoni segmentin e mëposhtëm:
<Location /svn>
DAV svn
SVNParentPath /svn
AuthName "SVN Repos"
AuthType Basic
AuthUserFile /etc/svn/svn-auth
AuthzSVNAccessFile /svn/authz
Require valid-user
</Location>
Ruani dhe hiqni dorë:
:wq!
Shënim : Në këtë konfigurim, ne specifikuam një skedar vërtetimi të aksesit HTTP "/etc/svn/svn-auth" dhe një skedar kontrolli të lejes së përdoruesit "/svn/authz". Të dyja do të krijohen më vonë.
2) Krijoni një depo SVN
sudo mkdir /svn
cd /svn
sudo svnadmin create repo1
sudo chown -R apache:apache repo1
3) Vendosni llogaritë e përdoruesve të SVN
Përdorni komandat e mëposhtme për të krijuar një skedar vërtetimi të aksesit HTTP "/svn/svn-auth" dhe një llogari përdoruesi SVN "user001":
sudo mkdir /etc/svn
sudo htpasswd -cm /etc/svn/svn-auth user001
sudo chown root:apache /etc/svn/svn-auth
sudo chmod 640 /etc/svn/svn-auth
Nëse dëshironi të krijoni më shumë llogari përdoruesish SVN, referojuni komandave të mëposhtme:
sudo htpasswd -m /etc/svn/svn-auth user002
sudo htpasswd -m /etc/svn/svn-auth user003
Paralajmërim : Mos përdorni flamurin "-c" tani e tutje, përndryshe do të rindërtoni skedarin e vërtetimit dhe do të fshini të gjitha llogaritë e përdoruesve që keni konfiguruar më parë.
4) Lejet e konfigurimit për përdoruesit
sudo cp /svn/repo1/conf/authz /svn/authz
sudo vi /svn/authz
Supozojmë se:
- Përdoruesi "user001" është administratori.
- Përdoruesi "user002" është një përdorues i kualifikuar që zotëron leje leximi dhe shkrimi në repo "repo1" të SVN.
- Përdoruesi "user003" është një praktikant që mund të lexojë vetëm përmbajtjen e repo SVN "repo1".
Pastaj mund të modifikoni cilësimet si më poshtë:
[groups]
admin=user001
repo1_user=user002
repo1_trainee=user003
[/]
@admin=rw
[repo1:/]
@repo1_user=rw
@repo1_trainee=r
Ruani dhe hiqni dorë:
:wq!
Hapi 5: Filloni Apache dhe modifikoni rregullat e murit të zjarrit
Filloni Apache:
sudo systemctl start httpd.service
sudo systemctl enable httpd.service
Hapni portën e shërbimit HTTP:
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload
Më në fund, përdorni shtegun e mëposhtëm për të hyrë në repo SVN "repo1" në serverin tuaj nga një klient SVN:
http://<your-server-ip>/svn/repo1/
Kjo përfundon tutorialin tonë. Faleminderit që lexuat.