Die ultimative Anleitung zum Einrichten von Apache -Subversion SVN und Tortoisesvn zur Versionskontrolle

Die ultimative Anleitung zum Einrichten von Apache -Subversion SVN und Tortoisesvn zur Versionskontrolle

Wenn für Ihre Arbeit Dokumente, Webseiten und andere Art von Dateien, die regelmäßig aktualisiert werden.

Auf diese Weise können Sie (und auch eine Gruppe potenzieller Mitarbeiter) Änderungen an einer bestimmten Datei verfolgen, und können Sie zu einer früheren Version zurückkehren, wenn ein Problem auftritt oder wenn ein Update nicht das erwartete Ergebnis erzeugt hat.

Im Ökosystem für kostenlose Software wird das am weitesten verwendete Versionskontrollsystem aufgerufen Apache -Subversion (oder Svn kurz)). Mit der Hilfe von mod_dav_svn (Das Apache -Modul für Subversion) können Sie über HTTP und einen Webserver auf ein Subversion -Repository zugreifen.

Trotzdem rollen wir die Ärmel hoch und installieren diese Werkzeuge auf einem Rhel / Centos 7, Fedora 22-24, Debian 8/7 Und Ubuntu 16.04-15.04 Server. Für unsere Tests werden wir a verwenden Centos 7 Server mit IP 192.168.0.100.

Auf der Clientseite (a Windows 7 Maschine), wir werden installieren und verwenden Schildkröte (Was auf Apache -Subversion basiert) als Schnittstelle zu SVN.

Unsere Testumgebung

Server - Centos 7 IP Adresse - 192.168.0.100 Klient - Windows 7 

Schritt 1 - Installieren und Konfigurieren von SVN unter Linux

Wie bereits erwähnt, werden wir uns auf Apache verlassen, um über eine Weboberfläche auf das SVN -Repository zuzugreifen. Wenn es nicht bereits installiert ist, addieren Sie es der unten gezeigten Liste der Pakete, wie unten gezeigt:

------------------ Auf Centos / rhel / fedora ------------------ # yum update && yum install mod_dav_svn subversion httpd -y ------------------ Auf Debian / Ubuntu ------------------ # APT-Get Update && apt-Get Installieren Sie libapache2-SVN-Subversion Apache2 -y 

Während der Installation eins Centos 7, Eine Apache -Konfigurationsdatei für SVN wird erstellt als /etc/httpd/conf.Module.D/10-Subversion.Conf. Öffnen Sie die Datei und fügen Sie den folgenden Konfigurationsblock hinzu:

/etc/httpd/conf.Module.D/10-Subversion.Conf
 DAV SVN SVNPARENTPATH/WebRV/Svn Authtype Basic Authname "Welcome to SVN" AuthuserFile/etc/httpd/subversion-auth erfordern Valid-User  
Konfigurieren Sie das Apache -SVN -Modul

Notiz: An Debian / Ubuntu Sie müssen unter den Zeilen hinzufügen, um zu /etc/apache2/mods-fähig/dAV_SVN.Conf Datei.

/etc/apache2/mods-fähig/dAV_SVN.Conf
 DAV SVN SVNPARENTPATH/WebRV/SVN Authortype Basic Authname "Welcome to SVN" AuthuserFile/etc/apache2/subversion-auth erfordern Valid-User  

An Debian / Ubuntu, Sie müssen aktivieren DAV_SVN Apache Modul:

# A2enmod Dav_Svn 

Ein paar Klarstellungen:

  1. Der SvnparentPath Die Richtlinie gibt das Verzeichnis an, in dem unsere Repositories später erstellt werden. Wenn dieses Verzeichnis nicht vorhanden ist (was höchstwahrscheinlich der Fall ist), erstellen Sie es mit:
    # Mkdir -p /webrv /svn 

    Es ist wichtig zu beachten, dass dieses Verzeichnis nicht im Inneren oder überlappen darf, die Dokument Root eines virtuellen Hosts, der derzeit von Apache bedient wird. Dies ist ein Showstopper!

  2. Der Authuserfile Die Anweisung gibt die Datei an, in der die Anmeldeinformationen eines gültigen Benutzers gespeichert werden. Wenn Sie jedem erlauben möchten, ohne Authentifizierung auf SVN zugreifen zu können, entfernen Sie die letzten vier Zeilen im Standortblock. Wenn dies der Fall ist, überspringen Sie Schritt 2 und direkt zu gehen zu Schritt 3.
  3. Obwohl Sie möglicherweise versucht sind, Apache neu zu starten, um diese jüngsten Änderungen anzuwenden.

Schritt 2 - Fügen Sie den Benutzern hinzu, den Zugriff auf SVN zugreifen konnten

Wir werden jetzt verwenden htpasswd So erstellen Sie ein Kennwort für Konten, mit dem auf SVN zugreifen kann. Nur für den ersten Benutzer benötigen wir die -C Möglichkeit.

Zulässige Konten und Bcrypt-verschlüsselnde Passwörter (-B) wird in gelagert /etc/httpd/subversion-auth in Schlüsselwertpaaren. Beachten Sie, dass nach heutigen Maßstäben die von HTPasswd verwendete Standard -MD5- oder SHA.

------------------ Auf Centos / rhel / fedora ------------------ # htpasswd -cb/etc/httpd/subversion -auth tecmint ------------------ Auf Debian / Ubuntu ------------------ # htpasswd -cb/etc/apache2/subversion -auth tecmint 

Vergessen Sie nicht, die richtige Eigentümer und Berechtigungen für die Authentifizierungsdatei festzulegen:

------------------ Auf Centos / rhel / fedora ------------------ # chgrp apache/etc/httpd/subversion-auth # chmod 660/etc/httpd/subversion-auth ------------------ Auf Debian / Ubuntu ------------------ # chgrp www-data/etc/apache2/subversion-auth # chmod 660/etc/apache2/subversion-auth 

Schritt 3 - Sicherheit hinzufügen und SVN -Repository erstellen

Da Sie über eine Weboberfläche auf SVN zugreifen, müssen Sie zulassen Http (und optional Https) Verkehr durch Ihre Firewall.

------------------ Auf Centos / rhel / fedora ------------------ # Firewall-cmd --add-service = http --permanent # Firewall-cmd --add-service = https --permanent # Firewall-cmd--Reload 

Durch das Neuladen der Firewall -Konfiguration mit --neu laden, Die dauerhaften Einstellungen werden sofort in Kraft gesetzt.

Erstellen Sie ein anfängliches SVN -Repository mit dem Namen Tecmint:

# svnadmin create/webrv/svn/tecmint 

Ändern Sie den Eigentümer und den Gruppenbesitzer auf Apache rekursiv:

------------------ Auf Centos / rhel / fedora ------------------ # Chown -r Apache: apache/webrv/svn/tecmint ------------------ Auf Debian / Ubuntu ------------------ # Chown -r www-data: www-data/webrv/svn/tecmint 

Schließlich müssen Sie den Sicherheitskontext von ändern /webrv/svn/tecmint (Beachten Sie, dass Sie diesen Schritt wiederholen müssen, wenn Sie sich später für andere Repositorys entscheiden.)

------------------ Auf Centos / rhel / fedora ------------------ # Chcon -r -t httpd_sys_content_t/webrv/svn/tecmint/ # chcon -r -t httpd_sys_rw_content_t/webrv/svn/tecmint/ 

Notiz: Die letzten beiden Befehle gelten möglicherweise nicht, wenn Sie SVN auf einem VPS mit Selinux deaktiviert installieren.

Vorgeschlagene Lesen: Erfahren Sie, wie Sie Selinux vorübergehend oder dauerhaft unter Linux deaktivieren können

Neu starten Apache und überprüfen Sie, ob das Repository verfügbar ist.

------------------ Auf Centos / rhel / fedora ------------------ # Systemctl Neustart HTTPD neu starten ------------------ Auf Debian / Ubuntu ------------------ # SystemCTL Neustart Apache2 neu 

Starten Sie dann einen Webbrowser und weisen Sie ihn auf http: // 192.168.0.100/SVN/Tecmint. Nach dem Eingeben der Anmeldeinformationen für den gültigen Benutzer, in dem wir erstellt wurden, Schritt 1, Die Ausgabe sollte ähnlich sein wie mit:

Greifen Sie über den Browser auf das SVN -Repository zu

Zu diesem Zeitpunkt haben wir unserem Repository keinen Code hinzugefügt. Aber das werden wir in einer Minute tun.

Schritt 4 - Installieren Sie Tortoisesvn im Windows 7 -Client

Wie wir in der Einführung erwähnt haben, Schildkröte ist eine benutzerfreundliche Schnittstelle zur Apache-Subversion. Es ist kostenlos Software lizenziert unter der GPL und kann von https: // tortoisesvn heruntergeladen werden.Netz/Downloads.html.

Wählen Sie die Architektur (32 oder 64-Bit) Das entspricht Ihrem Computer und installieren Sie das Programm vor dem Fortschritt.

Schritt 5 - SETUP SVN -Repository auf dem Client -Computer einrichten

In diesem Schritt werden wir einen Ordner namens verwenden Web-App innen Unterlagen. Dieser Ordner enthält eine HTML -Datei und zwei Ordner mit dem Namen Skripte und Stile mit einem JavaScript und einer CSS -Datei (Skript.JS Und Stile.CSS, jeweils), dass wir der Versionskontrolle hinzufügen möchten.

Rechtsklick Web-App und wählen Sie SVN Checkout. Dadurch wird eine lokale Kopie des Remote -Repositorys (das momentan leer ist) erstellt und den Ordner für die Versionskontrolle initialisiert:

Konfigurieren Sie SVN im Client -Verzeichnis

In der URL des Repositorys Typ Typ http: // 192.168.0.100/SVN/Tecmint und stellen Sie sicher, dass das lokale Checkout -Verzeichnis gleich bleibt. Klicken Sie dann auf OK:

Konfigurieren Sie das SVN -Repository auf dem Client

Geben Sie den Benutzernamen und das Passwort ein (siehe Schritt 2) und klicken OK:

Geben Sie die Anmeldeinformationen des SVN -Benutzers ein

Sie werden gefragt, ob Sie in ein nicht leeres Verzeichnis einchecken möchten. Bestätigen Um mit der Kasse fortzufahren. Sobald es abgeschlossen ist, wird neben dem Ordnernamen ein grünes Checkmark angezeigt:

Schauen Sie sich das SVN -Verzeichnis an

Schritt 6 - Änderungen festlegen und Dateien für das Remote -SVN -Repository bereitstellen

Klicken Sie mit der rechten Maustaste auf Web-App wieder und wählen Sie Begehen diesmal. Schreiben Sie als Nächst. Schließlich klicken Sie OK:

Stellen Sie Dateien für das Remote -SVN -Repository ein

Abhängig von der Größe der Dateien sollte das Commit nicht länger als eine Minute dauern. Wenn es abgeschlossen ist, werden Sie sehen, dass wir jetzt eingeschaltet sind Revision 1, Dies entspricht der Version und Dateien, die in der Weboberfläche aufgeführt sind:

Bestätigen Sie die Überarbeitung der SVN -Repository

Wenn mehrere Personen an denselben Dateien arbeiten, möchten Sie dies Aktualisieren Ihre lokale Kopie, um die neueste Version zur Arbeit zur Verfügung zu haben, um daran zu arbeiten. Sie können dies tun, indem Sie mit der rechten Maustaste klicken Web-App und wählen Aktualisieren Aus dem Kontextmenü.

Glückwunsch! Sie haben einen SVN -Server erfolgreich eingerichtet und ein einfaches Projekt unter Versionskontrolle verpflichtet / aktualisiert.

Zusammenfassung

In diesem Artikel haben wir erklärt, wie man eine installiert und konfiguriert Apache -Subversion Repository -Server auf a Centos 7 Server und wie Sie Änderungen an diesem Repository verwenden Schildkröte.

Bitte beachten Sie, dass es noch viel mehr gibt Svn Und Schildkröte als das, was wir hier angemessen behandeln können (insbesondere wie man zu früheren Überarbeitungen zurückkehrt).

Zögern Sie wie immer nicht, uns mitzuteilen, ob Sie Fragen haben! Fühlen Sie sich frei, das folgende Kommentarformular zu verwenden, um uns jederzeit zu erreichen.