Ich möchte einen Subversion-Server auf meinem Ubuntu-Computer installieren.
Welche Pakete brauche ich? Wie erstelle ich ein Repository und lege einen neuen Benutzer fest?
Ich möchte einen Subversion-Server auf meinem Ubuntu-Computer installieren.
Welche Pakete brauche ich? Wie erstelle ich ein Repository und lege einen neuen Benutzer fest?
Antworten:
Es gibt viele Konfigurationen für svn, hier einige kurze Anweisungen, um ein grundlegendes svn-Repository über http verfügbar zu machen.
apt-get install subversion apache2 libapache2-svn
mkdir -p /var/svn/repos/
cd /var/svn/repos/
svnadmin create --fs-type fsfs <your-repository>
mkdir -p /tmp/myproject/trunk /tmp/myproject/tags /tmp/myproject/branches
svn import /tmp/myproject file:///var/svn/repos/<your-repository> -m "initial import"
cd /etc/apache2/sites-available
touch subversion.conf
vim subversion.conf
Bearbeiten Sie nun die leere Datei mit folgender Konfiguration:
NameVirtualHost *:80
<VirtualHost *:80>
<Location /svn>
ErrorDocument 404 default
DAV svn
SVNParentPath /var/svn/repos
SVNListParentPath off
Require valid-user
AuthType Basic
AuthName "subversion access"
AuthUserFile /var/svn/.htpasswd
AuthzSVNAccessFile /var/svn/authz
</Location>
</VirtualHost>
a2enmod dav_svn
a2enmod authz_svn
a2ensite subversion.conf
/etc/init.d/apache2 restart
htpasswd -c /var/svn/.htpasswd user
touch /var/svn/authz
vim /var/svn/authz
[Ihr Repository: /]
Benutzer = rw
Lassen Sie uns versuchen, das Repo über http zu überprüfen: svn checkout http://your-server/svn/your-repository
checkout
im Gegensatz zu steht ceckout
?
Invalid command 'AuthzSVNAccessFile', perhaps misspelled or defined by a module not included in the server configuration
. Sie können dazu den Befehl a2enmod authz_svn
verwenden.
Beginnen Sie mit dem Lesen des Handbuchs . Ich mache gerade das gleiche.
Sobald Sie ein Repository mit eingerichtet haben svnadmin create /path/to/repo
, können Sie svnserve --root /path/to/repo
das Repository unter zur Verfügung stellen svn://yourhost/
. Öffnen Sie gegebenenfalls den TCP-Port 3690.
Es ist möglich, SVN über HTTP zu verwenden, aber ich habe diesen Teil noch nicht gelesen: o
Sie benötigen das subversion
Paket.
sudo apt-get update
sudo apt-get install subversion
Dieses Paket enthält den Client, Tools zum Erstellen eines Subversion-Repositorys und den Server.
Subversion
Subversion ist ein Open Source-Versionskontrollsystem.
Sie können dieser Anleitung von help.ubuntu.com folgen:
Hier ist ein Blog-Beitrag von WANdisco zur Installation von Tortoise SVN 1.7 und zur ersten Änderung Ihres Repositorys.
Öffnen Sie zum Installieren von Subversion ein Terminal und führen Sie den folgenden Befehl aus:
sudo apt-get install subversion libapache2-svn
Wir werden das Subversion-Repository in / svn erstellen, obwohl Sie einen Speicherort mit ausreichend Speicherplatz auswählen sollten.
sudo svnadmin create /svn
Ändern Sie den Eigentümer dieses Repositorys in einen Apache-Benutzer.
sudo chown -R www-data:www-data /svn
Erstellen Sie ein grundlegendes Subversion-Repository für die spätere Verwendung (für Produktion / Qualitätssicherung / Testen / Stating ../ etc ..)
sudo mkdir -p /tmp/myproject/trunk /tmp/myproject/tags /tmp/myproject/branches
Importieren Sie diese Verzeichnisse in unser Repository
sudo svn import /tmp/myproject file:///svn -m "initial import"
Als nächstes müssen wir die Konfigurationsdatei für das Subversion-Webdav-Modul bearbeiten. Sie können einen anderen Editor verwenden, wenn Sie möchten.
sudo gedit /etc/apache2/mods-enabled/dav_svn.conf
Das Location-Element in der Konfigurationsdatei bestimmt das Stammverzeichnis, von dem aus auf Subversion zugegriffen werden kann, z. B.: Http://www.server.com/svn
<Location /svn>
Die DAV-Leitung muss nicht kommentiert werden, um das Dav-Modul zu aktivieren
# Uncomment this to enable the repository,
DAV svn
Die SVNPath-Zeile sollte an derselben Stelle festgelegt werden, an der Sie das Repository mit dem Befehl svnadmin erstellt haben.
# Set this to the path to your repository
SVNPath /svn
Im nächsten Abschnitt können Sie die Authentifizierung aktivieren. Dies ist nur eine grundlegende Authentifizierung. Betrachten Sie sie daher nicht als äußerst sicher. Die Kennwortdatei befindet sich dort, wo die AuthUserFile-Einstellung sie auf ... setzt. Am besten lassen Sie sie auf der Standardeinstellung.
# Uncomment the following 3 lines to enable Basic Authentication
AuthType Basic
AuthName “Subversion Repository”
AuthUserFile /etc/apache2/dav_svn.passwd
Verwenden Sie den folgenden Befehl, um einen Benutzer im Repository zu erstellen:
sudo htpasswd -cm /etc/apache2/dav_svn.passwd <username>
Beachten Sie, dass Sie die Option -c nur beim ERSTEN Mal verwenden sollten, wenn Sie einen Benutzer erstellen. Danach möchten Sie nur noch die Option -m verwenden, die die MD5-Verschlüsselung des Kennworts angibt, die Datei jedoch nicht neu erstellt.
Beispiel:
sudo htpasswd -cm /etc/apache2/dav_svn.passwd geek
New password:
Re-type new password:
Adding password for user geek
Starten Sie Apache neu, indem Sie den folgenden Befehl ausführen:
sudo /etc/init.d/apache2 restart
Danke: http://www.howtogeek.com/howto/ubuntu/install-subversion-with-web-access-on-ubuntu/