Die Windows Hosts Datei benötige ich dafür dann nicht oder ?
Doch, benötigst du, denn ich gehe mal schwer von aus das du keinen eigenen DNS-Server am laufen hast.
Die Apache-Engine geht nach einer fest definierten Regel vor.
Der erste VHOST ist der Server-VHOST, das heist damit deklarierst du schonmal alle eigenheiten des Apachen im Grundbetrieb, benutzt man kein VHOST so werden die Globalen Definitionen genommen.
Der zweite VHOST ist somit ein "zusatz" zum Server-VHOST und man kann damit erreichen das der Apache mit mehreren "Domainnamen" arbeiten kann obwohl nur einmal der Apache gestartet ist.
Daraus folgt:
Der erste VHOST baust du auf für den jommla Zugang auf,
mit eigenem DocumentRoot und etwaigen Spezifikationen.
Sollte nun eine Anfrage aus dem Internet oder LAN kommen was keinem VHOST zu geordnet werden kann wird der erste VHOST als absolut annerkannt und gibt dann die Informationen ab.
Somit hast du erstmal Sichergestellt das keiner von Aussen auf deinen normalen Server zugreift.
Konzept soweit ich deinen Erklärungen folgen kann:
2 x jommla Versionen = 2 x Pfade wo zugegriffen wird, davon aber 1 x für den Internen gebrauch.
Was wird benötigt:
2 DynDNS Namen (bei dyndns.org kannst du in einem Account bis zu 5 Namen eintragen lassen, oder halt 2 accounst einrichten)
1 x für localhost (also intern) = intern.dyndns.org
1 x für jommla Öffentlich = jommla.dyndns.org
- Code: Select all
NameVirtualHost jommla.dyndns.org:80
<VirtualHost 192.168.111.111:80>
ServerName jommla.dyndns.org
ServerAlias jommla
ServerAdmin webmaster@jommla.dyndns.org
DocumentRoot x:/...../...../htdocs/jommla
ErrorLog #hier solltest du deine Loganweisung schreiben
CustomLog #hier solltest du deine Loganweisung schreiben
<Directory "x:/...../...../htdocs/jommla">
AllowOverride All
Options IncludesNoExec
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost 192.168.111.111:80>
ServerName intern.dyndns.org
ServerAlias intern
ServerAlias localhost
ServerAdmin admin@intern.dyndns.org
DocumentRoot x:/...../...../htdocs
ErrorLog #hier solltest du deine Loganweisung schreiben
CustomLog #hier solltest du deine Loganweisung schreiben
<Directory "x:/...../...../htdocs">
AllowOverride All
Options IncludesNoExec
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Was haben wir damit:
Mit dem ersten VHOST hast du deinen Server aufgebaut und ist nun über von draussen über den Namen jommla.dyndns.org erreichbar und ist direkt auf den Pfad des jommla (liveumgebung) geschaltet.
Der zweite VHOST ist unter intern.dyndns.org erreichbar
Nun gehe ich mal von aus das deine Testumgebung z.b. im Pfad /jommlatest liegt, somit hättest du dann
http://intern.dyndns.org/jommlatest als Zugang von draussen auf die Testumgebung.
Dadurch das man nur den /htdocs Pfad angibt, hast du somit frei hand mit der eingabe der URL.
Daraus folgt, das du der Öffentlichkeit NUR den jommla.dyndns.org angibst und das intern.dyndns.org nicht bekannt machst (logisch oder ?
)
In deiner HOSTS Datei musst du dann wie bisher beide dyndns Namen eintragen, da du aufgrund von Router-Regeln nicht so ohne weiteres auf die dyndns Namen zugreifen kannst. (nur diejenigen aus dem Internet können das, aber nicht LAN ==>Internet ==zurück==> LAN)
Hier greift nun ein kleine Besonderheit, der "ServerAlias" Eintrag.
Wie du siehst habe ich beim jommla einen ServerAlias mit "jommla" eingetragen, diesen Namen kannst du auch in deiner HOSTS eintragen und der aufruf aus dem LAN heisst
http://jommla oder nur
jommla (also ohne etwas davor)
Dasselbe nun auch mit dem wort
intern
So....hoffe ich hab aus dem Kopf jetzt nix vergessen und das Konstrukt fuktioniert so.
Bitte, bevor du nun die VHOST übernimmst, erstmal ein backup deiner httpd.conf... warum... ganz einfach, damit kannst du innerhalt einer Sekunde alles wieder so hinstellen wie es zur zeit funktioniert.