PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Apache | vHost-Tipp



Chocwise
22.07.2004, 04:54
Einige die hier regelmäßig reinschauen haben einen eigenen WAMPP oder LAMPP auf ihrem Rechner laufen.
Allerdings ist der Gedanke daran das irgendwelche Leute euren Server finden und dort uneingeladen auf der Page rumschnüffeln können indem sie Forumlogs, Serverlogs oder auch IP-Range-Scans wälzen nicht der Schönste. ;)

Um das zu umgehen kann man mit vHosts arbeiten womit man nur den Server erreichen kann, wenn man die richtige Adresse kennt. ;)
Sucht man die IP auf, landet man auf einer vorbereiteten Sackgassenseite oder bekommt einen Fehler ausgespuckt.

Hier also die Anleitung wie man das bewerkstelligt:

Zunächst brauchst du eine Adresse für deinen Server. Dafür möchte ich http://www.dyndns.org/services/dyndns/ empfehlen.
Der Vorteil dieses Angebots ist
a) die Zuverlässigkeit.
b) die Kostenlosigkeit.
c) die Werbefreiheit.
d) das besondere Etwas. ;)

Denn mit DynDNS kann man sich eine feste Adresse besorgen für seine gewöhnlich ständig wechselnde IP.

Man muss allerdings immer dafür sorgen das die IP die für die entspr. DynDNS-Adresse eingetragen ist, aktuell bleibt.

Beim Anlegen einer solcher Adresse achtet darauf das ihr "Wildcards" aktiviert. Ist ganz nützlich für weitere vHosts. ;)

Die angenehmste Lösung um seine IP bei DynDNS zu updaten, wäre ein Router der diese Aufgabe selbst übernimmt. Einige Router unterstützen den IP-Update beim DynDNS-Service. Schaut einfach mal in den Konfigurationen nach.

Eine Weitere Lösung ist das Updaten durch Klick auf einen Bookmark. Dazu muss man sich eine Adresse nach diesem Beispiel zusammenschustern:
http://Anmeldename:Kennwort@members.dyndns.org/nic/update?system=dyndns&hostname=Subdomainname.dyndns.org&myip=&wildcard=ON&mx=&backmx=NO&offline=NO
Die farbig markierten Teile bitte mit den eigenen Daten befüllen.

Eine weitere Lösung wären Programme die die IP updaten.
Diese gibt es hier:
http://www.dyndns.org/services/dyndns/clients.html
Allerdings kann ich nicht viel dazu sagen weil ich nie eines davon benutzt habe.


Wenn ihr euch nun eure Adresse besorgt habt, kommen wir zum Anlegen der vHosts im Apache.
Dazu öffnet eure Apachekonfigurationsdatei httpd.conf im Texteditor.

Sucht in dieser Datei den Bereich in dem bereits Beispiele für "virtual hosts" stehen und tragt dort dieses hier hinzu:

NameVirtualHost *

<VirtualHost *>
ServerName *
DocumentRoot "C:\pfad\zum\Blindhost"
</VirtualHost>
Diese Direktive bewirkt das zunächst alle Anfragen an den Server egal über welche Adresse aufgerufen auf den in DocumentRoot definierten Ordner geleitet werden.
Idealerweise sollte dort nun eine .htaccess Datei liegen die einen gewünschten Fehler erzeugt. Forbidden, 404, 500, Moved... wie ihr wünscht. ;)
Oder auch eine index.html mit dem Hinweis das es hier nix zu sehen gibt.

Darunter packt diese Direktive:

<VirtualHost *>
ServerName subdomain.dyndns.org
DocumentRoot "C:\pfad\zur\eigentlichen\Seite"
</VirtualHost>
Wenn ihr bei "subdomain.dyndns.org" eure DynDNS-Adresse eintragt, wird man, sollte man diese Adresse aufrufen, auf die eigentliche Page geleitet und auch wirklich nur wenn man über diese Adresse kommt. Alles andere, auch localhost, NetzwerkIP des Rechners, WAN-IP des Rechners oder andere Adressen, kommt man auf die Sackgassenseite bzw bekommt den Fehler ausgespuckt.

Natürlich könnt ihr, um nicht immer über eure DynDNS-Adresse gehen zu müssen, auch Localhost auf eure eigentliche Seite lenken, ändert dazu die oben zuletzt genannte Direktive auf:

<VirtualHost *>
ServerName subdomain.dyndns.org
ServerAlias localhost 127.0.0.1
DocumentRoot "C:\pfad\zur\eigentlichen\Seite"
</VirtualHost>

Natürlich könnt ihr auch noch ggf. weitere Adressen unter ServerAlias eintragen über die man die Hauptseite erreichen können soll.

Nun kommen wir auf die "Wildcards" zurück von denen ich euch riet sie bei eurer DynDNS-Adresse zu aktivieren.
Mithilfe der Wildcards könnt ihr euch nun so viele vHosts anlegen wie ihr mögt.
Dazu braucht ihr nur irgendeinen Begriff mit anschließendem Punkt vor eure DynDNS-Addy setzen:
beispiel.subdomain.dyndns.org

Diese Adresse könnt ihr nun als Serveralias bei Serveralias eures Haupthosts eintragen, aber ihr könnt auch einen komplett neuen vHost anlegen:

<VirtualHost *>
ServerName beispiel.subdomain.dyndns.org
DocumentRoot "C:\pfad\zum\anderen\Projekt"
</VirtualHost>


Was ihr draus macht, müsst ihr selbst wissen, ich persönlich finds sehr interessant. ;)

Crash-Override
22.07.2004, 19:12
Hört sich sehr praktisch an...

Kann man über diese irgendwas.DynDNS.org Adressen dann egetlich auch noch n' Domain drüberlegen .de oder .de.vu oder so was?

mitaki
22.07.2004, 19:56
Sicher, de.vu leitet weiter auf dyndns, was wiederum auf deinen Server weiterleitet.

Was ihr draus macht, müsst ihr selbst wissen, ich persönlich finds sehr interessant. ;)Das ist es und sehr nützlich, nebenbei konnte ich sogar noch etwas lernen, ein schöner Beitrag deinerseits.

Chocwise
30.07.2004, 04:25
Ich hab noch etwas rumgefummelt und eine bessere Lösung als die Sackgassenseite bzw. Fehlermeldung gefunden. ;)
Und zwar eine Weiterleitung auf eine andere Seite. :D
Auf Welche? Zucktmitdenschultern* Seid Kreativ. :D
- Auf Squarenet. ;)
- Auf www.ccc.de um Scriptkiddies, die eure IP durch'n Portscan gefunden haben, davon abzuhalten zu versuchen euren Apache zu hacken. :D
- Oder aufs www.bka.de. Da werden sich einige Leute wundern wenn sie eure IP's in ihren Filesharing-Logs aufsuchen und beim BKA landen: "OMFG. Das BKA hat mich gefunden! :eek: *festplatteformatier*". :D

Ersetzt beim Blind-vHost (ServerName *) die DocumentRoot-Direktive durch:

Redirect / http://www.google.de/

Nuja, macht wat ihr wollt und postet eure Idee'n für clevere Weiterleitungen und den Hintergedanken. ;)

wrtlprnft
14.11.2004, 21:44
Was ich noch empfehlen kann ist eine Testsite zum Ausprobieren von Scripten:
<VirtualHost *>
ServerName stest
DocumentRoot "/pfad/ins/nirgentwo"
order deny,allow
deny from all
allow from localhost
allow from 192.168.0
</VirtualHost>Damit das geht müsst ihr noch in eurer /etc/hosts (Bei Windows ist das Windows\hosts.sam) die Zeile
127.0.0.1 localhostum den Namen ergänzen:
127.0.0.1 localhost stestBei der Gelegenheit würde ich euch noch empfehlen, den langen Namen localhost zu verkürzen:
127.0.0.1 localhost stest aDann könnt ihr in die Adressleiste einfach a eingeben und landet auf eurem Server.

Btw: ist das eigentlich sicher? Afaik könnte man den "Server:"-Header einfach so fälschen, dass er "localhost" enthält. Es ist ein leichtes, Apache als proxy so einzurichten, dass er diesen Header sendet.