(Sub-)Domain für SVN auf Ubuntu-Server

#1
Hallo zusammen,

ich habe einen vServer bei einem Anbieter clean mit Ubuntu installiert und geupdatet.
Das hat alles prima funktioniert.
Dann habe ich Subversion installiert und eingerichtet.
Der SVN ist mit Usernamen/PW für verschiedene Benutzer/Projekte angelegt.
Wenn ich nun SVN nutzen will, funktioniert auch das einwandfrei, wenn ich die Verzeichnisse von extern über die IP und das Verzeichnis anspreche.
Nun würde ich aber gerne vereinfachen und für die Projekte eine Domain mit dem jeweiligen Projektnamen anlegen und nutzen:
Der Pfad ist bisher:
svn://ip.ip.ip.ip/home/repositories/ProjektA
Und soll aber sein:
svn://domainname.de/ProjektA
oder
svn://svn.domainname.de/ProjektA

Ich habe die Domain beim Anbieter registriert und auf der Weboberfläche bereits auf die Domain eingerichtet. Nun muss ich aber ja noch irgendwo eine Datei mit der Konfiguration anlegen/bearbeiten, habe leider aber keine Ahnung wo.

Ich habe hier im Forum den Code dafür gefunden (copy&paste aus einem anderen Beitrag):
Code:
<VirtualHost *>
        ServerName svn.domain.com
        ServerAdmin admin@domain.com
        <Location />
         DAV svn
         SVNParentPath /var/lib/svn
         AuthType Basic
         AuthName "Subversion Repository Access"
         AuthUserFile /etc/apache2/svn.htpasswd
          Require valid-user
        </Location>
        ErrorLog /var/log/apache2/error.log
        LogLevel warn
        CustomLog /var/log/apache2/access.log combined
        ServerSignature On
</VirtualHost>
Kann mir evtl. jemand helfen und kurz erklären, was ich dort ändern muss und wo diese Datei gespeichert/angelegt werden muss? Da hört leider mein KnowHow auf :(
Tausend Dank
 
#2
Nun muss ich aber ja noch irgendwo eine Datei mit der Konfiguration anlegen/bearbeiten, habe leider aber keine Ahnung wo.
Zum Beispiel in einer Datei

/etc/apache2/sites-enabled/svnprojekt.conf

Die Vorlage unten kannste nicht so ohne Weiteres kopieren. Nutze lieber solche Zeilen:

<Location /ProjektA>

<Location /ProjektB>

<Location /ProjektC>


Pfiffikus,
der es auf seinem Server genau so handhabt
 

nexus

Active Member
#3
Zum Beispiel in einer Datei

/etc/apache2/sites-enabled/svnprojekt.conf
Wenn schon, dann bitte richtig...

Die Configfiles für die vHosts gehören in den Subfolder .../sites-available/ und werden mit a2ensite/a2dissite aktiviert/deaktiviert.
Danach noch ein Reload bzw. Restart des Apache.
 
#4
Muss ich dafür den Apache2 installieren/starten?

Sähe die Datei dann so aus?

Code:
<VirtualHost ip.ip.ip.ip>
        <Location Subdomain/>
         DAV svn
         SVNParentPath /home/repositories/
         AuthType Basic
         AuthName "Subversion Repository Access"
         AuthUserFile /etc/apache2/svn.htpasswd
          Require valid-user
        </Location>
        ErrorLog /var/log/apache2/error.log
        LogLevel warn
        CustomLog /var/log/apache2/access.log combined
        ServerSignature On
</VirtualHost>
Dazu noch die Fragen:
- Welcher User (svn.htpasswd) hat darauf Zugriff? Das ist ja eigentlich in den SVN-Daten geregelt?
- Wofür sind die einzelnen anderen Zeigen? Logs könnten raus, oder?

Sorry, ich kenne mich nur so gerade mit den Grundbefehlen aus.
Danke für eure Hilfe.
 
#5
Wenn schon, dann bitte richtig...

Die Configfiles für die vHosts gehören in den Subfolder .../sites-available/ und werden mit a2ensite/a2dissite aktiviert/deaktiviert.
Danke für diesen Hinweis. Das ist mir bekannt und auch gängige Praxis.

Doch bei dieser Gelegenheit würde ich gerne mal eine kleine Hilfestellung von Dir erbitten. Worüber ich mir die ganze Zeit schon den Kopf zermartere, kannst Du mir möglicherweise beantworten.

Welchen Sinn hat dieser Umweg über einen Link?


Bisher kam ich zu dem Ergebnis, dass dieses Vorgehen vor allem für Distributoren sinnvoll sei. Diese hätten die Möglichkeit, fertig konfigurierte Dateien für
subversion.beispiel.de
phpmyadmin.beispiel.de
backups.beispiel.de
... und weitere Subdomains
im Verzeichnis /sites-available/ bereitzustellen. Mit Hilfe des Links im Verzeichnis /sites-enabled/ können die Anwender diese Subdomains nun aktivieren oder deaktivieren/ungenutzt lassen.

Scheinbar habe ich es aber nicht korrekt verstanden. Der TO will gerade eine Datei schreiben, die er ganz gewiss auch benötigen wird. Das Feature, die Subdomain nur bei Bedarf zu aktivieren, wird von ihm ja nicht benötigt.



Pfiffikus,
der sich jetzt brennend dafür interessiert, welche Vorteile der Umweg über die Verlinkung bringen kann
 
#6
Muss ich dafür den Apache2 installieren/starten?
Oh!
Na ich antworte trotzdem mal.

Sähe die Datei dann so aus?
Die Definition der Domain fehlt noch. Ich nehme mal die Konfiguration von meinem Server als Beispiel:
Code:
<VirtualHost *:80>
	ServerAdmin webmaster@beispiel.de

	ServerName svn.beispiel.de
	DocumentRoot /var/www/svn-beispiel-de/

	<Directory />
		Options FollowSymLinks
		AllowOverride None
	</Directory>
	<Directory /var/www/svn-beispiel-de/>
		Options Indexes FollowSymLinks MultiViews
		AllowOverride None
		Order allow,deny
		allow from all
	</Directory>

	<IfModule mod_dav_svn.c> 
		<Location /kalkulationsprojekt>
			DAV svn
			SVNPath /Repositorys/kalkulationsprojekt_repo

			AuthType Basic
			AuthName "Subversion Zentralstelle (Repository)"
			AuthUserFile /etc/irgendwo/svn-auth-file
			AuthGroupFile /etc/irgendwo/svn-group-file
			Require group kalkulation
		</Location>

		<Location /design>
			DAV svn
			SVNPath /Repositorys/design_repo

			AuthType Basic
			AuthName "Zugang zu schoenen Dingen"
			AuthUserFile /etc/irgendwo/svn-auth-file
			AuthGroupFile /etc/irgendwo/svn-group-file
			Require group designer
		</Location>
	</IfModule>

</VirtualHost>
Ob damit jede bestehende DIN eingehalten wird, entzieht sich meiner Kenntnis. Doch es funktioniert.


- Welcher User (svn.htpasswd) hat darauf Zugriff? Das ist ja eigentlich in den SVN-Daten geregelt?
Du kannst den Zugriff sowohl vom Webserver, als auch von Subversion kontrollieren lassen. Im hier gezeigten Beispiel erledigt es der Webserver. Wenn es nur darum geht, wer das Archiv nutzen darf und wenn alle Leute sowohl lesen, als auch schreiben dürfen, ist das so ausreichend.

Auf einem anderen Server habe ich als Zugriffsberechtigung
Code:
Satisfy Any
  AuthzSVNAccessFile /home/ich/SVNAccessFile.txt
eingetragen. Das ist ein Archiv, welches für jedermann zum Lesen und Auschecken zur Verfügung steht. Nur die Schreibberechtigungen werden hier von Subversion geregelt.


Pfiffikus,
der mit solchen Subversionsservern recht gut zurecht kommt
 
Top