ubuntuusers.de

Servereinrichtung - http-Anfragen auf richtiges Verzeichnis leiten

Status: Ungelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

Felias

Anmeldungsdatum:
3. April 2008

Beiträge: 33

Hallo zusammen,

nachdem ich hier (http://forum.ubuntuusers.de/topic/newbie-sucht-antwort-auf-einige-server-fragen/) kurz meine "Herkunft" beschrieben habe, hier nun meine aktuell wichtigste Frage:

Ich habe auf dem vServer eine abgespeckte Version von ubuntu-8.04 installiert. Anschließend habe ich apache2 und php5 draufgemacht. Der Apache läuft auch. Wenn ich mit dem Browser auf die IP des Servers gehe, erscheint ein "It works!".

Nachdem ich jetzt weitere Applikationen installieren möchte (erstmal Munin, danach eine php-Applikation (pixelpost)), ergibt sich aber eine grundlegende Frage:

Ich habe auf der einen Seite mein Dateisystem, auf der anderen Seite (extern) kommen Anfragen rein, die auf die richtige Stelle im Dateisystem geleitet werden müssen. Standardmässig scheint "/var/www" für die Internetseite gedacht zu sein. Jetzt würde ich gerne verschiedene Applikationen installieren, welche dann über "http://SERVERIP/appname" erreichbar sind. Dies scheint über virtuelle Hosts umgesetzt zu werden, welche früher über die httpd.conf, heute über /etc/apache2/sites-available und /etc/apache2/sites-enables gesteuert werden.

Unter /etc/apache2/sites-available habe ich jetzt die Datei "default", welche für den "normalen" Zugriff da ist... ist das korrekt? Ich habe per FTP (diesen einzurichten hat auch geklappt) die Dateien der Applikation Pixelpost in den Ordner "/home/users/felias/pixelpost/" geladen. Jetzt würde ich es gerne einrichten, dass bei Zugriff über "http://SERVERIP/pixelpost" der Zugriff auf "/home/users/felias/pixelpost/" geroutet wird. Dazu habe ich die "default"-Datei dupliziert und gemäß dem Wiki angepasst, enabled und den Apache neu geladen. Allerdings bin ich mir jetzt nur bei dem Eintrag "ServerName" unsicher. Im Wiki wird nur angegeben, dass man dort den Domainnamen angeben soll. Ich habe aber keinen Domain-Namen, sondern nur den internen Pfad. Kann ich diesen hier eintragen?

Wenn ich nun auf "http://SERVERIP/pixelpost" zugreife, so kann das Verzeichnis nicht gefunden werden. Im Wiki bin ich darauf gestoßen, dass unter Umständen die default-Datei disabled werden sollte (per "sudo a2dissite default"). Nachdem ich das gemacht habe, erscheint Pixelpost unter "http://SERVERIP/", aber nicht unter "http://SERVERIP/pixelpost".

Generell ist mir einfach die Einrichtung einer Umleitung von http-Anfragen im Apache auf Verzeichnisse nicht ganz klar. Hat hierzu jemand einen Tipp, bzw. eine Seite auf der ich das Notwendige nachlesen kann?

Ich hoffe ich konnte es einigermaßen verständlich erklären.

Ein kleines Randproblem: Zum Test habe ich eine Dyndns-Adresse genommen und diese dort eingetragen. Die DynDNS-Adresse zeigt jetzt auf die IP des Servers. Wenn ich diese anpinge, antwortet jedoch immer die IP der Internetseite des Hosters, und nicht die meines Servers. Ist es generell nicht möglich, von DynDNS aus auf einen vServer zu routen?

1000 Dank schonmal für die Mühe, Felias

adun Team-Icon

Avatar von adun

Anmeldungsdatum:
29. März 2005

Beiträge: 8606

Du hast auf jedenfall ein Hostname, sonst könnte sich die Maschine nicht mit dem Netzwerk verbinden

1
2
cat /etc/hosts
cat /etc/hostname

Wenn du deine Virtualhost durch IPs unterscheiden willst, brauchst du für jeden Host eine andere IP. Das ist die sicherste Variante, weil die IP nicht aufgelöst werden muss. Das kannst du aber nicht mit der namensbasierten Auflösung mischen. Da ich mal davon ausgehe, dass du nur eine IP hast, aber mehrere VHosts willst, solltest du wohl zu letzterem greifen.

FTP ist unverschlüsselt und damit völlig ungeeignet für jede Form der Konfiguration. Wenn du große Dateien zum Download anbietest macht FTP unter Umständen Sinn, sonst solltest du davon wegkommen.

Klappt denn das Auflösen der DynDNS-Adresse ansonsten?

Felias

(Themenstarter)

Anmeldungsdatum:
3. April 2008

Beiträge: 33

Hu adun,

danke schonmal für die Antwort.

adun schrieb:

Du hast auf jedenfall ein Hostname, sonst könnte sich die Maschine nicht mit dem Netzwerk verbinden

1
2
cat /etc/hosts
cat /etc/hostname

Dem Befehl nach zu urteilen wäre mein Hostname dann eine Subdomain des Hosters.

Wenn du deine Virtualhost durch IPs unterscheiden willst, brauchst du für jeden Host eine andere IP. Das ist die sicherste Variante, weil die IP nicht aufgelöst werden muss. Das kannst du aber nicht mit der namensbasierten Auflösung mischen. Da ich mal davon ausgehe, dass du nur eine IP hast, aber mehrere VHosts willst, solltest du wohl zu letzterem greifen.

Genau, dann wird es wohl die namensbasierte Auflösung werden. Kennst Du hier eine gute Anleitung dazu, oder kannst kurz das Prinzip beschreiben?

FTP ist unverschlüsselt und damit völlig ungeeignet für jede Form der Konfiguration. Wenn du große Dateien zum Downlaod anbietest macht FTP unter Umständen Sinn, sonst solltest du davon wegkommen.

Den FTP-Zugang möchte ich nur für mich alleine nutzen, um Paket-Daten und ähnliches aufspielen zu können. Dateien zum Download möchte ich nicht anbieten.

Klappt denn das Auflösen der DynDNS-Adresse ansonsten?

Ja, nur kommt komischerweise immer nur die IP des Hosters zurück, nicht meines vServers (obwohl diese bei DynDNS eingetragen ist).

adun Team-Icon

Avatar von adun

Anmeldungsdatum:
29. März 2005

Beiträge: 8606

Felias schrieb:

Den FTP-Zugang möchte ich nur für mich alleine nutzen, um Paket-Daten und ähnliches aufspielen zu können. Dateien zum Download möchte ich nicht anbieten.

Behalt im Hinterkopf, dass dein Benutzername und Passwort im Klartext übertragen werden.

Ja, nur kommt komischerweise immer nur die IP des Hosters zurück, nicht meines vServers (obwohl diese bei DynDNS eingetragen ist).

Ich kenne DynDNS nur vom Hörensagen, normalerweise hat man da afaik einen client, der dynamisch 😉 die aktuelle IP hochlädt. Da du sowas ja nicht brauchst, musst du vielleicht noch etxra die IP angeben?

Genau, dann wird es wohl die namensbasierte Auflösung werden. Kennst Du hier eine gute Anleitung dazu, oder kannst kurz das Prinzip beschreiben?

http://httpd.apache.org/docs/2.2/de/vhosts/name-based.html

Wichtig ist, dass es z.B. über die /etc/hosts oder DNS-Server auflösbar ist. Alle Einträge hinter 127.0.0.1 ist er selbst.

Felias

(Themenstarter)

Anmeldungsdatum:
3. April 2008

Beiträge: 33

ich habe es jetzt eingerichtet bekommen. Allerdings eher aus einer Mischung von den Informationen aus dem von Dir genannten Links, andererseits aus Infos im Netz und freundlicher Unterstützung eines Bekannten.

Ich habe es jetzt so eingestellt, dass in jedem der einzelnen Programm-Verzeichnisse eine apache.conf-Datei liegt, und von "/etc/apache2/conf.d" aus darauf verwiesen wird.

Bezüglich DynDNS: Man kann auch einfach eine feste IP eingeben, was ich gemacht habe... nur komme ich nicht auf der dort eingetragenen IP an, sondern auf der Stamm-IP meines Hosters...

Endanwender

Avatar von Endanwender

Anmeldungsdatum:
5. Januar 2008

Beiträge: 158

Moin Felias!

Auch wenn das Problem vielleicht schon gelöst ist.

Felias schrieb:

Hat hierzu jemand einen Tipp, bzw. eine Seite auf der ich das Notwendige nachlesen kann?

Ich hatte vor nicht all zu langer Zeit mal Ähnliches gemacht und das ganze niedergeschrieben. Vielleicht hilft es ja: http://www.endanwender-community.de/viewtopic.php?t=232/

Schöne Grüße

Endi

Felias

(Themenstarter)

Anmeldungsdatum:
3. April 2008

Beiträge: 33

Hallo edi,

vielen Dank für den Hinweis, das Tutorial hätte ich gestern gut gebrauchen können ☺

Ich habe es jetzt ja über einen anderen Weg gemacht, nämlich verschiedene eigene apache.conf's anzulegen, und auf diese über das conf.d-Verzeichnis zu verweisen. Wo genau die Vor- oder Nachteile des Ganzen liegen, ist mir auch nicht ganz klar. Aber es funktioniert jedenfalls perfekt. Gerade da ich ja überhaupt keine Domain bei dem Hoster habe, wußte ich bei der offiziellen von Dir beschriebenen Variante nicht, was ich dort bei Domain eintragen sollte.

Grüße, Felias

Endanwender

Avatar von Endanwender

Anmeldungsdatum:
5. Januar 2008

Beiträge: 158

Hi Felias!

Ich habe mir nochmal deinen ersten Beitrag durchlesen. Wenn ich es nun richtig verstanden habe, gibt es doch einen viel einfacheren Lösungsansatz. Nochmal der Vollständigkeit. Du hast beispielsweise zwei Applikationen (app1, app2). Die möchtest nun über "http://SERVERIP/appname" jeweils eine der beiden aufrufen. Wenn es so sein sollte, so bräuchtest du doch meiner Meinung nach gar nicht viel mit VirtualHosts arbeiten. Richte dir doch einfach einen VirtualHost ein mit Servername = IP. Dieser verweist dann beispielsweise auf den lokalen Ordner /var/www/meinordner. In diesem packst du nun in Unterordner deine beiden Applikationen hinein: /var/www/meinordern/app1 und /var/www/meinordern/app2. Ein Aufruf von "http://SERVERIP/app1" sollte dann doch eigentlich sowieso in /var/www/meinorder/app1 landen. Ich weiß jetzt zwar nicht, ob das ein sauberer Ansatz ist, aber so müsste es doch eigentlich klappen. Sollten deine Anwendungen allerdings php-Skripte sein, so muss man sich vielleicht noch überlegen wie man php bei der Ausführung auf das jeweilige Verzeichnis beschränken kann, Stichwort open_basedir (falls es überhaupt Sinn macht bei dieser Umsetzung).

Felias schrieb:

wußte ich bei der offiziellen von Dir beschriebenen Variante nicht

Das ist keine offizielle Variante 😉

Schöne Grüße Endi

adun Team-Icon

Avatar von adun

Anmeldungsdatum:
29. März 2005

Beiträge: 8606

Felias schrieb:

Gerade da ich ja überhaupt keine Domain bei dem Hoster habe, wußte ich bei der offiziellen von Dir beschriebenen Variante nicht, was ich dort bei Domain eintragen sollte.

Natürlich hast du die, hast du ja oben bereits geschrieben. Ist zwar nur eine Subdomain keine second level domain, aber das ist egal.

Felias

(Themenstarter)

Anmeldungsdatum:
3. April 2008

Beiträge: 33

Endanwender schrieb:

Hi Felias!

Ich habe mir nochmal deinen ersten Beitrag durchlesen. Wenn ich es nun richtig verstanden habe, gibt es doch einen viel einfacheren Lösungsansatz. Nochmal der Vollständigkeit. Du hast beispielsweise zwei Applikationen (app1, app2). Die möchtest nun über "http://SERVERIP/appname" jeweils eine der beiden aufrufen. Wenn es so sein sollte, so bräuchtest du doch meiner Meinung nach gar nicht viel mit VirtualHosts arbeiten. Richte dir doch einfach einen VirtualHost ein mit Servername = IP. Dieser verweist dann beispielsweise auf den lokalen Ordner /var/www/meinordner. In diesem packst du nun in Unterordner deine beiden Applikationen hinein: /var/www/meinordern/app1 und /var/www/meinordern/app2. Ein Aufruf von "http://SERVERIP/app1" sollte dann doch eigentlich sowieso in /var/www/meinorder/app1 landen. Ich weiß jetzt zwar nicht, ob das ein sauberer Ansatz ist, aber so müsste es doch eigentlich klappen. Sollten deine Anwendungen allerdings php-Skripte sein, so muss man sich vielleicht noch überlegen wie man php bei der Ausführung auf das jeweilige Verzeichnis beschränken kann, Stichwort open_basedir (falls es überhaupt Sinn macht bei dieser Umsetzung).

Felias schrieb:

wußte ich bei der offiziellen von Dir beschriebenen Variante nicht

Das ist keine offizielle Variante 😉

Schöne Grüße Endi

Hallo Edi!

Wie Du schon vermutet hast, sind es alles php-Anwendungen. Daher geht das Ablegen unter dem "einen" Verzeichnis dafür nicht. Für alles andere natürlich schon, das werde ich beachten... danke ☺

Ach, und dann ist es eben die offizielle "Endanwender"-Variante 😉

Grüße, Felias

adun schrieb:

Felias schrieb:

Gerade da ich ja überhaupt keine Domain bei dem Hoster habe, wußte ich bei der offiziellen von Dir beschriebenen Variante nicht, was ich dort bei Domain eintragen sollte.

Natürlich hast du die, hast du ja oben bereits geschrieben. Ist zwar nur eine Subdomain keine second level domain, aber das ist egal.

Hi Adun,

hmm... verstehe. Ich dachte bei vHosting kann man die in der Regel nicht benutzen, aber stimmt.... hast natürlich recht. Momentan machen mir aber gerade andere Dinge Sorgen (wozu ich einen neuen Thread eröffnet habe). Nebenbei schmiert mir die SSH-Verbindung des Öfteren ab (bei Apache-Restarts oder Ähnlichem).

Danke + Gruß, Felias

Antworten |