Wieder mal die unendliche Geschichte vhosts

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

Wieder mal die unendliche Geschichte vhosts

Postby Chris_C » 06. March 2011 22:24

Hallo,

auf meinen alten Rechnern laufen als lokale WebServer zum Test meiner WebSites ältere Versionen von XAMPP. Nun wollte ich die neueste Version (1.7.4) auf meinem neuen Rechner unter XP Prof. SP3 installieren und bin gerade mit Apache am verzweifeln. Da sich die Struktur der config-Dateien geändert hat, kann ich diese leider nicht 1:1 übernehmen, und so bin ich gerade am experimentieren. Folgendes Problem:

1. Neuinstallation, Domains in hosts-Datei eingetragen und Apache gestartet --> localhosts aufrufbar, XAMPP Startseite erscheint
2. Ping www.domain1.de routet wie erwartet auf 127.0.0.1 --> so far so good
3. Dann habe ich in der Datei httpd-vhposts.conf zum Test folgenden Eintrag vorgenommen (dort sollen, sobald der erste funktioniert, mehrere vhosts domain1..domain6 rein):
NameVirtualHost *:80
<VirtualHost domain1.de:80>
ServerName www.domain1.de
ServerAlias domain1.de *.domain1.de
DocumentRoot "D:/Homepage/domain1"
</VirtualHost>

Ergebnis: XAMPP-Startseite ist immer noch aufrufbar, aber beim Aufruf von www.domain1.de/index.htm (diese Datei gibt's definitiv im angegeben Verzeichnis) zeigt der Browser nur einen 404-Fehler. Den DocumentRoot habe ich dabei mit und ohne / am Ende ausprobiert (neben vielen weiteren Dingen wie z.B. Windows-Notation mit Backslash statt Slash), und nichts funktioniert.

Hat jemand eine Idee, mit welcher Scheuklappe ich gerade durch die Gegend renne?

Gruß
Chris
Chris_C
 
Posts: 18
Joined: 20. November 2004 13:17

Re: Wieder mal die unendliche Geschichte vhosts

Postby WilliL » 06. March 2011 23:19

http://httpd.apache.org/docs/2.0/de/vhosts/examples.html

vermutlich:
Code: Select all
 <VirtualHost domain1.de:80>
->  <VirtualHost *:80>

sollte mit NameVirtualHost *:80 übereinstimmen
Willi
WilliL
 
Posts: 661
Joined: 08. January 2010 10:54
Operating System: Win7Home Prem 64 SP1

Re: Wieder mal die unendliche Geschichte vhosts

Postby Chris_C » 07. March 2011 07:30

Danke für den Hinweis. Das hatte ich auch schon ohne Erfolg ausprobiert. Sobald ich <VirtualHost *:80> statt <VirtualHost domain1.de:80> eintrage, stellt sich Apache stur und will 127.0.0.1 nicht finden (404).

Sooo schrecklich kompliziert, daß man allzuviel falsch machen könnte, ist der Config-Eintrag ja eigentlich nicht. Was stimmt hier nicht?
Chris_C
 
Posts: 18
Joined: 20. November 2004 13:17

Re: Wieder mal die unendliche Geschichte vhosts

Postby glitzi85 » 07. March 2011 10:34

Hallo,

sobald du einen VirtualHost erstellst, wird dieser zu deinem Hauptserver. Das bedeutet, alle Anfragen die nicht zu einem anderen vHost passen (vom ServerName her) werden vom ersten vHost bedient. Das bedeutet, die XAMPP-Seite funktioniert dann natürlich nicht mehr.

Code: Select all
NameVirtualHost *:80

<VirtualHost *:80>
  ServerName localhost
  DocumentRoot /xampp/htdocs
</VirtualHost>

<VirtualHost *:80>
  ServerName example.com
  DocumentRoot /Homepage/domain1
  <Directory /Homepage/domain1>
    Order allow,deny
    allow from all
  </Directory>
</VirtualHost>


mfg glitzi
User avatar
glitzi85
 
Posts: 1920
Joined: 05. March 2004 23:26
Location: Dahoim

Re: Wieder mal die unendliche Geschichte vhosts

Postby WilliL » 07. March 2011 13:59

Chris_C wrote:Sooo schrecklich kompliziert, daß man allzuviel falsch machen könnte, ist der Config-Eintrag ja eigentlich nicht. Was stimmt hier nicht?


wenn man mit vhosts spielt ist für mich die http://httpd.apache.org/docs/2.0/de/vhosts/ wichtig :wink:
Willi
WilliL
 
Posts: 661
Joined: 08. January 2010 10:54
Operating System: Win7Home Prem 64 SP1

Re: Wieder mal die unendliche Geschichte vhosts

Postby Chris_C » 07. March 2011 14:16

Danke für den Hinweis. Den localhost-Eintrag hatte ich nach etlichen Versuchen entfernt, um das Problem möglichst eng einzukreisen. Wenn ich wieder zu Hause bin, werd' ich ihn wieder reinnehmen.

Was mir aufgefallen ist bzw. mich stutzig gemacht hat, sind 2 Dinge:
1. Der <Directory>-Eintrag in Deinem Config-Schnipsel fehlt in meinem Template (unter Windows XP), das XAMPP bei der Installation abgelegt hat. Kann/sollte man diesen Eintrag unverändert für Windows übernehmen oder gibt's plattformabhängige Unterschiede?
2. Beim Suchen nach einer Lösung habe ich sowohl Pfadangaben in Windowsnotation mit backslash (dann Pfad in Anführungszeichen) als auch in Linux-/Web-Notation mit Slash gesehen. Was ist unter Windows korrekt, oder funktioniert beides?


WilliL wrote:
Chris_C wrote:Sooo schrecklich kompliziert, daß man allzuviel falsch machen könnte, ist der Config-Eintrag ja eigentlich nicht. Was stimmt hier nicht?


wenn man mit vhosts spielt ist für mich die http://httpd.apache.org/docs/2.0/de/vhosts/ wichtig :wink:

Schon richtig, und insbesondere die Beispiele sind im Grunde auch hilfreich. Aber wenn meine Vermutung/Hoffnung richtig ist, habe ich einfach zu früh aufgegeben: Wenn localhost keine XAMPP-Begrüßungsmeldung brachte, hatte ich das sofort als Fehlschlag der Einstellungen gewertet. Glitzi85 läßt mich hoffen, daß es das nur daran lag, daß der vhost funktioniert hat. Mal sehen!
Chris_C
 
Posts: 18
Joined: 20. November 2004 13:17

Re: Wieder mal die unendliche Geschichte vhosts

Postby Nobbie » 07. March 2011 14:35

Chris_C wrote:Kann/sollte man diesen Eintrag unverändert für Windows übernehmen oder gibt's plattformabhängige Unterschiede?


Weder noch. Man muss die Einträge an die eigene Umgebung anpassen und insbesondere wissen, was man da tut und warum man es tut. Einfach "Templates" sind das nicht, sondern Konfigurationsdirektiven, die u.a. Zugrifssrechte steuern. Mit Plattformen hat das gar nichts zu tun.

Chris_C wrote:2. Beim Suchen nach einer Lösung habe ich sowohl Pfadangaben in Windowsnotation mit backslash (dann Pfad in Anführungszeichen) als auch in Linux-/Web-Notation mit Slash gesehen. Was ist unter Windows korrekt, oder funktioniert beides?


Der Slash in Windows Pfadnamen funktioniert schon seit MS-DOS 1.0.
Nobbie
 
Posts: 8779
Joined: 09. March 2008 13:04

Re: Wieder mal die unendliche Geschichte vhosts

Postby Chris_C » 07. March 2011 19:29

"Unverändert" übernehmen bezog sich auf >Directory> und war falsch ausgedrückt; den Pfad muß man selbstverständlich anpassen.

Ich hab's jetzt ausprobiert, und wieder lädt bei Aufruf von localhost bzw. 127.0.0.1 die XAMPP-Startseite mit Fehlermeldung 403 nicht und meint, der Zugriff auf das Dokument sei nicht möglich. Physikalisch ist es aber da! Gleiches bei Aufruf des Domainnamens.

Was nun?
Chris_C
 
Posts: 18
Joined: 20. November 2004 13:17

Re: Wieder mal die unendliche Geschichte vhosts

Postby Chris_C » 07. March 2011 19:57

So, hab's hingekriegt. Die Hoffnung, die mir Glitzi85 mit seinem Template gemacht hatte, wurde letzten Endes nicht enttäuscht. Herzlichen Dank dafür! Allerdings ging's nicht exakt wie angegeben sondern so:

NameVirtualHost *:80

<VirtualHost *:80>
ServerName localhost
DocumentRoot c:/programme/html/xampp/htdocs
</VirtualHost>

<VirtualHost *:80>
ServerName example.com
DocumentRoot /Homepage/domain1
<Directory /Homepage/domain1>
Order allow,deny
allow from all
</Directory>
</VirtualHost>

Unterschied ist der absolute Pfad für das XAMPP-HTML-Startverzeichnis. Geht XAMPP etwa davon aus, daß es direkt ins Root installiert wird? Ich dachte bisher, es wird der Installationspfad als "Startpunkt" verwendet. :-o
Chris_C
 
Posts: 18
Joined: 20. November 2004 13:17

Re: Wieder mal die unendliche Geschichte vhosts

Postby WilliL » 07. March 2011 20:41

DocumentRoot ist ein absolter Pfad!
PS ich würde auch error-logs je vhost installieren - sind Gold wert beim debuggen
Code: Select all
NameVirtualHost *:80

<VirtualHost *:80>
    ServerAdmin postmaster@localhost
    DocumentRoot "C:/xampp174/htdocs"
    ServerName localhost
    ##ServerAlias www.dummy-host.localhost
    ErrorLog "logs/error-localhost.log"
    LogLevel warn
    CustomLog "logs/localhost-access.log" combined
    <Directory "C:/xampp174/htdocs">
        Options Indexes FollowSymLinks Includes ExecCGI
        Order allow,deny
        Allow from all
        AllowOverride All
        DirectoryIndex index.php index.shtml index.html index.htm
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin webadmin@klosterspieler.de
    DocumentRoot "D:/www/klosterspieler"
    ServerName kvb
    ServerAlias klosterspieler
   ## auch in etc/host eintragen !!!!!
    ErrorLog "logs/error-kvb.log"
    LogLevel warn
    CustomLog "logs/kvb-access.log" combined
    <Directory "D:/www/klosterspieler">
        Options Indexes FollowSymLinks Includes ExecCGI
        Order allow,deny
        Allow from all
        AllowOverride All
        DirectoryIndex index.php index.shtml index.html index.htm
    </Directory>
</VirtualHost>
Willi
WilliL
 
Posts: 661
Joined: 08. January 2010 10:54
Operating System: Win7Home Prem 64 SP1

Re: Wieder mal die unendliche Geschichte vhosts

Postby Chris_C » 07. March 2011 21:14

Yepp, das habe ich gemerkt! ;-) Ist allerdings im Grunde auch logisch.

Die Errorlogs hab' ich nur zwecks Fehlersuche rausgenommen und kommen selbstverständlich wieder rein.
Chris_C
 
Posts: 18
Joined: 20. November 2004 13:17

Re: Wieder mal die unendliche Geschichte vhosts

Postby glitzi85 » 08. March 2011 11:55

Chris_C wrote:Unterschied ist der absolute Pfad für das XAMPP-HTML-Startverzeichnis. Geht XAMPP etwa davon aus, daß es direkt ins Root installiert wird? Ich dachte bisher, es wird der Installationspfad als "Startpunkt" verwendet. :-o

Wenn nichts angegeben ist gehe ich immer davon aus, dass alles nach Anleitung gemacht wurde, also XAMPP nach C:\xampp installiert wurde. Daher war mein Beispiel natürlich auch dafür ausgelegt. Und nein, der DocumentRoot muss nicht absolut sein: http://httpd.apache.org/docs/2.2/mod/co ... cumentroot

mfg glitzi
User avatar
glitzi85
 
Posts: 1920
Joined: 05. March 2004 23:26
Location: Dahoim

Re: Wieder mal die unendliche Geschichte vhosts

Postby WilliL » 08. March 2011 18:13

danke für den Hinweis.
httpd.conf (Standard)- ServerRoot "C:/xampp174/apache"
http://httpd.apache.org/docs/2.2/mod/core.html#documentroot wrote:DocumentRoot /usr/web
Damit bezieht sich ein Zugriff auf http://www.my.host.com/index.html auf /usr/web/index.html. Wenn das Verzeichnis nicht absolut angegeben ist, wird es relativ zu ServerRoot betrachtet.

Kann es sein, dass dies für XAMPP nicht die ideale Lösung ist, - security?, /htdocs gibt es dort auch
Ich denke, ich werde lieber beim absoluten Pfad bleiben. Vielleicht gehen daher auch viele vhost Konfiguration in die Hose, denn in XAMPP ist der Standart DocumentRoot "C:/xampp174/htdocs" gesetzt.
Willi
WilliL
 
Posts: 661
Joined: 08. January 2010 10:54
Operating System: Win7Home Prem 64 SP1

Re: Wieder mal die unendliche Geschichte vhosts

Postby glitzi85 » 08. March 2011 21:27

WilliL wrote:Kann es sein, dass dies für XAMPP nicht die ideale Lösung ist, - security?, /htdocs gibt es dort auch
Ich denke, ich werde lieber beim absoluten Pfad bleiben. Vielleicht gehen daher auch viele vhost Konfiguration in die Hose, denn in XAMPP ist der Standart DocumentRoot "C:/xampp174/htdocs" gesetzt.

Nein, das hast du glaub falsch verstanden. Der Apache setzt beim starten die ServerRoot-Variable auf den Wert in der httpd.conf. Dann wird geschaut, ob in der httpd.conf die DocumentRoot-Direktive gesetzt ist. Ist dies der Fall, dann wird die DocumentRoot-Variable auf diesen Wert gesetzt. Ansonsten gilt DocumentRoot = ServerRoot. Ist jetzt ein VirtualHost definiert, dann wird die DocumentRoot-Variable als Vorlage für den DocumentRoot im vHost verwendet. Ist dort keiner angegeben, dann wird der globale DocumentRoot verwendet (der nur gleich dem ServerRoot ist, wenn in der globalen Konfiguration KEIN DocumentRoot definiert wurde), ansonsten natürlich der DocumentRoot vom vHost.

Relative Pfade im Apache gelten IMMER relativ zum ServerRoot, wie in den meisten anderen Programmen auch.

Ich persönlich verwende da auch immer absolute Pfade, aber unter Linux ist das eh was anderes. Da würde dir die Punkte-Taste ausleiern, bevor du fertig mit konfigurieren bist ;-)

mfg glitzi
User avatar
glitzi85
 
Posts: 1920
Joined: 05. March 2004 23:26
Location: Dahoim

Re: Wieder mal die unendliche Geschichte vhosts

Postby WilliL » 09. March 2011 00:24

Danke
Willi
WilliL
 
Posts: 661
Joined: 08. January 2010 10:54
Operating System: Win7Home Prem 64 SP1


Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 5 guests