Verständnisfrage - Webserver

Status
Für weitere Antworten geschlossen.

MatCH

Benutzer
Mitglied seit
09. Sep 2009
Beiträge
60
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen,

Ich bin ein Neuling im Thema Webserver und komme nicht vom Fach. Daher habe ich einige Fragen.

Stand der Dinge:
Ich habe einen Cable Anschluss mit Statischer IP.
Ich habe die Webstation eingerichtet und es wurde der gemeinsame Ordner "Web" erstellt (auf der DS509+)
Im Router/Firewall habe ich den Port 80 an die IP der Webstation weitergeleitet. Die IP der Webstation (DS509+) wird über DHCP bezogen, ist aber immer die selbe.
Ich kann nun die Testseite im Webordner über den Browser erreichen, wenn ich die IP meines Kabelmodems eingebe. Soweit so gut...

Nun möchte ich eine derzeit extern gehostete Webseite selber auf meinem Server hosten. So wie mir ist, muss dazu muss bei Switch.ch (für die Schweiz) die IP mit der www Adresse (Name der Webseite) verknüpft werden...
Stimmt dies soweit?

Nun meine Fragen:
Ich habe nur eine IP. Reicht das, läuft da alles darüber?
Wenn ich nun mehrere Webseiten hosten möchte, wie unterscheidet die IP, welche Webseite aus dem Webornder angezeigt werden soll? Oder braucht jede www Adresse eine eigene IP?
Wie sage ich der Webstation, welche Webseite aufrufen soll bei einer Anfrage, wenn ich nur einen Webordner habe?

Kann mir da mal jemand auf die Sprünge helfen und mir das verständlich erklären? Ich bin leider nirgeds fündig geworden.

Vielen Dank


Mathias :)
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Das Stichwort ist 'virtuelle Hosts'. Schau mal im DS-Manager dazu nach (Suchfunktion).

Itari
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Kann man bei der Switch (also dem TLD Registrar) keine DNS Server von dyndns eintragen lassen? Das müsste doch mit dem entsprechenden Auftrag möglich sein.
@topicstarter:
Beim Registrar verküpfst du deinen Domainnamen mit den zuständigen DNS Servern. Erst diese DNS Server melden die aktuelle IP Adresse deines Domainnamens.
Wegen der virtuellen Hosts: Solange sich diese physisch auf der gleichen Maschine befinden ist es kein Problem. Sobald aber zwei virtuelle Hosts auf unterschiedlichen Maschinen laufen hast du ein Problem. Auf Port 80 wird nur eine Maschine erreichbar sein (diejenige, die die Portweiterleitung des Routers auf Port 80 empfängt). In diesem Falle muss du mit einer Maschine auf einen anderen Port als 80 ausweixchen.
 

HarryPotter

Benutzer
Mitglied seit
24. Aug 2007
Beiträge
2.156
Punkte für Reaktionen
0
Punkte
0
Ja DNS Server von dyndsn gehen schon, aber die sind nicht kostenlos.
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0

mkl0815

Benutzer
Mitglied seit
23. Sep 2009
Beiträge
138
Punkte für Reaktionen
0
Punkte
0
So wie ich das sehe, ist DnyDNS unnötig, da es eine feste IP gibt (erstes Posting). Der Anbieter switch.ch ist ein reiner Registrar, der keinen eigenen DNS-Dienst zu betreiben scheint.

Du brauchst also einen Hoster, der neben dem "normalen" Hosting mit Webspace auch eine DNS-Verwaltung anbietet. Aktuell hast Du ja so wie es klingt schon eine Seite online, die aber auf die DS509+ umziehen soll.
Als erstes würde ich den Provider fragen bei dem die Seite jetzt liegt, ob die Domain Deiner Seite auch auf eine andere IP aufgelöst werden kann, wenn nicht, mußt Du wohl die Domain zu einem anderen Anbieter umziehen. Sollte das gehen, muss die Domain nur noch auf Deine IP aufgelöst werden.
Wichtig ist, das NUR der "A"-Record auf die feste IP deines Anschlusses geändert wird, die MX-Einträge (für Mails) sollten gleich bleiben, außer deine NAS-Box soll auch die Mails mit behandeln.

Danach legst Du in der Box einen "virtual Host" an, auf den Du dann Deine Seite packst. Port 80 sollte Dein Router auf die NAS-box weiterleiten.

Du kannst auch unterschiedliche Domains auf der Box hosten. Der Router muss dabei nichts unterscheiden, das macht erst der Webserver auf der NAS-Box. Die Anfrage die ein Browser an einen Webserver schickt (HTTP-Request) beinhaltet den Domainnamen der gewünschten Seite. Daran unterscheidet der Apache auf der Box, welcher "virtuelle Host" für die Anfrage zuständig ist.

@jahlives: Sogar das Hosten auf zwei Servern hinter einem Router geht. Allerdings müßte dann der erste Webserver auf den der Port 80 umgebogen wird die Domains auch als virtual Hosts haben und dort aber per "ProxyPass" auf den zweiten internen Server umbiegen. Das wiederum funktioniert aber sehr einfach. Auf diese Weise kann man prima Lastverteilungen bauen.
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
@jahlives: Sogar das Hosten auf zwei Servern hinter einem Router geht. Allerdings müßte dann der erste Webserver auf den der Port 80 umgebogen wird die Domains auch als virtual Hosts haben und dort aber per "ProxyPass" auf den zweiten internen Server umbiegen. Das wiederum funktioniert aber sehr einfach. Auf diese Weise kann man prima Lastverteilungen bauen.
Danke für die Info. Das wusste ich ned. Ich dachte immer da müsse man sich einen Load Balancer resp einen Gateway kaufen. Dass es auch mit dem Apache geht ist echt toll und das werde ich bestimmt mal ausprobieren. Weisst du zufällig ob das eine Default Funktion des Apache ist (also auch mit dem Apache von Synology funzen sollte)? Oder braucht man dazu spezielle Module, die man u.U. erst noch kompilieren muss?
 

mkl0815

Benutzer
Mitglied seit
23. Sep 2009
Beiträge
138
Punkte für Reaktionen
0
Punkte
0
naja meine DS509+ ist noch auf dem Weg zu mir, daher kann ich das erst in ein par Tagen testen. Du brauchst aber das mod_proxy und mod_proxy_http. Mußt halt mal schauen ob die Module dabei sind. Es sind auf alle Fälle Module des Apache selbst, keine 3th-party.
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Code:
/usr/syno/apache/modules/mod_headers.so
/usr/syno/apache/modules/mod_ssl.so
/usr/syno/apache/modules/mod_deflate.so
/usr/syno/apache/modules/mod_rewrite.so
dann ist wohl selber kompilieren angesagt. Zur Zeit habe ich leider keine "freie" DS für dieses Experiment. Falls du es probierst und erfolg hast damit, wäre eine Rückmeldung was feines (und ggf auch gleich ein Eintrag darüber in unser Wiki)
 

mkl0815

Benutzer
Mitglied seit
23. Sep 2009
Beiträge
138
Punkte für Reaktionen
0
Punkte
0
... hm bei mir sieht die Liste so aus:
Rich (BBCode):
NetRat> ls /usr/syno/apache/modules/
mod_auth_digest.so     mod_authnz_ldap.so     mod_cgid.so            mod_dbd.so             mod_ext_filter.so      mod_ldap.so            mod_proxy_ajp.so       mod_rewrite.so         mod_usertrack.so
mod_authn_alias.so     mod_authz_dbm.so       mod_charset_lite.so    mod_deflate.so         mod_headers.so         mod_log_forensic.so    mod_proxy_balancer.so  mod_speling.so         mod_version.so
mod_authn_anon.so      mod_authz_owner.so     mod_dav.so             mod_disk_cache.so      mod_ident.so           mod_logio.so           mod_proxy_connect.so   mod_ssl.so             mod_vhost_alias.so
mod_authn_dbd.so       mod_cache.so           mod_dav_fs.so          mod_dumpio.so          mod_imagemap.so        mod_mem_cache.so       mod_proxy_ftp.so       mod_substitute.so
mod_authn_dbm.so       mod_cern_meta.so       mod_dav_lock.so        mod_expires.so         mod_info.so            mod_proxy.so           mod_proxy_http.so      mod_unique_id.so

Wie man sieht habe ich meine DS509+ bekommen :)
Die Liste scheint mir recht vollständig. Die wichtigsten Module sind vorhanden. Auch mod_proxy.so und mod_proxy_http.so.
Damit sollte sich eine Weiterleitung per ProxyPass bauen lassen.

Man müßte lediglich in der httpd.conf schauen, ob die aktiviert sind. Allerdings ist das start/stop-Script ziemlich schaurig. Auch wenn zwischen dem System-Webserver und dem User-Webserver unterschieden wird, aber dieses üble hin- und her Kopieren beim Starten ist schon recht umständlich.
So richtig durchgewühlt habe ich mich noch nicht.
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Allerdings ist das start/stop-Script ziemlich schaurig. Auch wenn zwischen dem System-Webserver und dem User-Webserver unterschieden wird, aber dieses üble hin- und her Kopieren beim Starten ist schon recht umständlich.
So richtig durchgewühlt habe ich mich noch nicht.

Sei vorsichtig und lösch da bloß nichts in den Skripten, sonst geht deren ganze Logik, die sie mit dem DS-Manager so aufgebaut haben, nicht mehr. Es wird da mehr konfiguriert als man auf den ersten Blick erwartet.

Falls du eigene Webseiten und anderes mit dem Apache vorhast, lohnt sich auch die Überlegung, einen separaten IPKG-Apache aufzusetzen, der dann unabhängig von dem DS-Manager wäre und sich so anfühlt wie sonst immer ;)

Itari
 

mkl0815

Benutzer
Mitglied seit
23. Sep 2009
Beiträge
138
Punkte für Reaktionen
0
Punkte
0
@itari: Keine Angst, das habe ich nicht vor. Ich bin ein Freund von "finalen" Lösungen. Es sollte also auch nach einem möglichen Firmware-Upgrade die Konfiguration erhalten bleiben, oder zumindest mit minimalem Aufwand rekonstruierbar sein. Zig Config-Files zu patchen ist da eher weniger mein Ziel.
Zumal man nie weiß, welche Seiteneffekte sich ergeben.

Zur Zeit scheue ich mich noch, einen dritten (eigentlich ja sogar einen vierten, wenn man den lighttpd mitzählt) Webserver laufen zu lassen, wenn die User-Konfig nur ein wenig erweitert werden muss.

Meine Aussage bezog sich eigentlich eher auf die Art und Weise in der das Start-Stop-Script umgesetzt ist. Beim Starten erst die Konfig zusammenzusetzen ist schon übel. Die Seiteneffekte sind nicht absehbar. Zumal ja nicht mal ein "configtest" gemacht wird.

Prinzipiell wäre es gut, wenn es bei bestimmten Diensten "Hooks" geben würde, wo man eine eigene Config einbinden kann. So wie das /etc/rc.local Script das beim Starten macht.
Beim Apache würde ja ein "Include /etc/apache-local.conf" reichen.
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Mit meinem Init_3rdparty.spk bin ich ähnliche Wege gegangen und trotzdem kann es zum Knall beim Firmware-Update. Ist aber mittlerweile entschärft. Kannst dir ja mal anschauen, wie ich es da gemacht habe ...

Itari
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat