Wéi installéiere ech SVN op RHEL-baséiert Linux Distributiounen


Geschriwwen an C Programméiersprooch, Apache Subversion, allgemeng als SVN verkierzt, ass e gratis an Open Source Versiounskontrollsystem deen historesch Versioune vu Dateien an Verzeichnisser verfollegt.

Einfach gesot, SVN ass einfach e Versioun Tracker deen d'Benotzer erlaabt Ännerungen op Dateien an e Repository ze schécken deen verfollegt wien d'Ännerungen an all Datei gemaach hunn. De Repository ass ähnlech wéi e Dateiserver. Den Ënnerscheed ass datt et Ännerungen verfollegt an Iech erlaabt eeler Versioune vum Code ze recuperéieren oder d'Geschicht vun de Dateiännerungen z'ënnersichen.

An dësem Artikel konzentréiere mir eis op wéi Dir SVN op RHEL-baséiert Linux Verdeelunge wéi CentOS, Fedora, Rocky Linux, an AlmaLinux installéiere wëllt.

Schrëtt 1: Installéiert Apache Subversion (SVN) op Linux

Mir fänken un mat der éischter Installatioun vun Subversion a seng assoziéiert Packagen wéi gewisen.

$ sudo dnf install mod_dav_svn subversion

De Kommando installéiert och Apache HTTP Webserver, wann et net virdru installéiert gouf. Dir kënnt Apache starten a säi Status kontrolléieren wéi follegt.

$ sudo systemctl start httpd
$ sudo systemctl status httpd

Schrëtt 2: Erstellt a konfiguréiert e Lokal SVN Repository

Wann SVN installéiert ass, ass de nächste Schrëtt fir e Repository ze kreéieren fir Dateien a Code ze späicheren.

Als éischt erstellt de SVN Verzeichnis an deem Dir de Code späichert.

$ sudo mkdir -p /var/www/svn

Als nächst, navigéiert an de Verzeichnis an erstellt e Repository mam svadmin create Kommando:

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

Als nächst gitt Permissiounen un de SVN Verzeichnis.

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

Schrëtt 3: Erstellt eng Subversion Konfiguratiounsdatei

Mir mussen eng Subversion Konfiguratiounsdatei erstellen.

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

Füügt déi folgend Zeilen derbäi.

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>

Späichert d'Ännerungen a gitt eraus.

Schrëtt 4: Erstellt autoriséiert Subversion Benotzer

De nächste Schrëtt ass d'Subversion Benotzer ze kreéieren, dh Benotzer déi autoriséiert sinn fir Zougang zum Subversion Repository ze kréien. Fir den éischte Benotzer ze kreéieren, benotzt de Kommando htpasswd mat der Optioun -cm. D'Passwierder ginn an der Datei /etc/svn-auth-users gespäichert.

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

Fir spéider Benotzer ze kreéieren, loosst d'Optioun -c a benotzt nëmmen d'Optioun -m.

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

Fir d'Ännerungen ëmzesetzen, start den Apache Webserver nei.

$ sudo systemctl restart httpd

Schrëtt 5: Firewall a SELinux fir SVN konfiguréieren

Konfiguréiert d'Firewall fir HTTP-Traffic op der Firewall z'erméiglechen wéi follegt:

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

Zousätzlech, gëllen déi folgend SELinux Regelen op de Repository.

$ 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

Schrëtt 6: Zougang zu SVN aus engem Browser

Fir Zougang zu Ärem SVN Repository vun engem Browser ze kréien, gitt einfach op d'URL.

http://server-ip/svn/demo_repo

Fir de SVN-Repository ze benotzen, musst Dir eng Aarbechtskopie vum SVN-Repository op Ärem aktuellen Aarbechtsverzeechnes erstellen mat dem svn Checkout Kommando.

$ svn checkout URL 

Fir e puer Dateien ze addéieren, navigéiert an de gekloonten Verzeichnis:

$ cd demo_repo

Erstellt e puer Demo Dateien:

$ touch file1.txt file2.txt file3.txt

Füügt d'Dateien op SVN.

$ svn add file1.txt file2.txt file3.txt

Dann engagéieren d'Dateien an de Repository wéi follegt:

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

Authentifizéieren mat Äre Umeldungsinformatiounen an d'Dateie ginn an de Repository bäigefüügt.

Dir kënnt dëst bestätegen andeems Dir zréck an de Browser gitt.

An dëst schléisst eise Guide of wéi Dir SVN op RHEL, CentOS, Fedora, Rocky Linux, an AlmaLinux installéiere wëllt.