GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So richten Sie Apache Subversion mit HTTPS Letsencrypt unter CentOS 7 ein

Apache Subversion oder SVN ist eine von der Apache Software Foundation entwickelte Open-Source-Versionierungs- und Revisionskontrollsoftware. Es wird verwendet, um die aktuellen und historischen Versionen von Quellcode, Dokumenten und Webseiten zu verwalten.

Subversion wird von vielen Softwareentwicklern und Open-Source-Projekten wie Apache Software Foundation, FreeBSD, GCC und SourceForge verwendet.

In diesem Artikel zeigen wir Ihnen, wie Sie Apache Subversion auf dem neuesten CentOS 7-Server einrichten. Wir installieren und konfigurieren die svn-Software mit Apache als Webserver, sichern sie mit Let's encrypt und aktivieren "Basic Authentication" für Benutzer.

Voraussetzungen

  • CentOS 7-Server
  • Root-Rechte

Was wir tun werden

  1. Installieren Sie Apache Httpd auf CentOS 7
  2. Subversion installieren
  3. Konfigurieren Sie das Subversion-Repository
  4. Generieren Sie SSL Letsencrypt für CentOS Apache Httpd
  5. Konfigurieren Sie den virtuellen Subversion-Host auf Apache Httpd
  6. Testen

Schritt 1 – Installieren Sie Apache Httpd auf CentOS 7

Der erste Schritt in dieser Anleitung besteht darin, die Apache httpd-Pakete auf Ihrem System zu installieren.

Installieren Sie Apache httpd mit dem folgenden yum-Befehl.

yum -y install httpd httpd-tools mod_ssl

Und nachdem die Installation abgeschlossen ist, müssen wir den HTTP-Dienst zu den Firewalld-Dienstlisten hinzufügen.

Führen Sie die folgenden Firewall-cmd-Befehle aus.

firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --reload

Starten Sie nun den httpd-Dienst und fügen Sie ihn hinzu, damit er beim Booten gestartet wird.

systemctl start httpd
systemctl enable httpd

Der Apache httpd läuft auf dem Server.

Schritt 2 – Apache Subversion (SVN) installieren

In diesem Tutorial installieren wir die Subversion-Pakete aus dem Basis-Repository von CentOS 7.

Installieren Sie Subversion und alle erforderlichen Pakete mit dem untenstehenden yum-Befehl.

yum -y install subversion subversion-tools mod_dav_svn

Warten Sie, bis alle Pakete installiert sind, und überprüfen Sie dann die SVN-Version.

svn --version

Schritt 3 - Konfigurieren Sie das Subversion (SVN)-Repository

Nach der Subversion-Installation konfigurieren wir das Master-Subversion-Repository-Verzeichnis. Wir werden ein neues 'svn'-Verzeichnis erstellen, in dem der gesamte Quellcode und die Repositories gespeichert werden.

Erstellen Sie ein neues '/svn' Hauptverzeichnis.

mkdir /svn

Und erstellen Sie ein neues Beispiel-Repository namens „hakase-project“ mit dem untenstehenden svnadmin-Befehl.

svnadmin create /svn/hakase-project

Ändern Sie nun den Eigentümer des Verzeichnisses „/svn/hakase-project“ auf den Benutzer und die Gruppe „apache“.

sudo chown -R apache:apache /svn/hakase-project

Und das SVN-Repository wurde erstellt.

Hinweis:

Führen Sie zusätzlich für SELinux-Benutzer die folgenden Befehle aus.

chcon -R -t httpd_sys_content_t /svn/hakase-project
chcon -R -t httpd_sys_rw_content_t /svn/hakase-project

Schritt 4 – Let’s encrypt SSL-Zertifikat für Apache generieren

In diesem Tutorial konfigurieren wir den svn-Server so, dass er die HTTPS-Verbindung mit einer Domain namens ‚svn.hakase-labs.io‘ verwendet. Wir verwenden ein kostenloses SSL-Zertifikat von Let's encrypt, das mit dem certbot-Tool generiert werden kann.

Installieren Sie certbot auf dem CentOS-Server mit dem folgenden yum-Befehl.

yum -y install certbot

Wenn die Installation abgeschlossen ist, müssen wir den HTTPS-Dienst zur Liste der Firewalld-Dienste hinzufügen.

Führen Sie die folgenden Firewalld-Befehle aus.

firewall-cmd --add-service=https --zone=public --permanent
firewall-cmd --reload

Stoppen Sie jetzt den httpd-Dienst, damit wir das SSL-Letsencrypt mit dem temporären „eigenständigen“ Webserver generieren können.

systemctl stop httpd

Generieren Sie das Letsencrypt-SSL-Zertifikat für den Domänennamen „svn.hakase-labs.io“ mit dem Befehl certbot unten.

certbot certonly --rsa-key-size 4096 --standalone --agree-tos --no-eff-email --email [email protected] -d svn.hakase-labs.io

Jetzt erhalten Sie die Zertifikatsdateien im Verzeichnis ‚/etc/letsencrypt/live‘.

Schritt 5 – Virtuellen Subversion-Host auf Apache Httpd konfigurieren

In diesem Schritt erstellen wir eine neue Apache-httpd-Konfiguration für den svn-Zugriff. Wir werden das SVN-Repository mit einem Domänennamen „svn.hakase-labs.io“ konfigurieren und es wird nur für registrierte Benutzer mit der HTTP-Basisauthentifizierung zugänglich sein.

Gehen Sie in das Verzeichnis ‚/etc/httpd/conf.d‘ und erstellen Sie eine neue SVN-Konfiguration ‚svn.conf‘.

cd /etc/httpd/conf.d/
vim svn.conf

Konfigurationen unten einfügen.

<VirtualHost svn.hakase-labs.io:80>

ServerName svn.hakase-labs.io
DocumentRoot /var/www/html
Redirect permanent / https://svn.hakase-labs.io

</VirtualHost>

<VirtualHost svn.hakase-labs.io:443>

DocumentRoot /var/www/html
ServerName svn.hakase-labs.io

SSLEngine on
SSLProtocol all -SSLv2
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
SSLCertificateFile /etc/letsencrypt/live/svn.hakase-labs.io/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/svn.hakase-labs.io/privkey.pem

ErrorLog logs/svn_error_log
TransferLog logs/svn_access_log
LogLevel warn

<location /repo>
DAV svn
SVNParentPath /svn/
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /etc/subversion/svn.users
Require valid-user
</location>

<Files ~ "\.(cgi|shtml|phtml|php3?)$">
    SSLOptions +StdEnvVars
</Files>

SetEnvIf User-Agent ".*MSIE.*" \
         nokeepalive ssl-unclean-shutdown \
         downgrade-1.0 force-response-1.0
CustomLog logs/ssl_request_log \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>

Speichern Sie die Datei und verlassen Sie den Editor.

Als Nächstes müssen wir eine neue Liste von Benutzern erstellen, die Dateien anzeigen und in das Repository übertragen können.

Erstellen Sie mit dem untenstehenden htpasswd-Befehl einen neuen Benutzer namens „hakase“.

sudo htpasswd -cm /etc/subversion/svn.users hakase

Starten Sie nun die Apache httpd-Dienste neu.

systemctl restart httpd

Der 'hakase'-Benutzer hat jetzt Zugriff auf den Quellcode zum 'hakase-project'-Repository.

Schritt 6 – Testen

Repository anzeigen

Öffnen Sie Ihren Webbrowser und geben Sie die Server-URL ein, meine ist diese: https://svn.hakase-labs.io/repo/hakase-project/

Und Ihnen wird die Eingabeaufforderung für die grundlegende Benutzerauthentifizierung angezeigt.

Melden Sie sich mit dem Benutzer und Passwort „hakase“ an, und das Folgende ist das Ergebnis.

Importieren Sie ein Projekt in das Repository

Jetzt werden wir die SVN-Beispielprojektvorlagen in das Repository „hakase-project“ importieren.

Erstellen Sie ein neues svn-templates-Projektverzeichnis.

mkdir -p ~/svn-templates/{trunk,branches,tags}

Fügen Sie alle Vorlagenverzeichnisse zum ‚hakase-project‘-Repository hinzu, indem Sie den folgenden svn-Befehl verwenden.

svn import -m 'Initial import' ~/svn-templates/ https://svn.hakase-labs.io/repo/hakase-project/ --username hakase

Nun werden Sie nach folgenden Dingen gefragt.

  • Geben Sie 'p' ein, um das Letsencrypt-Zertifikat dauerhaft hinzuzufügen.
  • Geben Sie den 'hakase'-Benutzer und das Passwort ein.
  • Und geben Sie „Ja“ ein, um das Speichern des unverschlüsselten Passworts zu bestätigen.

Überprüfen Sie das 'hakase-Projekt' im Webbrowser, und Sie erhalten alle Vorlagenverzeichnisse darin.

Klonen Sie das Repository

Nachdem wir das Verzeichnis svn templates erstellt und hochgeladen haben, wollen wir das Repository klonen oder in die lokale Umgebung kopieren.

Erstellen Sie einen neuen normalen Benutzer und melden Sie sich beim Benutzer an.

useradd -m -s /bin/bash misaka
su - misaka

Klonen Sie das Repository „hakase-project“ in das lokale Verzeichnis mit dem Namen „myproject“ als „hakase“-Benutzer.

svn co https://svn.hakase-labs.io/repo/hakase-project/ ~/myproject --username hakase

Und Sie werden weiter unten noch einmal nach diesen Dingen gefragt.

  • Geben Sie 'p' ein, um das Letsencrypt-Zertifikat dauerhaft hinzuzufügen.
  • Geben Sie den 'hakase'-Benutzer und das Passwort ein.
  • Und geben Sie „Ja“ ein, um das Speichern des unverschlüsselten Passworts zu bestätigen.

Und wenn es fertig ist, überprüfen Sie das neue 'myproject'-Verzeichnis und Sie erhalten alle svn-Vorlagen.

tree ~/myproject

Commit The Code or Documents

Wechseln Sie in das Verzeichnis „myproject“.

cd myproject/

Erstellen Sie einige Dateien im 'trunk'-Verzeichnis.

echo 'this is my repo' > trunk/test-hakase.txt
echo 'this is my repo01' > trunk/test-hakase01.txt
echo 'this is my repo02' > trunk/test-hakase02.txt

Hinzufügen und übernehmen.

svn add trunk/* --username hakase
svn commit -m 'new file added' --username hakase

Überprüfen Sie das Repository im Webbrowser und Sie werden sehen, dass alle Dateien zum Repository hinzugefügt wurden.

Die Installation und Konfiguration von Apache Subversion mit HTTPS Letsencrypt auf CentOS 7 wurde erfolgreich abgeschlossen.


Cent OS
  1. So installieren Sie Apache Cassandra unter CentOS 8

  2. So installieren Sie Apache unter CentOS 7

  3. So installieren Sie Apache Maven unter CentOS 7

  4. So installieren Sie WordPress Multisite auf Centos VPS mit Apache

  5. So installieren Sie Let’s Encrypt mit Apache unter CentOS 7

So installieren Sie Apache Subversion auf CentOS 8

So installieren Sie Apache mit virtuellem Host unter CentOS 8

So beschleunigen Sie Apache mit Varnish Cache unter CentOS 7

So installieren Sie Drupal auf CentOS 7 mit Apache

So installieren Sie WordPress auf CentOS 7.1 mit Apache

So installieren Sie Apache mit PHP-FPM auf CentOS 8