Die Sache mit dem public-Ordner

Hallo zusammen,

irgendwie stehe ich auf dem Schlauch.

Situation: Homeverzeichnis ist auf eine Wordpress-Installation gesetzt. SW6 liegt im Ordner „shop“. Den Shop sehe ich nur über /shop/public.

Ich möchte also, dass /shop den Inhalt von /public erhält, als wenn ich ein 2. Homeverzeichnis, aber nur für den Ordner Shop, wählen könnte.

Ist das irgendwie per htaccess möglich? Habe mal gegooglet, aber die gefundenen „Lösungswege“ funktionieren bisher nicht.

Viele Grüße und danke

Könnte mir vorstellen, dass es über einen Simlink auf dem System geht, habs aber nicht ausprobiert.

Also sowas:

/var/www/html/wordpress

/var/www/html/shopware

und 

/var/www/html/wordpres/shop hat dann einen Simlink auf /var/www/html/shopware/public

Hm das scheint bisher nicht zu gehen beim Hoster

 

Was muss man beachten, wenn man Shopware auf einen anderen Pfad migriert? Also von domain/shop/public auf shop.domain.de?

Hallo,

um einen Symlink zu erstellen, müsstest du dich ja nur einfach per SSH auf der Konsole anmelden und den Symlink entsprechend erstellen, siehe beispielsweise: https://www.giga.de/extra/linux/tipps/linux-symlink-erstellen-so-gehts/ . Das dürfte bei jedem Hoster möglich sein.

Grüße

Sebastian

Dieses Webhosting-Paket bietet leider keinen SSH-Zugang.

 

Ich nutze daher nun eine Sub-Domain; da mich das generell auch interessiert: gibt es hier speziell etwas zu beachten oder eine Anleitung zum Umzug von SW6 auf einen neuen Pfad/eine neue Domain? Könnte ja für den ein oder anderen auch relevant werden (z.B. auch Entwicklungsumgebung in Produktivumgebung).

Kann dafür auch gerne eine neue Diskussion eröffnen

@s2shopware schrieb:

Ich nutze daher nun eine Sub-Domain; da mich das generell auch interessiert: gibt es hier speziell etwas zu beachten oder eine Anleitung zum Umzug von SW6 auf einen neuen Pfad/eine neue Domain? Könnte ja für den ein oder anderen auch relevant werden (z.B. auch Entwicklungsumgebung in Produktivumgebung).

Shopware 6 ist eine Symfony-App und die solltest Du nicht in einen Unterordner deines document roots installieren, ohne besondere Sicherheitsmaßnahmen zu ergreifen. Du kannst zwar die Subdomain auf jeden beliebigen Unterordner unterhalb deines documents roots legen und Shopware 6 wird funktionieren. Du hast aber nicht sichergestellt, dass kein Zugriff auf den nicht-öffentlichen Ordner von Shopware über eine andere Domain erfolgen kann (Sicherheitslücke). 

Bei einem Paket ohne SSH-Zugang wird mit ziemlicher Sicherheit eine Domain des Hosters existieren, die auf deinen document root zeigt. In deinem Besipiel mit Wordpress wäre dies schon die Wordpressdomain, wenn ich dich richtig verstanden habe. Es gibt durchaus Anbieter, die bei einer administrativen Domain, welche auf den document root zeigt, verhindern, dass auf weitere Unterordner zugegriffen werden kann. Dann könntest Du eine Domain auf das Wordpress-Verzeichnis zeigen lassen und eine Subdomain auf das nicht-öffentliche SW6 Verzeichnis. Beide Verzeichnisse wären auf einer Hierachieebene und nicht Unterordner. 

Alles andere wird reichlich komplex bei der Anlage einer zentralen htaccess-Datei, da Du zusätzlich neben den Weiterleitungen und Sperrungen noch unendlich laufende Redirects verhindern musst. 

Miete Dir lieber einen kleinen managed vHost bei dem das Verhalten mit der administrativen Domain so ist, wie ich das beschrieben habe. Ansonsten musst Du auch bei einem Shared Hosting dafür Sorge tragen, dass es keine Domain auf deinem System gibt, mit der man den nicht-öffentlichen Ordner vo Shopware ansprechen kann. Derartige managed vHost bekommst Du bereits für ~20-24 Euro pro Monat.Je nachdem, was Du machst, musst Du noch RAM, vCores, Backups zukaufen, aber kleine SW6 Installationen laufen dort einigermaßen ordentlich. 

 

 

Hey,

danke für Deine ausführliche Antwort, das weiß ich zu schätzen!

Das mit dem nicht-öffentlichen Ordner habe ich mir schon gedacht; die aktuelle Testumgebung ist daher komplett per htaccess geschützt, und entsprechend möchte ich die auch nun aus dem öffentlichen Bereich raus haben.

Ich werde es dann so machen, wie von dir beschrieben: beide installationen auf eine Ebene bringen, wp bleibt homeverzeichnis d. Domain und sw kriegt die subdomain, so ist der Zugriff ausgeschlossen.

 

Warum wird das, im Gegensatz zu SW5, nun so gehandhabt?

Viele Grüße

@s2shopware schrieb:

Warum wird das, im Gegensatz zu SW5, nun so gehandhabt?

Weil es eine Symfony App ist und das System (Symfony) dies so vorsieht. Der tiefere Grund ist, Sicherheitslücken durch unberechtigten Zugriff auf nicht-öffentliche Bereiche zu verhindern  bzw. weniger wahrscheinlich zu machen. Eigentlich will man Leute wie dich zu Ihrem Glück zwingen. Libraries und Programmkomponenten auf die kein Webuser zugreifen muss, sollen auch nicht öffentlich zugänglich sein, weil man eine htacces (oder mehrere) vergessen oder vermurkst hat. 

Du musst immer noch darauf achten, dass keine Domain auf den document root verweist. Bei einem Pakte ohne ssh ist das bestimmt so.

Wenn Du z. B. :  kunde.hostingunternehmen.de  bei der Buchung deines Paketes hattes, kannst Du damit wahrscheinli sowohl auf   :

  1. kunde.hostingunternehmen.de/wordpress/irgendeineDatei
  2. kunde.hostingunternehmen.de/ShopwarenNichtÖffentlich/irgendeineDatei zugreifen

 

 

Hallo nochmal,

so stelle ich mir das vor

rootverzeichnis:

/wordpress -> TLD.de

/shop/public -> shop.TLD.de

 

so komme ich von der Subdomain nicht auf das Wordpressverzeichnis und umgekehrt. Standardmäßig ist das das root-verzeichnis, dass der domain bei einer Neubestellung zugewiesen wird, das passe ich aber stets an.

Domains setze ich immer auf ihren eigenen Ordner, ohne dass andere Installationen/Websites darin enthalten sind, außer bei diesem Testshop der per htaccess geschützt wird.

Darum geht´s hier doch, oder?

Viele Grüße und danke

Irgendeine Domain wird wahrscheinlich auf / zeigen in deinem System. In meinem Beispiel oben unte 1. & 2. ist das  kunde.hostingunternehmen.de  .

Damit kannst Du dann auf jede Datei deiner beiden Systeme zugreifen. Das musst Du abklären! Was Du schreibst ist richtig, wenn auf / keine Domain zeigt. In deinen Überlegungen beziehst Du dich immer nur auf TLD.de und shop.TLD.de

Dann frage ich mal nach, ob es einen solchen Link gibt; angelegte Domains tun dies auf jeden Fall nicht

 

Danke für den Support!