Virtual host - aber wie?

gma

Aktives Mitglied
Thread Starter
Dabei seit
18.02.2007
Beiträge
119
Reaktionspunkte
2
Hallo,

ich möchte auf meinem Rechner eine komplexe Webanwendung installieren und würde dafür gerne eine virtuellen host einrichten, aber egal was ich tue, ich bekomme nur ein

"Fehler: Verbindung fehlgeschlagen"

im Browser unter http://hostname/.

Meine bereits installierten Seiten unter localhost funktionieren auch so lange vhost nicht aktiviert sind. Sobald ich in der httpd.conf

Code:
Include /private/etc/apache2/extra/httpd-vhosts.conf


stehen habe,funktioniert garnichts mehr.

Meine httpd-vhosts.conf
Code:
#
# Virtual Hosts
#
# If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at 
# <URL:http://httpd.apache.org/docs/2.2/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration.

#
# Use name-based virtual hosting.
#
NameVirtualHost *:80

#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#
<VirtualHost *:80>
** DocumentRoot "/Library/WebServer/Documents"
** ServerName localhost
</VirtualHost>

<VirtualHost +:80>
** DocumentRoot "/Users/username/Sites/ucsc"
** ServerName ucsc
</VirtualHost>


Options Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
AllowOverride All
Order allow,deny
Allow from all


die hosts:

Code:
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1	localhost
255.255.255.255	broadcasthost
::1             localhost 
fe80::1%lo0	localhost
127.0.0.1	ucsc

In der httpd.conf habe ich nur das "#" vor dem include vhosts entfernt.

Dann habe ich Apache neu gestartet (über Systemeinstellungen), mit dem oben genannten (Miß-)Erfolg.

Ein Start aus der Konsole bringt dagegen:

Code:
apachectl -S
[Thu Dec 03 21:53:23 2009] [warn] Useless use of AllowOverride in line 353 of /private/etc/apache2/httpd.conf.
Syntax error on line 28 of /private/etc/apache2/extra/httpd-vhosts.conf:
Invalid command '\xca\xca', perhaps misspelled or defined by a module not included in the server configuration

Aber in Zeile 28 steht:
** DocumentRoot "/Library/WebServer/Documents"

Wo ist denn da ein Befehl?:confused:

Wäre toll, wenn mir jemand das Brett vorm Kopf entfernen könnte!!

gma
 
Mach mal die beiden Sternchen raus, die jeweils am Anfang der Zeilen mit »DocumentRoot« und »ServerName« stehen.
Und bei »<VirtualHost +:80>« aus dem Plus ein Sternchen machen.
 
Hallo,

vielen Dank, aber den Tip hatte ich auch schon im Netz irgendwo gefunden gehabt und auch getestet, hat aber nix gebracht.

Das "+" ist ein Schreibfehler den ich eingefügt habe als ich meine .conf Datei wieder von 127.0.0.1 in den Originalzustand versetzt habe (*).

Bedeutet das aber ansonsten, dass alles soweit in Ordnung sein sollte?


gma
 
Da kommt noch die gleiche Fehlermeldung, wenn keine Sternchen mehr drin sind? Sicher?
 
Ja, leider.

Da ich mir nicht so ganz sicher bin, was ich jetzt so alles in meiner vhost.conf geändert habe:

Code:
#
# Use name-based virtual hosting.
#
NameVirtualHost *:80

#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#
<VirtualHost 127.0.0.1:80>
** DocumentRoot "/Library/WebServer/Documents"
** ServerName localhost
</VirtualHost>

<VirtualHost 127.0.0.1:80>
** DocumentRoot "/Users/username/Sites/ucsc"
** ServerName ucsc
</VirtualHost>


Was sehr eigenartig ist: wenn ich den Eintrag
PHP:
127.0.0.1 ucsc

aus der host Datei auskommentiere, funktioniert (zumindest einige Skripts) wieder der normale localhost, bestimmte Anwendungen gehen aber nicht. Irgendwie glaube ich, dass mit meinen Pfaden/Rechten irgendwas nicht stimmt.

Edit: neh, letzteres stimmt nicht, war nur etwas aus dem BrowserCache, was mir vorgegaukelt hat, dass etwas funktionieren könnte.

gma
 
sehr eigenartig, dass habe ich nun davon, zufällig darüber gestolpert zu sein, dass man die ganzen Unix-Dateien unter Mac OS X auch anders als ich das vorher gemacht habe, zu öffnen.

Vorher

sudo pico/nano

Jetzt:

Textwrangler - open hidden files

Offensichtlich hat Textwrangler zwei komische Zeichen anstatt der Leerzeichen vor den Angaben für die host eingefügt, in Nano waren dies irgendwelche (binären) Zeichen, die offensichtlich nicht normaler Text waren.

Habe ich in Nano entfernt!!
Jetzt geht es wunderbar!!!!!

gma

P.S.: sorry für die Unanehmlichkeiten, in Zukunft bleibe ich beseer in der Konsole!
 
Zuletzt bearbeitet:
Zurück
Oben Unten