Einführung
Subversion (oder SVN) ist ein Open-Source-Softwareversionskontrollsystem, das zum Verwalten und Verfolgen von Änderungen am Softwarecode verwendet wird. Dieser Artikel führt Sie durch den Prozess der Einrichtung eines SVN-Servers auf CentOS 7, der von Ihrem lokalen Computer aus erreichbar ist. Schließlich werden wir diesen Server testen, indem wir ein Beispielprojekt auf einem SVN-Client erstellen.
Voraussetzungen
- Eine vorhandene CentOS 7-Installation. Wenn Sie Hilfe beim Einrichten von CentOS 7 benötigen, sehen Sie sich unsere Anleitung für die Ersteinrichtung von CentOS 7 an.
- Grundkenntnisse der Linux-Befehlszeile
SVN installieren
Der erste Schritt, um Ihren Server zum Laufen zu bringen, ist die Installation von SVN. Unter CentOS geht das am einfachsten mit yum
Paket-Manager. Führen Sie den folgenden Befehl aus, um SVN zu installieren:
sudo yum install subversion
Drücken Sie y
, wenn Sie dazu aufgefordert werden, um Ihre Installation zu bestätigen. Sobald Sie fertig sind, sollten Sie „Complete!“ sehen. im Endgerät. Führen Sie den folgenden Befehl aus, um die Installation zu überprüfen:
svn --version
Bei korrekter Installation sehen Sie eine kurze Meldung mit Versionsdetails und Copyright-Informationen für Ihre SVN-Installation.
.
Erstellen eines Repositorys
Bevor Sie mit der Verwendung von SVN beginnen können, müssen Sie entscheiden, welche Struktur Sie für Ihre Repositories benötigen. Für kleine Teams oder den persönlichen Gebrauch sollte ein Repository ausreichen. Wenn Sie mehrere Repositorys benötigen, sollten Sie diesen Abschnitt für jedes benötigte Repository wiederholen. Führen Sie den folgenden Befehl aus, um ein Dateisystemverzeichnis unter /srv/svn
zu erstellen für das Repository.
sudo mkdir /srv/svn
Als nächstes initialisieren Sie das Repository mit svnadmin
Befehl:
sudo svnadmin create /srv/svn
Dieser Befehl erstellt die notwendige Ordnerstruktur für ein SVN-Repository und einige Standarddateien.
.
Konfigurieren des Servers
Es gibt viele Optionen zum Ausführen des SVN-Servers. Für dieses Tutorial verwenden wir den integrierten svnserve
, die sehr einfach zu starten ist. Diese Option eignet sich für die meisten Teams, die keine erweiterten Optionen benötigen.
.
Benutzer erstellen
cd /srv/svn/conf sudo nano svnserve.conf
In dieser Datei fügen wir zwei Eigenschaften hinzu. Das erste ist password-db
das zeigt auf die Datei, in der Benutzer gespeichert werden. Zweitens ist realm
, den Sie sich als „Namespace“ vorstellen können, der von diesem Repository verwendet wird. Dieser Bereichsname wird Benutzern während der Authentifizierung angezeigt.
[general] password-db = passwd realm = my company
Wenn Sie die vorgenerierte Konfigurationsdatei bearbeiten, sind diese Eigenschaften bereits vorhanden. Sie können das Kommentarsymbol (#
) – und alle vorangestellten Leerzeichen – und bearbeiten Sie die Zuweisung so, dass sie mit der obigen übereinstimmt oder Ihren Wünschen entspricht.
.
In diesem /srv/svn/conf
Verzeichnis, sollten Sie bereits das passwd
sehen Datei. Der svnadmin
Der obige Befehl erstellt diese Datei automatisch. Fügen Sie so viele Benutzer hinzu, wie Sie möchten, indem Sie den Benutzernamen und das Passwort in Schlüssel-Wert-Paaren angeben. Zum Beispiel:
[users] samantha = secretpassword robert = hunter2
Server starten
Um den Server zu starten, verwenden wir den svnserve
Befehl.
sudo svnserve -d -r /srv/svn
Das -d
switch startet es als Hintergrundprozess (Daemon). Das -r
switch verweist den Server auf den Dateisystemspeicherort des zuvor erstellten Repositorys. (Für die vollständige Liste der Konfigurationsoptionen führen Sie man svnserve
aus .)
Stellen Sie sicher, dass Sie diesen Prozess als Benutzer mit erhöhten Rechten (Root) ausführen. Wenn Sie dies nicht tun, können Endbenutzer keine Änderungen an das Repository übertragen.
.
Der Standardport für svnserve
ist 3690. Um zu überprüfen, ob der SVN-Server läuft, öffnen Sie einen Browser und navigieren Sie zu http://myserver:3690
(Ersetzen von myserver
mit dem Hostnamen oder der IP-Adresse Ihres Servers). Sie sollten einen ähnlichen Text wie unten sehen.
Beispiel für eine Subversion-Antwort im Browser
Auch wenn wir http://
verwenden können Um sicherzustellen, dass der Server gestartet wird, interagieren wir hier hauptsächlich mit dem SVN-Server unter Verwendung des benutzerdefinierten svn://
URL-Format.
.
Erstellen eines Testprojekts
Um sicherzustellen, dass alles richtig eingerichtet ist, erstellen wir ein Dummy-Projekt. Von hier an sollten Sie von einem Client aus arbeiten, auf dem SVN installiert ist. Wenn Sie keinen einfachen Zugang zu einem anderen Computer haben (oder wenn Sie SVN auf Ihrem Computer für den persönlichen Gebrauch installieren), können Sie natürlich den Server verwenden, an dem Sie bereits arbeiten.
Erstellen Sie zunächst einen Testprojektordner.
mkdir ~/Documents/my-first-project
Führen Sie dann den folgenden Befehl aus, um dieses Verzeichnis in SVN zu importieren. (Ersetzen Sie auch hier unbedingt myserver
mit dem Hostnamen oder der IP Ihres SVN-Servers.)
svn import ~/Documents/my-first-project svn://myserver:3690/my-first-project -m "Initial commit." --username robert --password hunter2
Es gibt viele Flags in diesem einzelnen Befehl, also schauen wir uns an, was jeder von ihnen tut.
import
erstellt ein neues Projekt in SVN. Wir geben die Quelle und dann das Ziel an.-m "Initial commit."
ist unsere Commit-Nachricht, die im SVN protokolliert wird.--username
und--password
sind die Authentifizierungsdetails.
Möglicherweise erhalten Sie eine Warnung, dass Ihr Kennwort unverschlüsselt zwischengespeichert wird. Wenn Ihr Client-Computer bereits passwortgeschützt ist, können Sie damit einverstanden sein. Aber für optimale Sicherheit können Sie bei der Eingabeaufforderung Store password unencrypted
„nein“ eingeben , und Ihr Passwort wird nicht zwischengespeichert. Sie können auch dem Vorschlag folgen, store-plaintext-passwords
zu setzen (in der angegebenen Konfigurationsdatei) auf „nein“, damit Sie nicht erneut gefragt werden.
.
Wenn alles gut geht, sollten Sie Committed revision 1
sehen im Terminal.
Häufige Fehler
Hier sind einige Fehler, die Sie erhalten könnten, wenn etwas nicht richtig konfiguriert ist:
- Authentifizierungs- oder Autorisierungsfehler :Überprüfen Sie die Einrichtung unter „Erstellen von Benutzern“. Es ist wichtig, dass sich diese Konfigurationsdateien an der richtigen Stelle befinden und keine Tippfehler enthalten.
- Keine Verbindung zu einem Repository möglich :Stellen Sie sicher, dass der Server läuft und dass Sie ihn mit dem richtigen
-r
gestartet haben Pfad. - Dateiberechtigungsfehler :Stellen Sie sicher, dass der Server mit erhöhten Berechtigungen ausgeführt wird. Wenn Sie sich nicht sicher sind, verwenden Sie
ps aux
Der Befehl zeigt Ihnen den Benutzer, dersvnserve
ausführt .
.
Schlussfolgerung
Nach Abschluss dieses Tutorials sollten Sie in der Lage sein:
- Erstellen Sie ein einfaches SVN-Repository in CentOS 7
- Benutzer zum Repository hinzufügen
- Starten Sie einen Server, über den Clients auf das Repository zugreifen können
Es gibt viele zusätzliche Optionen, die Sie in Ihrer Installation von SVN konfigurieren können. Für weitere Informationen werfen Sie einen Blick in das SVN-Buch, das ausführlichere Details über die Konfiguration und Wartung von SVN-Servern enthält.
Atlantic.net bietet VPS-Hosting sowie Managed-Hosting-Services an, die eine Schicht von geschäftsessenziellen Managed Services für Ihre Hosting-Pakete beinhalten. Kontaktieren Sie uns noch heute für weitere Informationen.