Die ultimative Anleitung zum Einrichten von Apache -Subversion SVN und Tortoisesvn zur Versionskontrolle
- 1723
- 494
- Marleen Weight
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.ConfDAV SVN SVNPARENTPATH/WebRV/Svn Authtype Basic Authname "Welcome to SVN" AuthuserFile/etc/httpd/subversion-auth erfordern Valid-UserKonfigurieren 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.
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:
- 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!
- 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.
- 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:
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 -VerzeichnisIn 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:
Geben Sie den Benutzernamen und das Passwort ein (siehe Schritt 2) und klicken OK:
Geben Sie die Anmeldeinformationen des SVN -Benutzers einSie 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 anSchritt 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:
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 -RepositoryWenn 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.
- « DSTAT - Ein einfallsreiches Tool zur Überwachung der Linux -Serverleistung in Echtzeit
- 10 Top Open Source Artificial Intelligence Tools für Linux »