Apache2 Virtual Hosts

Apache, Lighttpd, nginx, Cherokee
joil
Posts: 20
Joined: 2006-07-30 15:44
Location: Aachen

Apache2 Virtual Hosts

Post by joil »

Hi,

Nach langem verzeifelten suchen und ausprobieren schreibe ich jetzt doch mal meinen eigenen Beitrag in der Hoffnung, dass mir einer helfen kann.

Also...
Ich habe auf meinem Root Apache 2.2 + PHP 5 installiert klappt auch alles so weit wunderbar... über die IP und den DNS-Namen komme ich in mein DocumentRoot...

Jetzt möchte ich aber ein paar vhosts einrichten und diese mit meinen Domains bei Strato "verlinken"...

1. bei Starto habe ich für die Domains als Weiterleitung einfach die IP meines Servers angegeben (hoffe das ist richtig^^)

2. in der httpd.conf hab ich dann den DocumentRoot auskommentiert und die httpd-vhosts.conf included... Diese Datei sieht jetzt bei mir so aus:

Code: Select all

NameVirtualHost *:80

<VirtualHost *:80>
    DocumentRoot /usr/local/apache2/htdocs
    ServerName xxx.server4you.de
</VirtualHost>


<VirtualHost *:80>
    ServerAdmin webmaster@domain1.de
    DocumentRoot /srv/www/vhosts/domain1
    ServerName domain1.de
    ServerAlias www.domain1.de
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin webmaster@domain2.de
    DocumentRoot /srv/www/vhosts/domain2
    ServerName domain2.de
</VirtualHost>
dann lande ich aber immer im /usr/local/apache2/htdocs also dem ersten DocumentRoot...

wenn ich das * durch die IP ersetzten ändert sich nichts....

dann hab ich probiert jeweils die Domain in das VirtualHost "Tag" zu schreiben also

Code: Select all

<VirtualHost www.domain1.de> [...] </VirtualHost>
auch das bringt nichts...
Irgendwie hatte ichs auch mal hinbekommen, dass das mit dem anderen DocumentRoot klappte aber auch nur bei der ersten Domain (http://www.domain1.de) und dafür hatte ich dann wenn ich die IP im Browser eingegeben habe immer nen 403 Permission denied error...



Vielleicht guckt sich das ja einer mal an und kann mir sagen was ich falsch mache....


Vielen Dank,
Joel Rosenberg
mattiass
Userprojekt
Userprojekt
Posts: 608
Joined: 2005-12-16 17:57

Re: Apache2 Virtual Hosts

Post by mattiass »

JOiL wrote:

Code: Select all

NameVirtualHost *:80

<VirtualHost *:80>
    DocumentRoot /usr/local/apache2/htdocs
    ServerName xxx.server4you.de
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin webmaster@domain1.de
    DocumentRoot /srv/www/vhosts/domain1
    ServerName domain1.de
    ServerAlias www.domain1.de
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin webmaster@domain2.de
    DocumentRoot /srv/www/vhosts/domain2
    ServerName domain2.de
</VirtualHost>

Du möchtest, dass http://www.domain1.de und domain1.de auf das gleiche ServerRoot verweisen? Statt dem Alias würde ich einen Redirect verwenden, der vermeidet auch für SuMa'n ungünstigen Duplicate Content:

Code: Select all

NameVirtualHost *:80

<VirtualHost *:80>
    ServerName xxx.server4you.de
    DocumentRoot /usr/local/apache2/htdocs
</VirtualHost>

<VirtualHost *:80>
    ServerName domain1.de
    RedirectPermanent / http://www.domain1.de/
</VirtualHost>

<VirtualHost *:80>
    ServerName www.domain1.de
    ServerAdmin webmaster@domain1.de
    DocumentRoot /srv/www/vhosts/domain1
</VirtualHost>

<VirtualHost *:80>
    ServerName domain2.de
    RedirectPermanent / http://www.domain2.de/
</VirtualHost>

<VirtualHost *:80>
    ServerName www.domain2.de
    ServerAdmin webmaster@domain2.de
    DocumentRoot /srv/www/vhosts/domain2
</VirtualHost>
joil
Posts: 20
Joined: 2006-07-30 15:44
Location: Aachen

Re: Apache2 Virtual Hosts

Post by joil »

ok danke,

aber davon klappts immer noch nicht -.-


also ich lande einfahc immer im ersten DocumentRoot ( /usr/local/apache2/htdocs ) auch bei eingabe von einer meiner Domains....

liegt das denn auf jeden fall an der apache config oder kanns auch sein, dass ich irgendwas mim dns anders machen muss oder die Domain falsch weiterleite..?

wie gesagt habe die Domains bei STRATO und habe da im Control panel auf http://0.0.0.0 (meine ip) weitergeleitet....


oder muss ich vllt irgendwas in der hosts datei doer so reinschreiben...!? habe aber gelsen, dass die nur für lokale hostnamen zuständig ist....

:?: :?: :?:


ps:
hab noch en paar informationen zu meinem problem...
also:
wenn ich das alles so mache wie du geschrieben hast (mit meinen daten natürlich) ändert sich erstmal nichts....

wenn ich mal in den ersten vhost-eintrag den DocumentRoot von domain1 (/srv/www//vhosts/domain1) wird mir cniht die sich darin befindende index.php angezeigt dondern ein 403 error :o an der rechte vergabe dürfte das nicht liegen habs sogar mit chmod 777 und chown wwwrun:www verscuht das ändert aber nichts...

wenn ich jetzt /usr/local/apache2/htdocs/domain1/ erstelle und als DocumentRoot con domain1 angebe passiert so weit auch nciht viel außer, dass ich wieder bei eingabe von http://www.domain1.de in /usr/local/apache2/htdocs lande... ABER wenn ich jetzt an die Domain ein /domain1 anhänge geht er brav in den ordner ändert im browser jedoch http://www.domain1.de in die IP Adresse...

Ich habe leider keine Ahnung, was das zu bedeuten hat o.O

aber vielleicht hiolfts ja jemandem weiter mir zu helfen... !?
dann habe ich den ordne
Last edited by joil on 2006-09-08 10:46, edited 1 time in total.
mattiass
Userprojekt
Userprojekt
Posts: 608
Joined: 2005-12-16 17:57

Re: Apache2 Virtual Hosts

Post by mattiass »

JOiL wrote:
wie gesagt habe die Domains bei STRATO und habe da im Control panel auf http://0.0.0.0 (meine ip) weitergeleitet....
Weitergeleitet oder ins DNS eingetragen?

Zeigt

Code: Select all

resolveip www.domain2.de
oder

Code: Select all

ping -c 1 www.domain2.de
auf Deine IP oder die eines anderen Strato-Servers? Wenn Strato nämlich "Weiterleitungsdomains" nicht über einen DNS-Eintrag auf Deine IP, sondern über einen HTTP-Redirect abwickelt, hilft die Apache-Konfiguration nicht.

Du kannst auch zuhause mal die /etc/hosts anpassen:

Code: Select all

123.45.67.89 www.domain1.de domain1.de www.domain2.de domain2.de
Dann müsste die VirtualHosts-Konfiguration klappen.
flo
Posts: 2223
Joined: 2002-07-28 13:02
Location: Berlin

Re: Apache2 Virtual Hosts

Post by flo »

JOiL wrote:1. bei Starto habe ich für die Domains als Weiterleitung einfach die IP meines Servers angegeben (hoffe das ist richtig^^)
Nein, ist es nicht - wenn Du die IP des Servers angibst, landest Du immer im ersten vhost, da dieser der "standard" Virtualhost ist.
JOiL wrote:2. in der httpd.conf hab ich dann den DocumentRoot auskommentiert und die httpd-vhosts.conf included... Diese Datei sieht jetzt bei mir so aus:
Bitte schreib mal, was Du da ausdokumentiert hast, das hört sich nach Unsinn an - dürfte aber nichts ausmachen, wenn Du die wichtigen Sachen in jeden virtuellen Host mit reinschreibst - willst Du das?

Vom Prinzip her läuft das so:

httpd.conf --> Standardeinstellungen, Modulkonfig, Listeners, Ressourcen, Namevirtualhosts einschalten, vhosts evtl. includen
vhostkonfig -->erster Virtualhost übernimmt Sonderrolle, weil es statt der Einstellungen in der httpd.conf hergenommen wird. Erst ab dem zweiten vhost reagiert das Ding wirklich auf nur den Namen.

Wenn Du möchtest, daß Dein Server auf einen Namen reagiert, der nicht auf den Server aufgelöst wird, wird das nur über den ersten virtualhost funktionieren, alternativ kannst Du auch eine Subdomain im VirtualHost angeben, z.B. Domainname.Serverdomain.de - diese kommt in den ServerAlias-Block. Um eine (Sub-)Domain, die auf den Rechner zeigt, kommst Du aber bei Redirects nicht herum.

flo.
joil
Posts: 20
Joined: 2006-07-30 15:44
Location: Aachen

Re: Apache2 Virtual Hosts

Post by joil »

ok also erstmal vielen dank für eure antworten!!
Weitergeleitet oder ins DNS eingetragen?
Das scheint das Problem zu sein... ist der Strato Server... ich gehe davon aus, dass ich das bei strato wahrscheinlcih auch nicht ändern kann oder kann ich dann nur die Domains immer auf subdomains umleiten?
Bitte schreib mal, was Du da ausdokumentiert hast, das hört sich nach Unsinn an - dürfte aber nichts ausmachen, wenn Du die wichtigen Sachen in jeden virtuellen Host mit reinschreibst - willst Du das?
Damit meinte ich nur, dass ich davon ausgegangen bin, dass wenn ich das ganze mit vhosts mache keinen DocumentRoot eintrag mehr am anfang der httpd.conf brauche... :arrow: (
erster Virtualhost übernimmt Sonderrolle, weil es statt der Einstellungen in der httpd.conf hergenommen wird
)

Wenn Du möchtest, daß Dein Server auf einen Namen reagiert, der nicht auf den Server aufgelöst wird
Wie ist es denn in meinem Fall möglich den Namen auf meinen Server aufzulösen? Oder ist es überhaupt möglich..

alternativ kannst Du auch eine Subdomain im VirtualHost angeben, z.B. Domainname.Serverdomain.de - diese kommt in den ServerAlias-Block. Um eine (Sub-)Domain, die auf den Rechner zeigt, kommst Du aber bei Redirects nicht herum.
also verstehe ich dich richtig, dass ich nur einen VirtualHost - block brauche und darein dann über ServerAlias und RedirectPermanent in die jeweiligen Ordner leite..

Ich versuch mcih nochmal und melde mich wenn ich nicht mehr weiterkomme^^



Du kannst auch zuhause mal die /etc/hosts anpassen:
123.45.67.89 http://www.domain1.de domain1.de http://www.domain2.de domain2.de
Dann müsste die VirtualHosts-Konfiguration klappen.
--> Ja klappt!!!!!
Last edited by joil on 2006-09-08 11:05, edited 1 time in total.
mattiass
Userprojekt
Userprojekt
Posts: 608
Joined: 2005-12-16 17:57

Re: Apache2 Virtual Hosts

Post by mattiass »

JOiL wrote:
Weitergeleitet oder ins DNS eingetragen?
Das scheint das Problem zu sein... ist der Strato Server... ich gehe davon aus, dass ich das bei strato wahrscheinlcih auch nicht ändern kann oder kann ich dann nur die Domains immer auf subdomains umleiten?
Na, dann klär zuerst ab, wie der Hostnamen aufgelöst wird.
joil
Posts: 20
Joined: 2006-07-30 15:44
Location: Aachen

Re: Apache2 Virtual Hosts

Post by joil »

Na, dann klär zuerst ab, wie der Hostnamen aufgelöst wird.
wie meinst du "wie der hostnamen aufgelöst wird" ???

soll ich mal bei strato anfragen wie ich mich von deren nameservern loseisen kann?

werde ohne den eintrag in hosts immer auf 81.169.145.69 aufgelöst mit eintrag in hosts klappts und läuft direkt auf meine ip...
mattiass
Userprojekt
Userprojekt
Posts: 608
Joined: 2005-12-16 17:57

Re: Apache2 Virtual Hosts

Post by mattiass »

JOiL wrote: soll ich mal bei strato anfragen wie ich mich von deren nameservern loseisen kann?

werde ohne den eintrag in hosts immer auf 81.169.145.69 aufgelöst mit eintrag in hosts klappts und läuft direkt auf meine ip...
Frag mal bei Strato an, dass wenigstens domain1.de, http://www.domain1.de und ggf. *.domain1.de auf Deine IP aufgelöst werden. mail.domain1.de und der MX-Eintrag können ja bei Strato verbleiben falls gewünscht.

Deine Apache-Konfiguration ist jedenfalls jetzt sauber.
flo
Posts: 2223
Joined: 2002-07-28 13:02
Location: Berlin

Re: Apache2 Virtual Hosts

Post by flo »

JOiL wrote:soll ich mal bei strato anfragen wie ich mich von deren nameservern loseisen kann?

werde ohne den eintrag in hosts immer auf 81.169.145.69 aufgelöst mit eintrag in hosts klappts und läuft direkt auf meine ip...
Stell die hosts-Datei mit Installationsanleitungen für alle Systeme zum Download bereit :twisted:

flo.
joil
Posts: 20
Joined: 2006-07-30 15:44
Location: Aachen

Re: Apache2 Virtual Hosts

Post by joil »

ok...

nochmal vielen Dank für deine Hilfe Mattias!!!

Stell die hosts-Datei mit Installationsanleitungen für alle Systeme zum Download bereit
LOL
flo
Posts: 2223
Joined: 2002-07-28 13:02
Location: Berlin

Re: Apache2 Virtual Hosts

Post by flo »

Ich habe bei Strato keinen Punkt gefunden, wie man das Verhalten der Domains im Vertrag beeinflussen kann, d.h. zumindest die Serverdomain ist wohl ein DNS-Wildcard, den Du für Weiterleitungen benutzen könntest.

AFAIR hab ich den Trick von Confixx, bei dem Du per Username.<hostname> ein Webverzeichnis auch dann ansprechen kannst, wenn die Domain noch nicht (um-)konnektiert ist.

flo.
wgot
Posts: 1675
Joined: 2003-07-06 02:03

Re: Apache2 Virtual Hosts

Post by wgot »

Hallo,
JOiL wrote:soll ich mal bei strato anfragen wie ich mich von deren nameservern loseisen kann?
gehören die Domains bei Strato zu einem Server oder einem Webhostingpaket? Bei Domains zu Servern geht es über einen Resellervertrag, in dem steht allerdings drin, daß man gewerblich tätig srein muß. Wie ernst das genommen wird und ob es auch bei Paketen geht kann ich nicht sagen.
mit eintrag in hosts klappts und läuft direkt auf meine ip...
Das zeigt, daß es funktionieren würde wenn Du die NS-Einträge ändern könntest. Wenn über die Reseller-Lösung nix geht wäre ein Umzug zu einem Domainprovider die beste Lösung.

Wenn es bei der Weiterleitung bleiben soll kann man auf dem Server Subdomains anlegen die den gleichen Namen haben wie die Domains bei Strato (http://erste_domain_bei_strato.domain_vollwertig_auf_dem_server.de) und dann bei Strato diese Subdomain eintragen, das ist sinnvoller und einfacher als auf die IP weiterzuleiten und wieder auseinanderzupflücken.

Gruß, Wolfgang
joil
Posts: 20
Joined: 2006-07-30 15:44
Location: Aachen

Re: Apache2 Virtual Hosts

Post by joil »

Wenn es bei der Weiterleitung bleiben soll kann man auf dem Server Subdomains anlegen die den gleichen Namen haben wie die Domains bei Strato (http://erste_domain_bei_strato.domain_vollwertig_auf_dem_server.de) und dann bei Strato diese Subdomain eintragen, das ist sinnvoller und einfacher als auf die IP weiterzuleiten und wieder auseinanderzupflücken
Ja, so werd ichs wohl erstmal machen... scheint echt das sinnvollst zu sein ohne, dass ich den NS beeinflussen kann...

Ich habe Strato mal ne Mail geschrieben und warte die ab bevor ich dann die Domains umziehe...

gehören die Domains bei Strato zu einem Server oder einem Webhostingpaket?
die domains bei strato gehören teilweise zu einem webhostingpaket und zum anderen teil zu einem "livepages-paket" , welches ich durch meinen DSL-Anschluss kostenlos erhalten habe...
Geht also nix außer Weiterleitung einstellen..

Wenn über die Reseller-Lösung nix geht wäre ein Umzug zu einem Domainprovider die beste Lösung.
kannst du mir da einen bestimmten empfehlen?
joil
Posts: 20
Joined: 2006-07-30 15:44
Location: Aachen

Re: Apache2 Virtual Hosts

Post by joil »

also ich habe jetzt meinen neuen server und wollte es also auf ein neues probieren.. nur habe ich jetzt keinen vorgegeben servernamen (also nur die ip) ist so weit ja auch nciht weiter wichtig..
habe das ganze mit dyndns.org, was mich dann auch dirket auf meine serverip auflöst...

jedenfalls scheitert mein debian 3.1 sarge 64bit bereits nach der inkludierung der vhosts.conf beim restart(start) mit der fehlermeldung:

Code: Select all

/etc/init.d/apache2 start
Starting web server: Apache2[Sat Sep 09 21:28:03 2006] [warn] NameVirtualHost xx.xx.xx.xx:80 has no VirtualHosts
die config datei sieht so aus:

Code: Select all

NameVirtualHost xx.xx.xx.xx:80

<VirtualHost xx.xx.xx.xx:80>
  ServerName xx.xx.xx.xx
  DocumentRoot /var/www/default
</VirtualHost>


hab eigentlcih alles soweit nach dem howto auf debianhowto.de gemacht (http://debianhowto.de/doku.php/de:howto ... :webconfig)


wenn ich jetzt auch wietzere vhosts hinzufüge bekomme ich einen 403 Forbidden

You don't have permission to access / on this server.

auch wenn ich index.html und alles gemacht habe von wegen rechtevergabe etc....


wo ist vllt der haken??? :oops:
flo
Posts: 2223
Joined: 2002-07-28 13:02
Location: Berlin

Re: Apache2 Virtual Hosts

Post by flo »

JOiL wrote:habe das ganze mit dyndns.org, was mich dann auch dirket auf meine serverip auflöst...
Das verstehe ich nciht ganz - hast Du auf dem Server einen dyndns-Client?
JOiL wrote:jedenfalls scheitert mein debian 3.1 sarge 64bit bereits nach der inkludierung der vhosts.conf beim restart(start)
Das Howto ist für woody (!= sarge), das Debian 3.0 ist, kein NameVirtualHosting einsetzt und auch sonst wenig mit Deinen installierten Paketen zu tun haben dürfte.

Sieh zu, daß Du den ersten Host anständig zum Laufen bringst, daß Du auch auf dem richtigen Rechner im richtigen Verzeichnis rauskommst und dann erst füg bitte neue Hosts dazu.

Du brauchst für den ersten Host keinen ServerName, wenn Du da die IP einsetzt - schreibe ich hier IMHO schon zum dritten Mal.

flo.
mattiass
Userprojekt
Userprojekt
Posts: 608
Joined: 2005-12-16 17:57

Re: Apache2 Virtual Hosts

Post by mattiass »

JOiL wrote: wo ist vllt der haken??? :oops:
Du könntest auch einfach hochscrollen zu meinem Posting von 08. 09. 2006 - 10:11? Das hat bei einem Server funktioniert, das klappt auch bei einem zweiten. Tutorials von Apache 1.3 auf 2.x anzuwenden funktionier leider nur selten...
joil
Posts: 20
Joined: 2006-07-30 15:44
Location: Aachen

Re: Apache2 Virtual Hosts

Post by joil »

ahh ok sry leute...

mir war leider nicht bewusst, dass sich da die konfiguration groß unterscheidet...



werd mir also erst nochmal die allgemeine vhost config von debian sarge angucken müssen...


danke für den hinweis!!