ich habe eben probiert eine entwicklungsumgebung mit xampp einzurichten wie ich sie für windows habe. was ich haben will:
http://localhost zeigt mir den inhalt des normalen htdocs verzeichnis mit dem standard-inhalt.
http://localdev soll auf einen von mir bestimmten pfad zeigen, in diesem fall ~/Web/Root.
unter windows klappt das ganze problemlos. ich hab' den localdev host in der hosts-datei eingetragen und habe localhost und localdev als virtuelle hosts in der httpd-vhost.conf eingetragen. es funktioniert wie erwartet.
in ubuntu funktioniert es nicht. ich habe xampp heruntergeladen und korrekt unter /opt entpackt. man kann auf den standard-inhalt über http://localhost zugreifen, es klappt soweit alles problemlos. aber jetzt möchte ich auch diese zwei-hosts-entwicklungsumgebung wie unter windows aufsetzen aber daran scheitere ich.
meine vhosts.conf:
- Code: Select all
NameVirtualHost *:80
<VirtualHost *:80>
ServerName localhost:80
DocumentRoot "/opt/lampp/htdocs"
</VirtualHost>
<VirtualHost *:80>
ServerName localdev:80
DocumentRoot "/home/fuzz/Web/Root/www"
</VirtualHost>
eingebunden über meine httpd.conf:
- Code: Select all
ServerRoot "/opt/lampp"
Listen 80
ServerAdmin you@example.com
ServerName localhost
DocumentRoot "/opt/lampp/htdocs"
<Directory />
Options FollowSymLinks
AllowOverride None
#XAMPP
#Order deny,allow
#Deny from all
</Directory>
<Directory "/opt/lampp/htdocs">
Options Indexes FollowSymLinks ExecCGI Includes
AllowOverride All
Order allow,deny
Allow from all
</Directory>
<IfModule alias_module>
ScriptAlias /cgi-bin/ "/opt/lampp/cgi-bin/"
</IfModule>
<Directory "/opt/lampp/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
EnableMMAP off
EnableSendfile off
# Server-pool management (MPM specific)
#Include etc/extra/httpd-mpm.conf
# Multi-language error messages
#Include etc/extra/httpd-multilang-errordoc.conf
# Fancy directory listings
Include etc/extra/httpd-autoindex.conf
# Language settings
#Include etc/extra/httpd-languages.conf
# User home directories
#Include etc/extra/httpd-userdir.conf
# Real-time info on requests and configuration
#Include etc/extra/httpd-info.conf
# Virtual hosts
Include /home/fuzz/Web/vhosts.conf
# Local access to the Apache HTTP Server Manual
#Include etc/extra/httpd-manual.conf
# Distributed authoring and versioning (WebDAV)
#Include etc/extra/httpd-dav.conf
# Various default settings
Include etc/extra/httpd-default.conf
# XAMPP
Include etc/extra/httpd-xampp.conf
ich habe alle zeilen gelöscht die meines wissens nichts mit dem problem zu tun haben sollten.
das ist die ausgabe von httpd -S:
- Code: Select all
fuzz@pcfuzz:~/$ /opt/lampp/bin/httpd -S
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:* is a NameVirtualHost
default server localhost (/home/fuzz/Web/vhosts.conf:3)
port * namevhost localhost (/home/fuzz/Web/vhosts.conf:3)
port * namevhost localdev (/home/fuzz/Web/vhosts.conf:8)
Syntax OK
wenn ich jetzt auf http://localdev über den browser zugreife werde ich intern auf das localhost-root-verzeichnis weitergeleitet, welches mich dann in das /xampp-unterverzeichnis weiterleitet, was ja für http://localhost in ordnung ginge. aber ich habe dann die adresse http://localdev/xampp im browser und bekomme einen 404 not found-fehler.
wenn ich weiter den virtualhost-eintrag für localhost lösche bekomme ich einen 404 wenn ich http://localhost aufrufe. dennoch (!) werde ich in das /xampp unterverzeichnis weitergeleitet. das passiert auch, wenn ich auf http://localdev zugreifen will.
im aller kürze: http://localdev wird intern auf http://localhost übersetzt
das sieht für mich nicht korrekt aus. wenn mir jemand meinen fehler nennen könnte oder mir lösungsansätze hätte wäre ich sehr dankbar.
vielen dank im vorraus, fuzz.
ps: auch wenn ich einen thread bereits in englisch geschrieben habe ist deutsch doch die sprache, in welcher ich mich sicherer fühle. bitte seht das nicht als cross-posting an.