Kuinka asentaa SVN RHEL-pohjaisiin Linux-jakeluihin


C-ohjelmointikielellä kirjoitettu Apache Subversion, puhekielellä lyhennettynä SVN, on ilmainen ja avoimen lähdekoodin versionhallintajärjestelmä, joka pitää kirjaa historiasta. tiedostojen ja hakemistojen versiot.

Yksinkertaisesti sanottuna SVN on yksinkertaisesti versionseuranta, jonka avulla käyttäjät voivat lähettää tiedostoihin tehdyt muutokset arkistoon, joka seuraa, kuka on tehnyt muutokset kuhunkin tiedostoon. Arkisto on samanlainen kuin tiedostopalvelin. Erona on, että se seuraa muutoksia ja antaa sinun palauttaa vanhemmat koodiversiot tai tutkia tiedostomuutoshistoriaa.

Tässä artikkelissa keskitymme SVN:n asentamiseen RHEL-pohjaisiin Linux-jakeluihin, kuten CentOS, Fedora, Rocky Linux, ja AlmaLinux.

Vaihe 1: Asenna Apache Subversion (SVN) Linuxiin

Aloitamme asentamalla ensin Subversionin ja siihen liittyvät paketit kuvan mukaisesti.

sudo dnf install mod_dav_svn subversion

Komento asentaa myös Apache HTTP -verkkopalvelimen, jos sitä ei ole asennettu aiemmin. Voit käynnistää Apachen ja tarkistaa sen tilan seuraavasti.

sudo systemctl start httpd
sudo systemctl status httpd

Vaihe 2: Luo ja määritä paikallinen SVN-arkisto

Kun SVN on asennettu, seuraava vaihe on luoda arkisto tiedostojen ja koodin tallentamista varten.

Luo ensin SVN-hakemisto, johon tallennat koodin.

sudo mkdir -p /var/www/svn

Siirry seuraavaksi hakemistoon ja luo arkisto svadmin create -komennolla:

cd /var/www/svn/
sudo svadmin create demo_repo

Määritä seuraavaksi käyttöoikeudet SVN-hakemistoon.

sudo chown -R apache.apache /var/www/svn

Vaihe 3: Luo Subversion-määritystiedosto

Meidän on luotava Subversion-määritystiedosto.

sudo vim /etc/httpd/conf.d/subversion.conf

Lisää seuraavat rivit.

LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so


<Location /svn>
   DAV svn
   SVNParentPath /var/www/svn

   # Limit write permission to list of valid users.
   <LimitExcept GET PROPFIND OPTIONS REPORT>
      # Require SSL connection for password protection.
      # SSLRequireSSL

      AuthType Basic
      AuthName "Subversion repo"
      AuthUserFile /etc/svn-auth-users
      Require valid-user
   </LimitExcept>
</Location>

Tallenna muutokset ja poistu.

Vaihe 4: Luo valtuutetut Subversion-käyttäjät

Seuraava askel on luoda Subversion-käyttäjiä eli käyttäjiä, joilla on oikeus käyttää Subversion-tietovarastoa. Luo ensimmäinen käyttäjä käyttämällä htpasswd-komentoa -cm-vaihtoehdon kanssa. Salasanat tallennetaan tiedostoon /etc/svn-auth-users.

sudo htpasswd -cm /etc/svn-auth-users svnuser1

Jos haluat luoda uusia käyttäjiä, jätä vaihtoehto -c pois ja käytä vain vaihtoehtoa -m.

sudo htpasswd -m /etc/svn-auth-users svnuser2
sudo htpasswd -m /etc/svn-auth-users svnuser3

Ota tehdyt muutokset käyttöön käynnistämällä Apache-verkkopalvelin uudelleen.

sudo systemctl restart httpd

Vaihe 5: Määritä palomuuri ja SELinux SVN:lle

Määritä palomuuri sallimaan HTTP-liikenne palomuurissa seuraavasti:

sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --reload

Käytä lisäksi seuraavia SELinux-sääntöjä arkistossa.

sudo chcon -R -t httpd_sys_content_t  /var/www/svn/demo_repo
sudo chcon -R -t httpd_sys_rw_content_t /var/www/svn/demo_repo

Vaihe 6: SVN:n käyttäminen selaimesta

Pääset SVN-tietovarastoon selaimella siirtymällä URL-osoitteeseen.

http://server-ip/svn/demo_repo

SVN-varaston käyttäminen

Aloittaaksesi SVN-arkiston käytön, sinun on luotava työkopio SVN-tietovarastosta nykyiseen työhakemistoosi käyttämällä svn checkout -komentoa.

svn checkout URL 

Jos haluat lisätä tiedostoja, siirry kloonattuun hakemistoon:

cd demo_repo

Luo demotiedostoja:

touch file1.txt file2.txt file3.txt

Lisää tiedostot SVN:ään.

svn add file1.txt file2.txt file3.txt

Sitouta sitten tiedostot arkistoon seuraavasti:

svn commit -m "Adding new files" file1.txt file2.txt file3.txt

Todennus valtuustiedoillasi ja tiedostot lisätään arkistoon.

Voit vahvistaa tämän palaamalla selaimeen.

Ja tämä päättää oppaamme SVN:n asentamisesta RHEL-, CentOS-, Fedora--, Rocky Linux-- ja AlmaLinux.