Apache Virtual Hosts/Mod Rewrites Weiterleitungen

Status
Für weitere Antworten geschlossen.

Matthieu

Benutzer
Mitglied seit
03. Nov 2008
Beiträge
13.222
Punkte für Reaktionen
88
Punkte
344
Ich habe den Abend mal zum Anlass genommen um an der Weiterleitung von meiner Seite weiter zu arbeiten. Momentan "cloake" ich die ja noch mittels Dyndns Webhop. Wie auch immer, ich habe bei mir zunächst itaris Webeditor installiert und dann die Methode nach dieser Anleitung probiert.
Leider ohne Erfolg. Dann habe ich mittels Virtual Hosts probiert, aber mit denen stehe ich schon seit einer ganzen Weile auf Kriegsfuß ... Also jetzt zwei Fragen von mir:

1.) Welche der beiden Varianten würdet ihr empfehlen (abgesehen davon, dass die Virtual Hosts natürlich einfacher zu ändern sind).

2.)Was mache ich falsch?

MfG Matthieu

PS: So mach ichs bisher:
ModRewrite
die letzten Zeilen der ausgewiesenen Datei:
Code:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^matthieu-ds.dyndns.org$
RewriteRule ^/(.*)$ "/Matthieu-DS/$1"
Virtual Hosts
Einstellungen des entsprechenden Hosts:
Code:
Name des Unterordners: Matthieu-DS
Hostname: matthieu-ds.dyndns.org
Protokoll: http
Port: 80
 
Zuletzt bearbeitet:

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Ich würde auf jeden Fall die virtual Host Variante vorziehen. Da ich meine vhosts aber nie via DSM mache kann ich dir nicht sagen ob deine Angaben korrekt sind. In einer VirtualHost Direktive in der Apache Conf, sollte aber folgendes stehen
Code:
NameVirtualHost *:80
<VirtualHost *:80>
ServerName NAME_DES_SERVERS
ServerAlias ALIAS_DER_SERVERS ALIAS1_DES_SERVERS
DocumentRoot /path/to/root
</VirtualHost>
Wichtig wenn du virtuelle Hosts anlegst.
Der erste VirtualHost Eintrag MUSS derjenige für den Hauptserver sein

Die Direktive NameVirtualHost *:80 musst du nur einmal angeben. Danach für jeden virtuellen Host einen VirtualHost Eintrag, angefangen mit dem Haupthost.
 

Matthieu

Benutzer
Mitglied seit
03. Nov 2008
Beiträge
13.222
Punkte für Reaktionen
88
Punkte
344
Ist das dieselbe Config wie für die Rewrites? (/usr/syno/apache/conf/extra/httpd-autoindex.conf-user)

Entschuldige, aber ich komm mit deinem Code nicht ganz zurecht. Würde es funktionieren wenn ich es so eintrage:
Code:
Stammhost *:80
<VirtualHost *:80>
ServerName DiskStation
ServerAlias stammadresse.dyndns.org
DocumentRoot /volume1/web
</VirtualHost>
Matthieu-ds *:80
<VirtualHost *:80>
ServerName DiskStation
ServerAlias matthieu-ds.dyndns.org
DocumentRoot /volume1/web/Matthieu-DS
</VirtualHost>
?

MfG Matthieu
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Also normalerweise ist das in der httpd.conf-user Von Vorteil ist es aber wenn du das in einer externen Datei machst und dann in httpd.conf-user darauf referenzierst. Dazu gibt es in der Config eine VirtualHost File Direktive. Diese bindet ein externes File mit VirtualHosts ein (ist in der Default Konfig auskommentiert und steht ziemlich weit unten)
Code:
[FONT=monospace]
[/FONT]NameVirtualHost *:80[FONT=monospace]
[/FONT]<VirtualHost *:80>[FONT=monospace]
[/FONT]ServerName DiskStation[FONT=monospace]
[/FONT]ServerAlias stammadresse.dyndns.org[FONT=monospace]
[/FONT]DocumentRoot /volume1/web[FONT=monospace]
[/FONT]</VirtualHost>[FONT=monospace]
[/FONT]<VirtualHost *:80>[FONT=monospace]
[/FONT]ServerName DiskStationServer
Alias matthieu-ds.dyndns.org
DocumentRoot /volume1/web/Matthieu-DS[FONT=monospace]
[/FONT]</VirtualHost>
1. du musst NameVirtualHost *:80 setzen um die Unterstützung für virtuelle Hosts beim Apache zu aktivieren (Stammhost *:80 wird den Server nicht mehr starten lassen!!) Diese Direktive darf nur einmal gesetzt werden
2. der ServerName bei ersten virtuellen Host muss demjenigen des Haupthosts entsprechen. Den gleichen Server Namen verwenden wie in der globalen ServerName Direktive

Mit der obigen Direktive sollte der Hauptserver DiskStation mit dem Alias stammadresse.dyndns.org erreichbar sein und den DocumentRoot /volume1/web verwenden.
Der zweite Host sollte unter DiskStationServer mit dem Alias matthieu-ds.dyndns.org und dem DocumentRoot /volume1/web/Matthieu-DS erreichbar sein.
Wichtig: Es heisst ServerAlias und nicht nur Alias!

Gruss

tobi
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Es reicht

Rich (BBCode):
NameVirtualHost *
<VirtualHost *>

ohne den Port, wenn man eh nur auf einem Port mit dem user-Apache auf der Lauer liegt, aber der DS-Manager macht wohl die 80 immer mit rein.

Itari
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
]ohne den Port, wenn man eh nur auf einem Port mit dem user-Apache auf der Lauer liegt, aber der DS-Manager macht wohl die 80 immer mit rein.
Die meiste User lauschen aber noch auf Port 443 (https). Und wenn ein virtual Host Server einen https Request abbekommt, dann viel Spass.
 

Matthieu

Benutzer
Mitglied seit
03. Nov 2008
Beiträge
13.222
Punkte für Reaktionen
88
Punkte
344
Habe in der Config (/usr/syno/appache/httpd.conf) folgendes gefunden:

Code:
# Virtual hosts
#Include conf/extra/httpd-vhosts.conf
Ich werd den Kommantar mal löschen und gucken was passiert ...

MfG Matthieu
 
Zuletzt bearbeitet:

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Bei dieser Zeile das Kommentarzeichen entfernen und die entsprechende Datei anlegen und mit deinen VHosts befüllen
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0

Matthieu

Benutzer
Mitglied seit
03. Nov 2008
Beiträge
13.222
Punkte für Reaktionen
88
Punkte
344
:eek: Dachte schon ich hätte mir meine DS zerschossen. Nach einem Neustart der DS tat sich nix mehr. SSH zeigt keinen aktiven Prozess namens httpd, also hab ich ihn selber gestartet. Und sie da er läuft wieder. Was für ein Schreck so früh am Morgen. Guck jetz mal wies weiter geht.

MfG Matthieu
 

Matthieu

Benutzer
Mitglied seit
03. Nov 2008
Beiträge
13.222
Punkte für Reaktionen
88
Punkte
344

Matthieu

Benutzer
Mitglied seit
03. Nov 2008
Beiträge
13.222
Punkte für Reaktionen
88
Punkte
344
Kleines Update:

Die Dateien sind alle an ihrem Platz, aber jetzt habe ich folgendes bemerkt: Bei jedem Neustart der DS setzt der DSM offenbar den Kommentar wieder ... blöd. Hat noch jemand Ideen?

MfG Matthieu
 

jahlives

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

Die Dateien sind alle an ihrem Platz, aber jetzt habe ich folgendes bemerkt: Bei jedem Neustart der DS setzt der DSM offenbar den Kommentar wieder ... blöd. Hat noch jemand Ideen?

MfG Matthieu
Komisch ist bei mir nicht so. Weder auf der Firmware 832 noch auf der neuen Beta. Ich mache immer wieder mal Reboots und konnte das noch nicht feststellen...
 

Matthieu

Benutzer
Mitglied seit
03. Nov 2008
Beiträge
13.222
Punkte für Reaktionen
88
Punkte
344
Hab mich jetzt zur Abwechslung mal auf itaris Methode gestürzt.

Hab jetzt die verschiedensten Methoden durch ...
Zum einen bei DynDNS: Weiterleitung auf meine externe IP hab ich genauso ausprobiert wie auf die "Stammadresse" meiner DS.
Beim Rewrite:
Rich (BBCode):
RewriteCond %{HTTP_HOST} ^matthieu-ds-test.dyndns.org$
RewriteRule ^/(.*)$ "volume1/web/Matthieu-DS/$1" <-- was genau muss hier hin? stimmt das so? (krieg aber nen error-400 vom apache ...)

MfG Matthieu
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Afaik hast du bei RewriteRules nur Zugriff auf den String nach /. Der Slash selber gehört nicht dazu und wird daher kaum gefunden (im Muster)
Hast du mal folgendes probiert?
Code:
[FONT=monospace]
[/FONT]RewriteCond %{HTTP_HOST} ^matthieu-ds-test.dyndns.org$[FONT=monospace]
[/FONT]RewriteRule ^(.*)$ Matthieu-DS/$1[I][FONT=monospace]
[/FONT][/I]
Ausserdem brauchst du keine Stringzeichen. Zusätzlich kann eine Weiterleitung nur auf eine Datei erfolgen, die unterhalb des Verzeichnises liegt wo auch die .htaccess Datei drin ist. Also nicht /volume1/web/folder sondern direkt folder (wenn die .htaccess Datei in /volume1/web liegt)
$1 ist der Inhalt des ersten geklammerten Ausdrucks aus der Rewrite Regel. Du kannst auch mehrere Muster klammern und dann mit $1, $2, $3... auf die einzelnen Treffer zugreifen
 

Matthieu

Benutzer
Mitglied seit
03. Nov 2008
Beiträge
13.222
Punkte für Reaktionen
88
Punkte
344
Immerhin, jetzt leitet er mich weiter ... nur leider auf den DSM (Port 5000)?!

MfG Matthieu

UPDATE: Jetzt kann ich nicht einmal mehr auf den Ordner "Matthieu-DS" zugreifen. Irgendwas mit den Rewrites gefällt ihm offenbar nicht.
 
Zuletzt bearbeitet:

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Immerhin, jetzt leitet er mich weiter ... nur leider auf den DSM (Port 5000)?!

MfG Matthieu
Auf Port 5000 wirst du normalerweise automatisch weitergeleitet wenn der Webserver nicht läuft.
In welchem Verzeichnis liegt denn die .htaccess Datei? Gibt es das Verzeichnis Matthieu-DS ?
 

Matthieu

Benutzer
Mitglied seit
03. Nov 2008
Beiträge
13.222
Punkte für Reaktionen
88
Punkte
344
Auf Port 5000 wirst du normalerweise automatisch weitergeleitet wenn der Webserver nicht läuft.
In welchem Verzeichnis liegt denn die .htaccess Datei? Gibt es das Verzeichnis Matthieu-DS ?

Die htaccess liegt im Ordner /volume1/web und der Ordner existiert dort genau mit dieser Groß-/Kleinschreibung.

MfG Matthieu
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Also dann hast du also:
/volume1/web mit Hostnamen matthieu-ds-test.dyndns.org
/volume1/web/Matthieu-DS mit einem anderen Hostnamen
?

Gruss

tobi
 

Matthieu

Benutzer
Mitglied seit
03. Nov 2008
Beiträge
13.222
Punkte für Reaktionen
88
Punkte
344
Nein. Was ich momentan möchte: Meine DS läuft eigentlich unter einer anderen Adresse, die hier keinem bekannt sein sollte. Bisher nutze ich also für matthieu-ds.dyndns.org das von Dyndns.com angebotene "Versteckspiel". Jetzt möchte ich zu etwas dauerhafterem übergehen und dachte an diese beiden Methoden. Die -test Adresse hab ich mir nur zu Testzwecken angelegt, weil ich meine Seite ja nicht außer Gefecht setzen will.

MfG Matthieu
 
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