Archiv verlassen und diese Seite im Standarddesign anzeigen : Apache mit Subdomains
Hallo,
ich will meinen Apache Server so konfigurieren, dass er
1. Zugriffe auf domain.eu auf /var/www
2. und Zugriffe auf sub.domain.eu auf /var/www/sub
weiterleitet.
Soweit ich das in der Apachedoku richtig verstanden habe, muss ich namensbasierten vhosts in meiner httpd.conf konfiguerieren.
meine /etc/apache2/httpd.conf
# This is here for backwards compatability reasons and to support
# installing 3rd party modules directly via apxs2, rather than
# through the /etc/apache2/mods-{available,enabled} mechanism.
#
#LoadModule mod_placeholder /usr/lib/apache2/modules/mod_placeholder.so
ServerName domain.eu
#Listen 80
NameVirtualHost domain.eu
<VirtualHost domain.eu:*>
ServerName domain.eu
DocumentRoot /var/www/
</VirtualHost>
<VirtualHost *>
ServerName kalender.domain.eu
DocumentRoot /var/www/webDAV-Kalender/
</VirtualHost>
Die Hauptseite wird richtig geladen. Aber wenn ich kalender.domain.eu eingebe, kann die Seite nicht geladen werden.
Was habe ich übersehen?
liess Dir mal
http://httpd.apache.org/docs/2.0/vhosts/name-based.html
und
http://httpd.apache.org/docs/2.0/mod/core.html#namevirtualhost
durch - Du solltest also keine Domain in der NameVirtualHost angeben...
Das funktioniert aber auch nicht.
Meine httpd
# This is here for backwards compatability reasons and to support
# installing 3rd party modules directly via apxs2, rather than
# through the /etc/apache2/mods-{available,enabled} mechanism.
#
#LoadModule mod_placeholder /usr/lib/apache2/modules/mod_placeholder.so
ServerName domain.eu
#Listen 80
NameVirtualHost IP-Adresse:80
<VirtualHost IP-Adresse:80>
ServerName domain.eu
DocumentRoot /var/www/
</VirtualHost>
<VirtualHost IP-Adresse:80>
ServerName kalender.domain.eu
DocumentRoot /var/www/webDAV-Kalender/
</VirtualHost>
Damit habe ich das gleiche Ergebnis, wie mit meiner alten Config.
Wenn ich wie in der Doku geschrieben einfach bei NameVirtualHost ein * setze, dann bekomme ich folgende Fehlermeldung:
[error] VirtualHost *:80 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
.
Oder hab ich in der Doku schon was falsch verstanden oder komplett übersehen?
hast Du es schon mal exakt so
NameVirtualHost *:80
<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> probiert?
michael.sprick
13.07.06, 10:32
Aber wenn ich kalender.domain.eu eingebe, kann die Seite nicht geladen werden.
Wird garkeine Seite angzeigt oder nur die falsche?
Wenn garnix passiert, poste doch mal die Ausgabe von
nslookup domain.eu
und
nslookup kalender.domain.eu
Ansonsten wären die Logs ggf. interessant...
hast Du es schon mal exakt so
NameVirtualHost *:80
<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> probiert?
Exakt so kann ich es ja nicht probieren, da ich ja keine zweite domain habe, sondern nur eine subdomain über meinen apache laufen lassen will. Aber ich habe es mit "*:80" probiert und erhalte die Fehlermeldung:
[error] VirtualHost *:80 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
nslookup domain.eu
und
nslookup kalender.domain.eu
Ergibt vom lokalen Netz aus:
nslookup domain.eu
Server: 192.168.178.1
Address: 192.168.178.1#53
Non-authoritative answer:
Name: domain.eu
Address: richtige externe IP
nslookup kalender.domain.eu
Server: 192.168.178.1
Address: 192.168.178.1#53
** server can't find kalender.domain.eu: NXDOMAIN
Welche Logs sind genau interessant?
** server can't find kalender.domain.eu: NXDOMAIN
na, das klingt doch mal recht logisch, oder?
... und Subdomain = Domain - das Bsp. aus der Apache-Doku würde also funktionieren, wenn da nicht das DNS-Problem wäre...
na, das klingt doch mal recht logisch, oder?
... und Subdomain = Domain - das Bsp. aus der Apache-Doku würde also funktionieren, wenn da nicht das DNS-Problem wäre...
DNS-Problem? Brauch ich nen eigenen DNS-Server um ne subdomain auf ein andres Root-Verzeichnis weiterzuleiten?
das nicht - aber irgendwo sollte die Domain ja registriert sein...
das nicht - aber irgendwo sollte die Domain ja registriert sein...
Das versteh ich nicht ganz. Was muss ich nun noch genau einstellen? Ich habe die Domain, wie auch DSL-Anschluss bei HostEurope. Der A-Record ist auf meine IP-Adresse gesetzt. Was fehlt noch?
_was_ hast Du genau?
DSL + Domain www.domain.de oder
DSL + Domain *.domain.de oder
DSL + Domain www.domain.de, sub.domain.de, ...?
Habe dieses Angebot hier: http://www.hosteurope.de/index.php?func=main&menu=40&prod=132
Z.Z. ist das so Konfiguriert, dass domain.eu und *.domain.eu auf meine IP zeigt (A-Record).
Problem hat sich erledigt. Ich musste doch einen DNS-Server haben. Jetzt geht alles. Danke an alle!
Problem hat sich doch noch nicht erledigt.
Durch den DNS-Server bekomme ich lediglich bei einigen subdomains die Hauptseite angezeigt. Allerdings nicht bei allen, die ich über die virtualhost definiert hab. Außerdem soll natürlich auch nicht immer die Hauptseite angezeigt werden, sondern jeweils eine andere.
[error] VirtualHost *:80 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
... dann würde ich mal an der Fehlermeldung arbeiten.
Nur leider postest Du deine Konfiguration immer auf so verstümmelte Art, dass man irgendwie keine Chance hat, Dir effizient zu helfen.
Gut hier meine komplette /etc/apache2/httpd.conf
# This is here for backwards compatability reasons and to support
# installing 3rd party modules directly via apxs2, rather than
# through the /etc/apache2/mods-{available,enabled} mechanism.
#
#LoadModule mod_placeholder /usr/lib/apache2/modules/mod_placeholder.so
ServerName domain.eu
NameVirtualHost *:80
<VirtualHost *:80>
ServerName domain.eu
DocumentRoot /var/www/
</VirtualHost>
<VirtualHost *:80>
ServerName kalender.domain.eu
DocumentRoot /var/www/webDAV-Kalender/
</VirtualHost>
<VirtualHost *:80>
ServerName mail.domain.eu
DocumentRoot /var/www/mail/
</VirtualHost>
<VirtualHost *:80>
ServerName torrent.domain.eu
DocumentRoot /var/www/torrent/
</VirtualHost>
Keine Ahnung warum, aber auf allen Subdomains können im Moment keine Seiten gefunden werden.
Außerdem frag ich mich, was der Ordner sites-available zu tun hat? Müssen da nicht in irgendeiner Form meine Subdomains rein? Davon steht allerdings nichts in der Doku.
Hier http://httpd.apache.org/docs/2.0/vhosts/examples.html hatte ich noch unter "Using the ServerPath directive" (ganz unten) eine Config gefunden, wo ich dachte die würde passen. Allerdings gibt es im aktuellen Apache2 keine RewriteEngine (mehr). Die genannte Fehlermeldung kommt übrigens nicht mehr.
Gut hier meine komplette /etc/apache2/httpd.conf
....Allerdings gibt es im aktuellen Apache2 keine RewriteEngine (mehr). Die genannte Fehlermeldung kommt übrigens nicht mehr.
Musst du vieleicht "mod_rewrite" hineinkonfigurieren!
Greetz
Thomas
Wenn das deine httpd.conf komplett ist fehlt da aber eininges. Unter anderem:
LoadModule vhost_alias_module modules/mod_vhost_alias.so
Serverroot /var/www
<VirtualHost *:80>
ServerAlias server.lusoft.dyndns.info
DocumentRoot /web/docviewer/server
ServerName server.lusoft.dyndns.info
</VirtualHost>
Danke. Jetzt hab ichs hinbekommen. Allerdings hab ich die ganze Konfiguration der vhosts in meiner /sites-available/default . Das ist das einzige was bei mir funktioniert.
LoadModule vhost_alias_module modules/mod_vhost_alias.so kann er übrigens nicht laden, da es die Dateien bei mir nicht geben soll?!
Das einzige Problem was ich jetzt noch habe ist, dass ich in vhosts keine php-seiten anzeigen lassen kann. Die Dateien werden mir zum Download angeboten. Im Hauptverzeichnis kann er sie allerdings anzeigen.
dann setz
AddType application/x-httpd-php .php .php3 .php4 in den Vhost ein
dann setz
AddType application/x-httpd-php .php .php3 .php4 in den Vhost ein
Habe damit noch genau das gleiche Problem.
Sorry, muss sagen, dass es im Hauptverzeichnis auch nicht geht. Habe die index.htm einfach in php umbenannt und es lief. Wenn ich allerdings domain.eu/torrent (torrent.domain.eu) aufrufe, wo eine "echte" index.php liegt, dann wird mir das als Download angezeigt.
Nun gehts wirklich. Musste noch den Browsercache leeren, dass der Firefox auch merkt, dass sich am Server was geändert hat.
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.