Hallo zusammen, heute werden wir in diesem Tutorial Apache SVN installieren, das auch als Subversion auf unserem CentOS 7 oder RHEL 7 beliebt ist, das ein großartiges Tool für das Versionskontrollsystem ist, das für kleine Projekte bis hin zu großen Projekten geeignet ist. Hier also einige Informationen darüber, was wirklich Apache SVN (Subversion) ist.
Apache Subversion (oft abgekürzt SVN, nach dem Befehlsnamen svn) ist ein Software-Versionierungs- und Revisionskontrollsystem, das als freie Software unter der Apache-Lizenz vertrieben wird. Entwickler verwenden Subversion, um aktuelle und historische Versionen von Dateien wie Quellcode, Webseiten und Dokumentation zu verwalten. Sein Ziel ist es, ein weitgehend kompatibler Nachfolger des weit verbreiteten Concurrent Versions System (CVS) zu sein.
Die Freie-Software-Community hat Subversion weit verbreitet eingesetzt:zum Beispiel in Projekten wie Apache Software Foundation, Free Pascal, FreeBSD, GCC, Mono und SourceForge. Google Code bietet auch Subversion-Hosting für seine freien Softwareprojekte an. CodePlex bietet Zugriff auf Subversion sowie auf andere Arten von Clients.
Auch die Unternehmenswelt hat begonnen, Subversion zu übernehmen. In einem Bericht von Forrester Research aus dem Jahr 2007 wurde Subversion als alleiniger Marktführer in der Kategorie Standalone Software Configuration Management (SCM) und als starker Anbieter in der Kategorie Software Configuration and Change Management (SCCM) anerkannt.
Lassen Sie uns also SVN auf unserem CentOS- oder RHEL 7-Computer installieren. Wir müssen zuerst einen Webserver installieren, damit unsere Subversion funktioniert. Hier sind die Schritte unten, mit denen wir es vollständig nach dem Auspacken einrichten können.
1. Installieren eines Webservers
Bevor wir also einen Webserver installieren, müssen wir das yum-Paket-Repository aktualisieren:
# yum update
Jetzt werden wir den Apache-Server als Webserver für das SVN-Repository installieren.
# yum -y install httpd httpd-tools
Jetzt müssen wir http durch unsere Firewall zulassen. Sie können dies mit dem folgenden Befehl tun.
# firewall-cmd --permanent --zone=public --add-service=http
# firewall-cmd --reload
Wenn Sie einen Fehler wie oben erhalten, müssen Sie sicher sein, dass Firewalld nicht installiert ist oder nicht ausgeführt wird. Sie müssen also Firewalld mit "yum install firewalld" installieren und starten Sie den Dienst mit "systemctl start firewalld " ohne Anführungszeichen ("") wie oben gezeigt.
Jetzt wollen wir unseren Apache starten und überprüfen, ob er gut läuft, indem wir http://localhost oder http://ip-address besuchen.
# systemctl start httpd.service
2. Subversion installieren
Sobald der Apache-Webserver installiert ist, müssen wir den folgenden Befehl ausführen, um Subversion zu installieren.
# yum -y install subversion subversion-tools mod_dav_svn
3. Subversion konfigurieren
Nachdem wir die Installation von Subversion abgeschlossen haben, können wir nun damit beginnen, Repositories gemäß den Anforderungen zu erstellen. In unserem Fall erstellen wir /svn als Basis und erstellen darin das Repository.
Hinweis:Sie können das Verzeichnis auswählen, in dem Sie Ihr Repository erstellen möchten, und /svn damit ersetzen.
# mkdir /svn
Jetzt erstellen wir ein Repository namens „linoxiderepo“ im Verzeichnis „/svn/“ als
# svnadmin create /svn/linoxiderepo
Ändern Sie die Berechtigung des Repositorys so, dass Apache es lesen und schreiben kann.
# chown -R apache:apache /svn/linoxiderepo/
Wenn Sie SELinux auf dem System aktiviert haben, führen Sie den folgenden Befehl aus.
# chcon -R -t httpd_sys_content_t /svn/linoxiderepo/
# chcon -R -t httpd_sys_rw_content_t /svn/linoxiderepo/
4. Apache-Server konfigurieren
Virtuellen Host in Apache konfigurieren.
# nano /etc/httpd/conf.d/svn.conf
Platzieren Sie den folgenden Inhalt.
<location /svn>
DAV svn
SVNParentPath /svn
</location>
Dann müssen wir den Apache-Server neu starten, damit er wirksam wird.
# systemctl reload httpd.service
Jetzt sollten wir mit Ihrem bevorzugten Browser auf das SVN zugreifen können, wir müssen zu http://our-ip-address/svn/linoxiderepo gehen . Es fragt uns nicht nach einem Passwort, um es anzuzeigen, es macht unser SVN-Repository öffentlich zugänglich. Wenn wir unser SVN-Repository sichern möchten, müssen wir die folgenden Schritte ausführen.
5. SVN sichern:(Optional)
Die obige Einstellung würde es anonymen Benutzern ermöglichen, die Dateien anzuzeigen und zu übertragen. Um den anonymen Zugriff zu stoppen, müssen Sie die Apache-Konfiguration bearbeiten, die nur zwei Schritte zuvor erstellt wurde.
# nano /etc/httpd/conf.d/svn.conf
Wir werden den folgenden Inhalt in diese Datei einfügen.
<location /svn>
DAV svn
SVNParentPath /svn/
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /etc/subversion/svn.users
Require valid-user
</location>
Erstellt die Passwortdatei für den Benutzer.
# htpasswd -cm /etc/subversion/svn.users arun
Starten Sie jetzt den Apache-Server neu.
# systemctl reload httpd.service
6. Subversion testen
Schließlich können wir die URL http://unsere-IP-Adresse/svn/linoxiderepo in unserem Browser besuchen, um den Inhalt zu überprüfen, Sie werden aufgefordert, den Benutzernamen und das Passwort einzugeben (wenn Sie das sichere SVN eingerichtet haben).
Nach erfolgreicher Anmeldung werden die Inhalte wie unten aufgelistet.
Erstellen Sie ein Vorlagenverzeichnis und importieren Sie es in SVN.
# mkdir -p /tmp/repository/project/{trunk,branches,tags}
# svn import -m 'Initial Import' /tmp/repository/project/ http://192.168.12.103/svn/linoxiderepo
Im Browser nach dem Import.
Schlussfolgerung
Hurra! Wir haben erfolgreich Apache SVN (Subversion) zusammen mit Apache Web Server installiert, um das Repository in unserem CentOS 7 zu hosten. Dieses Tutorial gilt auch für RHEL 7 (Hat Enterprises Linux). Apache SVN ist ein großartiges Tool für Versionskontrollsysteme, das für kleine Entwicklungsprojekte bis hin zu großen Projekten geeignet ist. Wir brauchen einen SVN-Client wie Tortoisesvn für Windows und Rapidsvn für Linux, die ein gutes GUI-Frontend für das Subversion-Revisionssystem sind. Wenn Sie also Fragen, Kommentare oder Feedback haben, schreiben Sie bitte in das Kommentarfeld unten und teilen Sie uns mit, welche Dinge hinzugefügt oder verbessert werden müssen. Danke! Genießen Sie Apache SVN (Subversion).