PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Localhost mit mehreren 'domains'


Logic
30.06.2006, 03:46:28
Moin zusammen

Ich habe bisher Xampp verwendet, und die Version die ich hatte lief jetzt mit dem Neuinstallierten Vista nicht mehr.
Desshalb beschloss ich gleich alles selbst zu installieren & konfigurieren.

Jedenfalls habe ich nun 2 Probleme:
1. Die Batchfiles die ich von Xampp noch hatte funktionieren mit Apache 2.2.2 nicht mehr, und somit kann ich nicht mehr einfach zwischen den Domains (lokalen ordnern) wechseln.
2. Ich hab keine (noch) Ahnung wie ich die httpd.conf einrichten kann das ich mehrere Ordner gleichzeitig ansprechen kann, ohne Apache neu zu starten.

Frage:
Kann mir jemand helfen wie ich meine Webordner etwa so ansprechen kann:
http://localhost:100 -> Webordner 1 - phpMyAdmin
http://localhost:101 -> Webordner 2 - Business seite
http://localhost:102 -> Webordner 3 - Game Fansite

Besten Dank im vorraus.

xabbuh
30.06.2006, 08:18:41
Am besten schaust du dir dazu in der Dokumentation mal das Kapitel über virtuelle Hosts an: http://httpd.apache.org/docs/2.0/vhosts/
Bei konkreten Fragen dazu helfen wir dir aber gerne weiter.

Logic
30.06.2006, 09:03:44
Super, jetzt muss ich nur noch die richtigen Ports wählen :)

Hmm ich hab grad noch ein anderes Problem dazu....
Windows Vista mit ntfs
DocumentRoot c:/storage/4_webs/server/subA -> 403 - Verboten
DocumentRoot c:/myweb/apache/htdocs/a -> geht einwandfrei

Beide male über port 1001...
Das finde ich grad etwas verwirrend...

EDIT:
Dito mit 8010, 81, 80, während 8080 mein default, immer ging..

Logic
30.06.2006, 21:50:51
hmm Fehler gefunden.. sind alle Ports zu..

Nächstes Problem:
Ich habe nur 2 offene ports gefunden: 135 und 445..
Wie ihr vermuten könnt, werden diese natürlich vom Broser (FireFox) geblockt.

Nun meine Frage, wie kann ich (hab nur MS Firewall) die Ports für meine VirtualHosts öffnen?

Logic
30.06.2006, 21:52:51
Erledigt, habs gefunden unter:

http://www.microsoft.com/germany/sicherheit/ports.mspx#EWEAC

Logic
30.06.2006, 23:52:35
Hmm, bleibt interessant...

Bei Port 8010 erhalte ich einen 403
Bei Port 8011 erhalte ich einen Fehler: Umleitungsfehler
Bei Port 8012 erhalte ich einen Fehler: Umleitungsfehler
Bei Port 8013 erhalte ich einen Fehler: Umleitungsfehler
8011, 8012, 8013 --> "Die aufgerufene Website leitet die Anfrage so um, dass sie nie beendet werden kann."

Dummerweise erhalte ich das nun auch wenn ich Localhost ohne Port (also normal über 80) öffnen will..

Ausschnitt der httpd.conf:
#Port 80 Settings sind bei den Standart Eitnrägen behandelt...
# die Einträge hier sind ganz am Schluss der Datei

# ****************************************************************
# ****************************************************************
#
# Freie Ports for Virtual Hosts für 'Sub-Domains'
#
# ****************************************************************
# ****************************************************************

# 8010 ServerA
# 8011 ServerB
# 8012 ServerC
# 8013 ServerD
# 8020 TEST

# Ensure that Apache listens on port 80
Listen 8010
Listen 8011
Listen 8012
Listen 8013
Listen 8020

# Listen for virtual host requests on all IP addresses
NameVirtualHost *:8010
NameVirtualHost *:8011
NameVirtualHost *:8012
NameVirtualHost *:8013
NameVirtualHost *:8020

<VirtualHost *:8010>
DocumentRoot c:/storage/4_webs/domain/ServerA
ServerName localhost:8010
Options FollowSymLinks Indexes
</VirtualHost>

<VirtualHost *:1011>
DocumentRoot c:/storage/4_webs/domain/ServerB
ServerName localhost:8011
Options FollowSymLinks Indexes
</VirtualHost>

<VirtualHost *:1012>
DocumentRoot c:/storage/4_webs/domain/ServerC
ServerName localhost:8012
Options FollowSymLinks Indexes
</VirtualHost>

<VirtualHost *:1013>
DocumentRoot c:/storage/4_webs/domain/ServerD
ServerName localhost:8013
Options FollowSymLinks Indexes
</VirtualHost>

<VirtualHost *:1020>
DocumentRoot c:/storage/4_webs/domain/test
ServerName localhost:8020
Options FollowSymLinks Indexes
</VirtualHost>


Die hosts werden mit:
http://localhost:8010
bis
http://localhost:8020
aufgerufen.

Was mache ich falsch?

Besten dank und gruss
Logic

xabbuh
01.07.2006, 08:07:59
Für jeden virtuellen Host musst du auch für den DocumentRoot des entsprechenden virtuellen Hosts einen Directory-Container anlegen, in dem der Zugriff auf das entsprechende Verzeichnis erlaubt wird:

<Directory /dein/documentroot/des/vhost>
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Directory>


Warum willst du die virtuellen Hosts überhaupt über verschiedene Ports und nicht über unterschiedliche Namen steuern?

Logic
01.07.2006, 16:06:48
Ich bin jetzt von den Ports weg, da mir das zu unsicher ist...

Hosts:
127.0.0.1 localhost
127.0.0.1 xampp
127.0.0.1 wow-macros

Vhost Teil der Httpd.conf:
# **************************************************************
#
# Virtual Hosts Settings
#
# **************************************************************
NameVirtualHost *:80

<VirtualHost *:80>
DocumentRoot C:/xampp/xampp/htdocs
ServerName xampp
<Directory C:/xampp/xampp/htdocs>
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Directory>
</VirtualHost>

<VirtualHost *:80>
DocumentRoot C:/www/www
ServerName localhost
<Directory C:/www/www>
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Directory>
</VirtualHost>

Wenn ich http://xampp aufrufe, klappt das wunderbar, das Xampp verzeichnis wird aufgerufen und Fehlerfrei angezeigt...

Rufe ich jedoch http://localhost auf, erhalte ich folgende fehlermeldung:
Umleitungsfehler: Die aufgerufene Website leitet die Anfrage so um, dass sie nie beendet werden kann.

Inhalt der index.php von c:/www/www
<?php
if($p == "") header("Location: ../?p=main");

include("./inc/default.inc.php");
include("../gethost.php");
include("./inc/getmod.inc.php");

// header
include("./php/_header.php");
include("./php/_menu.php");

if (file_exists("./php/".basename("$_GET[p].php")))
{
include("./php/".basename("$_GET[p].php"));
}
else
{
include("./php/notfound.php");
}

include("./php/_footer.php");

include("../page_menu.php");
?>

Bei der letzen Installierten Version von Xampp lief alles noch wunderbar :(

Ich bin am verzweifeln, weil ich seh keine Fehler mehr..

Bin für jede Hilfe dankbar!

Danke und gruss
Logic

Logic
01.07.2006, 18:16:23
Hat sich erledigt, der Fehler lag an der nicht definierten $p.

Behebung:if(!isset($_GET['p']))
{
header('Location:http://'.$_SERVER['SERVER_NAME'].'/?p=main');
}

Grüssle