das leidige DocumentRoot bei Plesk
das leidige DocumentRoot bei Plesk
Guten Morgen.
Nach einem Tag verzweifelter googelei und x Versuchen werd ich mich mal wieder schriftlich um Unterstützung bemühen. Gleich vorab eines: Ich habe sämtliche Threads hier gelesen, die sich mit diesem Thema auseinandersetzten. Wenn irgendwas davon geholfen hätte, dann würd ich mir das hier sparen ;-)
Mein Problem ist wie folgt.
Ich setze auf einem Rootie Suse 9.3 mit Plesk 8.0.1 ein. Apache hat Version 2.0.53.
Ich nutzte früher Confixx, bei dem es problemlos möglich war eine Domain auf das Unterverzeichnis einer anderen Domain aufzuschalten, also Domain2.de = Domain1.de/sub
Auf meinem Server sind im Laufe von Jahren Strukturen erwachsen, die ich heute wegen der Suchmaschinen und auch wegen des Aufwands nicht einfach kippen möchte, denn die indizierten neben Domain2 auch Domain1/sub und zwar sehr gut.
Die Domain2 wurde auch erst nachträglich aufgeschaltet, um dem Kind einen eigenen Namen zu geben. Dadurch existiert jedoch eine nicht konsequente Programmierung und Verlinkung, welche mal auf Domain1/sub aufbaut, mal (die neueren Sachen) auf Domain2 geht. Eigentlich hätte das bei der Aufschaltung der Domain2 angepasst werden müssen, aber der Mensch ist ja bekanntlich bequem.
Ich muss diese Sache nun in Plesk übernehmen, weil es mit angemessenen Miitteln kaum möglich ist es heute noch anzupassen.
Leider scheitere ich mit jedem Versuch einen Vhost zu aktivieren, der für Domain2 ein geändertes DocumentRoot zur Verfügung stellt. Es scheint, als würde es einfach ignoriert. Ich habe bereits optional vhosts.conf am Ende der httpd.conf included, im /conf der Domain1 und diese anschliessend rekonfiguriert, eigentlich included wo immer es zulässig war oder auch nicht ;-) was der Indianer dann aauch sogleich beanstandete.
Eine andere Variante war der Versuch über eine eigene IP, die ich Plesk nicht anmeldete einen vhost zu erstellen und die IP Domain2 dediziert zuzuweisen. Auch das scheiterte kläglich, Plesk greift sich auch hier jeden request und liefert die Standardseite aus.
Da ich eigentlich schon alles versucht habe, was ich in irgendwelchen Foren, inklusive diesem hier fand, weiß ich auch schon gar nicht mehr, was ich jetzt konkret als Beispielkonfiguration zeigen soll. Es ging alles nicht und ich hatte sicher schon 10 Variationen ausgetestet. Grundsätzlich erhielt ich die Standardseite (Neue Internetpräsenz) oder einen 404er. Im Verzeichnis /sub befindet sich eine index.php. Im Indexing ist index.php vorangestellt, so dass ich im Erfolgsfalle irgendwann mal etwas anderes zu Gesicht bekommen hätte.
Derzeit habe ich alles aus den Konfigurationen herausgenommen.
Plesk wurde die Domain nicht gemeldet, die über eine eigene IP den Apachen anspricht. Dennoch bekomme ich die Mitteilung, dass nun eine neue Internetpräsenz entsteht.
Hat jemand so etwas schon mal hinbekommen? Es geht ja mal nicht um Subdomains oder Wildcard.. da habe ich jede Menge praktikabler Lösungen gefunden. Danke für jeden Hinweis.
Nach einem Tag verzweifelter googelei und x Versuchen werd ich mich mal wieder schriftlich um Unterstützung bemühen. Gleich vorab eines: Ich habe sämtliche Threads hier gelesen, die sich mit diesem Thema auseinandersetzten. Wenn irgendwas davon geholfen hätte, dann würd ich mir das hier sparen ;-)
Mein Problem ist wie folgt.
Ich setze auf einem Rootie Suse 9.3 mit Plesk 8.0.1 ein. Apache hat Version 2.0.53.
Ich nutzte früher Confixx, bei dem es problemlos möglich war eine Domain auf das Unterverzeichnis einer anderen Domain aufzuschalten, also Domain2.de = Domain1.de/sub
Auf meinem Server sind im Laufe von Jahren Strukturen erwachsen, die ich heute wegen der Suchmaschinen und auch wegen des Aufwands nicht einfach kippen möchte, denn die indizierten neben Domain2 auch Domain1/sub und zwar sehr gut.
Die Domain2 wurde auch erst nachträglich aufgeschaltet, um dem Kind einen eigenen Namen zu geben. Dadurch existiert jedoch eine nicht konsequente Programmierung und Verlinkung, welche mal auf Domain1/sub aufbaut, mal (die neueren Sachen) auf Domain2 geht. Eigentlich hätte das bei der Aufschaltung der Domain2 angepasst werden müssen, aber der Mensch ist ja bekanntlich bequem.
Ich muss diese Sache nun in Plesk übernehmen, weil es mit angemessenen Miitteln kaum möglich ist es heute noch anzupassen.
Leider scheitere ich mit jedem Versuch einen Vhost zu aktivieren, der für Domain2 ein geändertes DocumentRoot zur Verfügung stellt. Es scheint, als würde es einfach ignoriert. Ich habe bereits optional vhosts.conf am Ende der httpd.conf included, im /conf der Domain1 und diese anschliessend rekonfiguriert, eigentlich included wo immer es zulässig war oder auch nicht ;-) was der Indianer dann aauch sogleich beanstandete.
Eine andere Variante war der Versuch über eine eigene IP, die ich Plesk nicht anmeldete einen vhost zu erstellen und die IP Domain2 dediziert zuzuweisen. Auch das scheiterte kläglich, Plesk greift sich auch hier jeden request und liefert die Standardseite aus.
Da ich eigentlich schon alles versucht habe, was ich in irgendwelchen Foren, inklusive diesem hier fand, weiß ich auch schon gar nicht mehr, was ich jetzt konkret als Beispielkonfiguration zeigen soll. Es ging alles nicht und ich hatte sicher schon 10 Variationen ausgetestet. Grundsätzlich erhielt ich die Standardseite (Neue Internetpräsenz) oder einen 404er. Im Verzeichnis /sub befindet sich eine index.php. Im Indexing ist index.php vorangestellt, so dass ich im Erfolgsfalle irgendwann mal etwas anderes zu Gesicht bekommen hätte.
Derzeit habe ich alles aus den Konfigurationen herausgenommen.
Plesk wurde die Domain nicht gemeldet, die über eine eigene IP den Apachen anspricht. Dennoch bekomme ich die Mitteilung, dass nun eine neue Internetpräsenz entsteht.
Hat jemand so etwas schon mal hinbekommen? Es geht ja mal nicht um Subdomains oder Wildcard.. da habe ich jede Menge praktikabler Lösungen gefunden. Danke für jeden Hinweis.
Re: das leidige DocumentRoot bei Plesk
Also so wie ich das verstehe, berichtige mich wenn ich falsch liege, möchtest du das wenn man domain 2 aufruft der inhalt von doamin1/sub angezeigt wird.
Dann kannst du doch bei domain2 anstatt einem physikalischen Hosting eine weiterleitung/Frame Weiterleitung auf Domain1/sub machen.
Also das habe ich aus deinem Beitrag rausgelesen.
Dann kannst du doch bei domain2 anstatt einem physikalischen Hosting eine weiterleitung/Frame Weiterleitung auf Domain1/sub machen.
Also das habe ich aus deinem Beitrag rausgelesen.
Re: das leidige DocumentRoot bei Plesk
Workaround: Mount-Option "-o bind" anschauen...webmassa wrote:
Ich nutzte früher Confixx, bei dem es problemlos möglich war eine Domain auf das Unterverzeichnis einer anderen Domain aufzuschalten, also Domain2.de = Domain1.de/sub
Auf meinem Server sind im Laufe von Jahren Strukturen erwachsen, die ich heute wegen der Suchmaschinen und auch wegen des Aufwands nicht einfach kippen möchte, denn die indizierten neben Domain2 auch Domain1/sub und zwar sehr gut.
Re: das leidige DocumentRoot bei Plesk
Das kann Suchmaschinenrankings kaputt machen...dtmaster wrote: Dann kannst du doch bei domain2 anstatt einem physikalischen Hosting eine weiterleitung/Frame Weiterleitung auf Domain1/sub machen.
Re: das leidige DocumentRoot bei Plesk
Nicht nur das. Es verhindert auch Aufrufe in der Form domain2.de/index.php?request=irgendwasMattiasS wrote:Das kann Suchmaschinenrankings kaputt machen...dtmaster wrote: Dann kannst du doch bei domain2 anstatt einem physikalischen Hosting eine weiterleitung/Frame Weiterleitung auf Domain1/sub machen.
Das brauche ich sowohl für domain1 als auch für domain2. Das macht die Sache halt so kompliziert. Es gäbe zwar Möglichkeiten das über den Frame abzufangen, aber es bringt nicht wirklich Spaß alles inklusiver der sessionid so zu übergeben. Was fürn Aufwand..
Ich finds echt übel, dass Plesk als eigentlich Nachfolger von Confixx da so derb ändernd in die Verwaltungsstruktur eingegriffen hat.
Re: das leidige DocumentRoot bei Plesk
Hm, kannst Du das genauer definieren? Ich versteh grad nicht, was Du mir damit sagen willst. Ich kann schlecht das Verzeichnis auf ein anderes Verzeichnis mounten.. die Struktur soll ja grad erhalten bleiben, ich brauche also den über doamin2 angeordneten physikalischen Pfad.MattiasS wrote: Workaround: Mount-Option "-o bind" anschauen...
Re: das leidige DocumentRoot bei Plesk
Wie jetzt? Ich dachte, die Inhalte von domain1/sub sollten unter domain2 verfügbar gemacht werden? Du würdest dazu gerne das DocumentRoot von /irgendwo/www/domain2 auf /irgendwo/www/domain1/sub umbiegen. Ist nicht nötig, wenn Duwebmassa wrote:Hm, kannst Du das genauer definieren? Ich versteh grad nicht, was Du mir damit sagen willst. Ich kann schlecht das Verzeichnis auf ein anderes Verzeichnis mounten.. die Struktur soll ja grad erhalten bleiben, ich brauche also den über doamin2 angeordneten physikalischen Pfad.MattiasS wrote: Workaround: Mount-Option "-o bind" anschauen...
Code: Select all
mount -o bind /irgendwo/www/domain1/sub /irgendwo/www/domain2
Re: das leidige DocumentRoot bei Plesk
Oder vielleicht noch einfacher da es ja komplett ueber Plesk gehen wuerde mittels Apache Alias Eintraegen.
Re: das leidige DocumentRoot bei Plesk
Nein, das geht so nicht. Im Prinzip hast Du recht, aber da ist ja noch folgendes:MattiasS wrote:Wie jetzt? Ich dachte, die Inhalte von domain1/sub sollten unter domain2 verfügbar gemacht werden? Du würdest dazu gerne das DocumentRoot von /irgendwo/www/domain2 auf /irgendwo/www/domain1/sub umbiegen. Ist nicht nötig, wenn Duwebmassa wrote:Hm, kannst Du das genauer definieren? Ich versteh grad nicht, was Du mir damit sagen willst. Ich kann schlecht das Verzeichnis auf ein anderes Verzeichnis mounten.. die Struktur soll ja grad erhalten bleiben, ich brauche also den über doamin2 angeordneten physikalischen Pfad.MattiasS wrote: Workaround: Mount-Option "-o bind" anschauen...
machst... Der Inhalt von /irgendwo/www/domain1/sub taucht dann in /irgendwo/www/domain2 auf.Code: Select all
mount -o bind /irgendwo/www/domain1/sub /irgendwo/www/domain2
Gast besucht die Seite http://www.domain1.de/index.html
Dort verfolgt er einen Link zu http://www.domain1.de/sub/seite1.php
Er soll ja innerhalb der Domain bleiben, demnach läuft er auch in dieser Schiene durch das Webangebot. Der Gast könnte auch ein Suchrobot sein oder woanders auf domain1 eingestiegen sein.
Ein anderer Gast findet Domain2. Er kommt direkt in das Verzeichnis sub, ohne es zu merken. Die Bezüge innerhalb der Seiten verweisen aber absolut auf höher liegende Daten. Zum Beispiel Bilder etc.
In Confixyx war es so gegliedert:
Domain1: /home/htdocs/web1/html
Domain2: /home/htdocs/web1/html/biz
Entsprechend war es bei der Programmierung möglich aus /home/htdocs/web1/sub mit /home/htdocs/web1/images auf Fotos zuzugreifen. Das ginge jetzt nicht mehr, wenn domain2 als eigenständiges Web laufen würde. Hint: open basedir restriction
Und durch das verschieben wärs nicht einfacher, oder täusche ich mich da?
Sorry, wenn es alles etwas durcheinander klingt, aber ich habe nicht geschlafen...
Re: das leidige DocumentRoot bei Plesk
Ich verstehe das Problem nicht. Das heisst, ich verstehe schon, dass da schlampig programmiert wurde und nun die Apache-Konfiguration das Problem teilweise ausbügeln soll. Es sieht für mich eher danach aus, als solltest Du Dich mal mit mod_rewrite auseinandersetzen und einige Pfade (Pfade zu statischen Dateien wie Bildern) mit dezent eingesetzten Redirects (RedirectPermanent) umzubiegen...webmassa wrote: Gast besucht die Seite http://www.domain1.de/index.html
Dort verfolgt er einen Link zu http://www.domain1.de/sub/seite1.php
Er soll ja innerhalb der Domain bleiben, demnach läuft er auch in dieser Schiene durch das Webangebot. Der Gast könnte auch ein Suchrobot sein oder woanders auf domain1 eingestiegen sein.
Ein anderer Gast findet Domain2. Er kommt direkt in das Verzeichnis sub, ohne es zu merken. Die Bezüge innerhalb der Seiten verweisen aber absolut auf höher liegende Daten. Zum Beispiel Bilder etc.
In Confixyx war es so gegliedert:
Domain1: /home/htdocs/web1/html
Domain2: /home/htdocs/web1/html/biz
Entsprechend war es bei der Programmierung möglich aus /home/htdocs/web1/sub mit /home/htdocs/web1/images auf Fotos zuzugreifen. Das ginge jetzt nicht mehr, wenn domain2 als eigenständiges Web laufen würde. Hint: open basedir restriction
Und durch das verschieben wärs nicht einfacher, oder täusche ich mich da?
Sorry, wenn es alles etwas durcheinander klingt, aber ich habe nicht geschlafen...
EDIT: Bezog sich Deine ursprüngliche Fragestellung darauf, in der Konfiguration von Domain2 ein simples
Code: Select all
Redirect / http://www.domain2.xyz/sub/
Re: das leidige DocumentRoot bei Plesk
Das mit der schlampigen Programmierung schrieb ich oben schon. Aber das jetzt von Grund auf zu korrigieren ist mir nicht zeitnah möglich. Es ist einfach zu viel.
Nein, der redirect bringt mir nichts, da gleiche Inhalte den gleichen Pfad voraussetzen. Der steht so in der Konfiguration in der mysql drin (früher: /home/htdocs/web1/html/sub)
Etwas abstrakt nochmal:
Ich konnte früher http://www.domain1.de/sub/irgendwas.php?parameter=bla genauso aufrufen wie http://www.domain2.de/irgendwas.php?parameter=bla
Setze ich jetzt einen Alias bzw redirect, dann geht sowas nur noch für Domain1. Die zweite Domain wäre faktisch tot, denn Domain1 != Domain2, da Domain2 nur wie ein Unterkapitel des Buchs Domain1 läuft, aber ne eigenständige Geschichte enthält. Es macht aber keinen Sinn Domain2 direkt auf Domain1 umzuleiten, das passt einfach nicht.
Mit nem virtuellen Host der das DocumentRoot für Domain2 auf /sub setzt wäre alles so wie früher. Confixx tats.. Plesk kennt es nicht mehr. Sehr übel, dass es auch nicht durch eine eigene vhosts.conf einzubinden ist, sogar trotz separater IP. Das will mir nicht in den Kopf.. irgendwo muss es doch möglich sein diesen Vhost zu inkludieren. Ohne Plesk kein Thema, aber es nimmt einem wirklich so viel Arbeit ab, dass ich da nicht wirklich drauf verzichten möchte. Auch das Webinterface für die Kunden ist ja sehr sinnvoll und nützlich.
Nein, der redirect bringt mir nichts, da gleiche Inhalte den gleichen Pfad voraussetzen. Der steht so in der Konfiguration in der mysql drin (früher: /home/htdocs/web1/html/sub)
Etwas abstrakt nochmal:
Ich konnte früher http://www.domain1.de/sub/irgendwas.php?parameter=bla genauso aufrufen wie http://www.domain2.de/irgendwas.php?parameter=bla
Setze ich jetzt einen Alias bzw redirect, dann geht sowas nur noch für Domain1. Die zweite Domain wäre faktisch tot, denn Domain1 != Domain2, da Domain2 nur wie ein Unterkapitel des Buchs Domain1 läuft, aber ne eigenständige Geschichte enthält. Es macht aber keinen Sinn Domain2 direkt auf Domain1 umzuleiten, das passt einfach nicht.
Mit nem virtuellen Host der das DocumentRoot für Domain2 auf /sub setzt wäre alles so wie früher. Confixx tats.. Plesk kennt es nicht mehr. Sehr übel, dass es auch nicht durch eine eigene vhosts.conf einzubinden ist, sogar trotz separater IP. Das will mir nicht in den Kopf.. irgendwo muss es doch möglich sein diesen Vhost zu inkludieren. Ohne Plesk kein Thema, aber es nimmt einem wirklich so viel Arbeit ab, dass ich da nicht wirklich drauf verzichten möchte. Auch das Webinterface für die Kunden ist ja sehr sinnvoll und nützlich.
Re: das leidige DocumentRoot bei Plesk
Das erreichst Du auch mit der oben genannten Mount-Option... Nicht elegant, aber wirkungsvoll. Du mountest einfach das docroot1/sub/ auf docroot2/. Die Inhalte von docroot1/sub/ werden so auch unter docroot2/ bzw. domain2.xyz verfügbar.webmassa wrote: Mit nem virtuellen Host der das DocumentRoot für Domain2 auf /sub setzt wäre alles so wie früher.
Ciao,
Mattias
Re: das leidige DocumentRoot bei Plesk
H, Versuch macht kluch.. oder so ähnlich heisst es ja. Und ich bin wirklich zu jeder Schandtat bereit. Deshalb habe ich es eben ausprobiert.
Physikalisches Hosting bei Plesk für beide Domains, möchte ja auch gern Webmail etc anbieten können. Also existiert jetzt ein Docroot wie bei Domain 1 auch für Domain2.
Demnach:
/srv/www/vhosts/domain1.de/httpdocs
und
/srv/www/vhosts/domain2.de/httpdocs
Ich gehe also auf die Console und gebe ein:
mount -o bind /srv/www/vhosts/domain1.de/httpdocs/sub /srv/www/vhosts/domain2.de/httpdocs/
Danach den Indianer restartet.
So sollte es ja richtig sein, wenn ich Deinem Beispiel folge.
Das Ergebnis ist unbefriedigend:
Errorlog für Domain2.de zeigt:
[Tue Sep 26 13:33:23 2006] [error] [client 84.140.xxx.xxx] File does not exist: /srv/www/vhosts/domain2.de/httpdocs/images/bild.gif, referer: http://www.domain1.de/sub/index.php
Es scheint also so nicht zu klappen. Domain2 ist auch nur so als Domain nicht zu öffnen, also über den reinen Aufruf der Domain ohne Seitenangaben danach.
Hm, habe ich was übersehen oder falsch gemacht?
Physikalisches Hosting bei Plesk für beide Domains, möchte ja auch gern Webmail etc anbieten können. Also existiert jetzt ein Docroot wie bei Domain 1 auch für Domain2.
Demnach:
/srv/www/vhosts/domain1.de/httpdocs
und
/srv/www/vhosts/domain2.de/httpdocs
Ich gehe also auf die Console und gebe ein:
mount -o bind /srv/www/vhosts/domain1.de/httpdocs/sub /srv/www/vhosts/domain2.de/httpdocs/
Danach den Indianer restartet.
So sollte es ja richtig sein, wenn ich Deinem Beispiel folge.
Das Ergebnis ist unbefriedigend:
Errorlog für Domain2.de zeigt:
[Tue Sep 26 13:33:23 2006] [error] [client 84.140.xxx.xxx] File does not exist: /srv/www/vhosts/domain2.de/httpdocs/images/bild.gif, referer: http://www.domain1.de/sub/index.php
Es scheint also so nicht zu klappen. Domain2 ist auch nur so als Domain nicht zu öffnen, also über den reinen Aufruf der Domain ohne Seitenangaben danach.
Hm, habe ich was übersehen oder falsch gemacht?
Re: das leidige DocumentRoot bei Plesk
Hast Du mit "df" überprüft, ob der Mount erfolgreich war. Zeigt "ls -la" /pfad/zu/domain2.de/ die Inhalte von domain1.de/sub/?webmassa wrote: Es scheint also so nicht zu klappen. Domain2 ist auch nur so als Domain nicht zu öffnen, also über den reinen Aufruf der Domain ohne Seitenangaben danach.
Hm, habe ich was übersehen oder falsch gemacht?
Kann sein, dass Dein Apache analog zu -FollowSymlinks Mountpoints ignoriert. Ich habe grad aber keine Zeit dafür detailliert in der Doku nachzuschlagen...
Re: das leidige DocumentRoot bei Plesk
Sorry, natürlich habe ich das überprüft, hab ich vergessen zu erwähnen. Der mount wird gelistet und funktioniert bezogen aufs Filesystem. Die Inhalte werden bei ls somit auch angezeigt.MattiasS wrote: Hast Du mit "df" überprüft, ob der Mount erfolgreich war. Zeigt "ls -la" /pfad/zu/domain2.de/ die Inhalte von domain1.de/sub/?
Kann sein, dass Dein Apache analog zu -FollowSymlinks Mountpoints ignoriert. Ich habe grad aber keine Zeit dafür detailliert in der Doku nachzuschlagen...
Ich wundere mich im Augenblick, dass gar nichts angezeigt wird. Wenigstens die Standardseite müsste imho angezeigt werden, wenn Plesk die Finger drauf lässt. Das kontrolliere ich mal eben.. möglicherweise habe ich noch irgendwas an irgendwelchen includes drin, die jetzt stören.
[Edit] So, also nach gründlicher Durchsicht ist alles im originalem Zustand, keine meiner Änderungen an den Vhosts ist noch nachvollziehbar. Eben habe ich noch sicherheitshalber die htaccess im Verzeichnis von /sub gekillt, um auszuschliessen, dass deshalb was krumm läuft. Aber hat nix gebracht. Auf dem Dateisystem einwandfrei, beim Apachen gehts nicht nach aussen durch.
Was mir aber grad einfällt: Natürlich legt Plesk bei der Einrichtung einen anderen Domainnutzer an. Die Rechte im gemounteten Verzeichnis sind somit abweichend bei user:group und damit eigentlich nicht zur Domain passend. Unter Plesk kann ich aber den Domainnutzer für 1 nicht auch den von 2 sein lassen. Es sei denn ich manipulier das in der Datenbank...?
Re: das leidige DocumentRoot bei Plesk
Aber die Gruppenrechte müssten bei beiden virtuellen Hosts identisch sein - oder irre ich mich da? Wenn Gruppe der des Webservers entspricht und für Gruppen zumindest r (und für Verzeichnisse r-x) gesetzt ist, sollte es doch eigentlich wegen Berechtigung keine Probleme geben...
Re: das leidige DocumentRoot bei Plesk
Natürlich. Stimmt auch wieder :/
Ja, Gruppen sind identisch.
Ja, Gruppen sind identisch.

