Subdomain setup für subversion

dermichi

New Member
Liebe Experten,

Ich habe einen vserver, der bisher nur eine Website gehostet hat. Jetzt hätte ich da aber gerne auch ein subversion-repository, das unter einer entsprechenden Subdomain erreichbar sein soll, also z.B. svn.example.com

Auf der Serverseite läuft inzwischen subversion, und mit folgender /etc/apache2/sites-enabled/svn funktioniert auch ein checkout:
Code:
<VirtualHost *>
        ServerName svn.example.com
        ServerAdmin admin@example.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>

allerdings nur, wenn ich von der Domain example.com auschecke, die subdomain svn.example.com findet er nicht, also:
Code:
svn co http://svn.example.com/repository
funktioniert nicht, aber
Code:
svn co http://example.com/repository
funktioniert einwandfrei.
Allerdings erst, seit ich meine Website offline genommen habe. Das ist natürlich unbefriedigend.

Das Problem liegt sicher an dem DNS-Record, im Moment sieht er so aus:
svn A ip.adr.es.se

Muss ich da einen CName nehmen, der auf svn.example.com deutet?
Oder erkennt mein apache von selbst, wenn ein request für svn.example.com ankommt, und leitet dann weiter an svn?

Ich bin gerade ziemlich verwirrt - verzeiht. Mit DNS Einträgen ging mir das aber schon immer so.

Dankbar für Hilfe,
Michi
 
Ja.

"Funktioniert nicht" ist übrigens keine akkurate Fehlerbeschreibung.

Das ist natürlich völlig richtig, dass das keine akkurate Fehlerbeschreibung ist. Akkurater: svn hat (korrekterweise) die subdomain svn.example.com nicht auflösen können.

Ich glaube, mein Problem hat mehrere Ursachen:
Ich hatte erst die Subdomain svn.example.com falsch angelegt, nämlich als CName anstatt als A. Das habe ich inzwischen korrigiert (auch wenn sich das noch nicht zu meinem DNS-Server rumgesprochen hat). jetzt ist sie als A-Record angelegt und zeigt auf meine IP-Adresse.

Das andere Problem liegt vermutlich an meinen VirtualHost-Einstellungen. Jetzt habe ich eingehend die Apache-Docs konsultiert.
Da steht folgende httpd.conf:
Code:
<VirtualHost *:80>
ServerName www.domain.tld
ServerAlias domain.tld *.domain.tld
DocumentRoot /www/domain
</VirtualHost>

<VirtualHost *:80>
ServerName www.otherdomain.tld
DocumentRoot /www/otherdomain
</VirtualHost>

Das führt natürlich zu folgender Frage: Wenn im ersten VirtualHost-Block als Server-Alias steht:
Code:
ServerAlias domain.tld *.domain.tld

-gehen dann Requests für svn.domain.tld auch an diesen VirtualHost? Weil dann kann natürlich svn-Zugriff auf svn.domain.tld nicht funktionieren. Und wenn das so ist, wie löse ich das Problem dann? Nehme ich einfach den ServerAlias *.domain.tld raus?

Hm. Meine gestrige Verwirrung ist jetzt einer neuen Verwirrung gewichen...

Vermutlich sind das alles extrem dämliche Fragen, aber vielleicht kann mir das jemand erklären?

Grüße,

Michi
 
Ich hatte erst die Subdomain svn.example.com falsch angelegt, nämlich als CName anstatt als A.
Das wäre egal gewesen.

Das führt natürlich zu folgender Frage: Wenn im ersten VirtualHost-Block als Server-Alias steht:
Code:
ServerAlias domain.tld *.domain.tld

-gehen dann Requests für svn.domain.tld auch an diesen VirtualHost?
Das kommt auf die Reihenfolge an. Wenn der VirtualHost für *.example.com vor svn.example.com steht, werden alle Anfragen an svn.example.com von dem VirtualHost mit der Wildcard beantwortet.

Und wenn das so ist, wie löse ich das Problem dann? Nehme ich einfach den ServerAlias *.domain.tld raus?
Das wäre IMHO generell zu empfehlen. Du richtest ja auch nicht für jede Domain ein Catchall-E-Mail-Konto ein.
 
Back
Top