Konfiguration für mehrere Domains lokal nachbilden

LordIcon

Newbie
Hey und Hallo,

vielleicht hat ja jemand von euch eine Idee, wie ich meinen lokalen (Entwicklungs)Webserver am besten einrichten könnte bzw. wie ich mehrere Domains am effektivsten lokal nachbilden.

Ich habe mehrere Domains für die ich unabhängig voneinander das eine oder andere Script weiterentwickel oder neuentwickeln möchte. Auf meinem Webserver (im lokalen Netzwerk) habe ich in dem www-Ordner für jede Domain ein Verzeichniss angelegt in der Form "www.DomainName.de" .

Da ich bei jeder Domain das Appache Modul mod_rewrite einsetze, muss ich leider in die .htaccess Datei die sich in jedem Verzeichniss befindet
Code:
RewriteBase /VerzeichnissName
setzen. Auf dem eigentlichen Webserver, wo die Domain später läuft, muss da denn
Code:
RewriteBase  /
stehen wodurch ich denn schonmal ein "Problem" habe, da ich bei einem Update daran immer denken muss, was den sehr unpraktisch ist...

Deswegen stellt sich jetzt mir die Frage, wie ich das ganze am besten auf meinem Entwicklungsserver einrichten könnte damit ich dieses Problem nicht habe!?

Einen VirtuellenHost auf Basis wäre eine Möglichkeit, aber da bräuchte ich denn auch einen DNS Dienst der in meinem Netzwerk z.B. domaine1.lokal / domaine2.lokal korrekt auflöst. Eine weitere Möglichkeit wäre ja denn einen Virtuellen Host auf Basis eines eigenen Ports anzulegen, was denn mehr Aufwand im Bereich der Firewall bedeutet.

Bei beiden Varianten kommt denn noch hinzu, dass ich die Seiten auch von außen über eine dyndns Adresse aufgerufen müsste. ICh an meinem Router aber nur den Port 80 dafür gerne freigeben möchte. Leider kann ich bei meinem Router auch ein PortForwarding in der Form "..dyndns.org:10080 extern auf 192.168.100.10:8080" auch nicht einstellen kann.

Hättet ihr vielleicht eine Idee, wie ich das ganze am effektivsten umsetzen/ realisieren könnte ?! Gibt sicherlich Möglichkeiten beim Apache, nur sehe ich die gerade nicht...
 
A

Anonymous

Gast
LordIcon schrieb:
Einen VirtuellenHost auf Basis wäre eine Möglichkeit, aber da bräuchte ich denn auch einen DNS Dienst der in meinem Netzwerk z.B. domaine1.lokal / domaine2.lokal korrekt auflöst.

Einen DNS benötigst du in deiner Entwicklungsumgebung nicht. Es reicht wenn du die Rechnernamen (FQDN) in die "Hosts-Datei" auf dem Rechner einträgst. von dem du den Webserver testen willst.

Ein Problem mit deiner "Rewritebase" gibt es auch nicht, wenn du für jeden Virtuellen Host die Pfade zu den Verzeichnissen korrekt einstellst.

Für dein Vorhaben sind aber schon fundierte Apache-Kenntnisse von Nöten.

Dieser Link http://httpd.apache.org/docs/2.0/ sollte dir weiterhelfen.
 

LordIcon

Newbie
Mein eigentliches Problem ist einfach jenes, dass ich nicht weiß wie ich die unterschiedlichen Projekte konfigurieren muss damit ich sie über meine dyndns Adresse auch von extern aufrufen kann/ könnte...

Den Apache denn so einzustellen, dass er da denn auch mitspielt ist nicht so das Problem. Ich muss nur erstmal einen Ansatzpunkt haben wie ich das am besten realisiere...
 

nbkr

Guru
Du musst einfach nur Vhosts konfigurieren. Wie das geht steht in diesem Forum ganz oben. Du konfigurierst für jeden Domain einen eigenen vhost auf der Entwicklungsumgebung. ServerName ist dabei immer domainname.localhost. Dann passt Du die /etc/hosts an, so dass domainname.localhost immer auf die 127.0.0.1 verweist.
 

LordIcon

Newbie
Ich hab es jetzt hinbekommen und teileeuch hier einfach denn mal die Lösung mit. Eventuell hat ja auch noch jemand anderes dieses Problem :)

1.) Innerhalb meines DynDNS Accounts habe ich die Option Wildcards aktiviert.

2.) Bei meinem Router habe ich dies ebenfalls aktiviert, biin mir zwar nicht sicher ob das unbedingt notwendig ist.

3.) Innerhalb der Apache Konfiguration habe ich für jede Domain einen VHost angelegt
Code:
<VirtualHost *>
  DocumentRoot /var/www/DomainName
  ServerName DomainName.local
  ServerAlias DomainName.DynDNSName.dyndns.org
</VirtualHost>


DomainName bedeutet bei mir nichts anderes, als der Name eines Verzeichnisses im www-Root.
Beispiel:

Code:
<VirtualHost *>
  DocumentRoot /var/www/phpmyadmin
  ServerName phpmyadmin.local
  ServerAlias phpmyadmin.DynDNSName.dyndns.org
</VirtualHost>

4.) Den Apache neu gestartet.

Wenn ich nun http://dyndnsname.dyndns.org aufrufe, lande ich (wie erwartet) auf der Apache Startseite. Rufe ich dagegen aber http://DomainName.DynDNSName.dyndns.org auf, lande ich auf der entsprechenden Projektseite die sich nun genauso verhält wie DomainName.TLD. Entsprechend des genannten Beispiels kann ich nun über http://phpmyadmin.DynDNSName.dyndns.org direkt die PhpMyAdmin Seite aufrufen.

Was ich jetzt noch hinbekommen müsste, wäre die Möglichkeit das ich aus dem internen Netz die Seite ebenfalls aufrufen können müsste da mein Router leider intern bei den DynDNS Adressen ein Problem hat....
 
Oben