serpent_driverserpent_driver MemberComments: 5 Received thanks: 0 Member since: September 12

Hi Folks,

Zu Testzwecken wollte ich gerade Shopware 6 Version installieren und das in einer SubDomain so wie ich das auch bei anderen Testinstallationen mache. Um keinen Konflit mit .htaccess Konfigurationen zu bekommen, liegt das Verzeichnis für die besagte SubDomain nicht innerhalb des DocumentRoot der Hauptdomäne, sondern parallel dazu.

/public_html/fuer_die_hauptdomain

/public_html/shopware

Die Hauptdomain und jede Subdomain haben quasi ihr eigenes DocumentRoot. Was 1000-fach mit anderen Installationen problemlos funktioniert, mag Shopware6 offenbar nicht, sodass ich nach Aufruf der Subdomain für die Shopware Installationen den schon an anderer Stelle mehrfach angezeigten Fehler bekomme, dass Shopware 6 unmittelbar in das eigentlich nicht zutreffende DocumentRoot /public_html installiert werden will. Es mag ja sein, dass Shopware 6 aus Sicherheitsgründen irgendwas außerhalb des DocumentRoot ablegen will, aber wenn man so ein Sicherheitsfeature haben will, dann muss man auch die Webserver EInstellungen richtig auslesen können. In diesen lässt sich nämlich nicht auslesen, dass mein /public_html das DocumentRoot  wäre, sondern eben das jeweilige Verzeichnis für die SubDomain.

Gibt es da einen Hack um das zu ändern?

Answers

  • Moritz NaczenskiMoritz Naczenski AdministratorsComments: 7824 Received thanks: 2288 Member since: September 2013

    Der Fehler kommt eigentlich nur, weil du statt /public_html/shopware auf das Verzeichnis /public_html/shopware/public routen musst.

     

  • serpent_driverserpent_driver MemberComments: 5 Received thanks: 0 Member since: September 12

    Ist zwar strange, aber teste ich gleich mal. Danke

  • serpent_driverserpent_driver MemberComments: 5 Received thanks: 0 Member since: September 12

    Ausprobiert und funzt nicht, egal ob nun /public_html/shopware oder /public_html/shopware/public

  • Moritz NaczenskiMoritz Naczenski AdministratorsComments: 7824 Received thanks: 2288 edited September 12 Member since: September 2013

    Warum ist das strange?
    Bei Symfony zeigt der VHost immer auf /public, weil da die Dateien liegen, die öffentlich erreichbar sein sollen. Das hat alleine Sicherheitsgründe, damit nicht jede PHP-Datei im Netz erreichbar ist. /public im Shopware-Verzeichnis ist also erstmal die korrekte Einstellung.

    Was heißt denn konkret "funzt nicht"? Bekommst du die gleiche Fehlermeldung oder eine andere?
    mod_rewrite ist aktiv? Die installation würde man dann ja über /recovery/install im browser aufrufen.

  • serpent_driverserpent_driver MemberComments: 5 Received thanks: 0 edited September 12 Member since: September 12

    Es erscheint deswegen strange, weil wenn allein durch Änderung/Ergänzung von Verzeichnissen der Installation quasi vorgaugelt werden soll, dass es im richtigen Verzeichnis wäre. Das kann ja eigentlich weniger im Sinne der Sicherheit sein, wenn man die Sicherheit als Begründung dafür angibt. Ich kritisiere aber nicht die Sicherheit, ganz im Gegenteil. Es gibt auch andere Applikationen, die das in gleicher Weise machen, also bestzimmte Dateien/Verzeichnisse außerhalb des DocumentRoot  ablegen. Nur können die dann auch die Einstellungen des jeweiligen DocumentRoot  richtig auslesen und darum gehts.

    Funzt nicht heißt, dass ich egal wo ich die Installation ausführe und egal in welches Verzeichnis ich die Installation/SubDomain route ich immer den gleichen Fehler bekomme.

    image

    Und ja, mod_rewrite ist aktiv. Ansonsten würden meine 20 anderen Installationen nicht funktionieren.

  • Moritz NaczenskiMoritz Naczenski AdministratorsComments: 7824 Received thanks: 2288 Member since: September 2013

    Naja, es läuft ja auf einer Standard apache und nginx Installation. Haben hier ja auch weitere Leute im Einsatz.

    Zeig mal deine Vhost Config.

  • serpent_driverserpent_driver MemberComments: 5 Received thanks: 0 Member since: September 12

    Vhost Config habe ich schon nachgesehen. Der Pfad zum DocumentRoot ist der, der er sein soll. Nirgendwo gibt es eine Konfiguration, dass auf /public_html eine Domain routen würde oder /public_html der DocumentRoot wäre. Das /public_html Verzeichnis ist deswegen über www nicht erreichbar, eben weil der DocumentRoot für die TLD Domain auf /public_html/hauptdomain routet. Das Einzige, was ich mir als Ursache vorstellen kann, ist dass der Shopware Installer nicht den Pfad vom DocumentRoot ausliest, sondern den HomeDir Pfad und dann nur 1 Verzeichnis unmittelbar unter diesem HomeDir akzeptiert, was dann das /home/public, bzw. /home/public_html wäre.

    Ich hab mir meine Konfiguration aber nicht selbst zusammengebastelt, sondern nur die Vorgabe von cPanel/WHM befolgt.

    Wie kommst Du darauf, dass es auf einer Apache/nginx Standard Installation laufen würde? Ich habe weder Apache noch nginx, aber die Konfiguration und alles andere wird aus der Apache Config ausgelesen.

  • R4MR4M MemberComments: 1886 Received thanks: 285 Member since: April 2014

    Ich kann mir gut vorstellen, dass eine SW6 Installtion auf normalen Webspace durchaus zu Problemen führen kann, denn nicht jeder kann sein DocumentRoot verbiegen.

  • serpent_driverserpent_driver MemberComments: 5 Received thanks: 0 Member since: September 12

    Problem gelöst, war mein (Lese)Fehler. Nachdem der gezippten Installationsdatei keine Installationsanleitung beigelegen hat, bin ich davon ausgegangen, dass man das gezippte File in das Verzeichnis extrahiert, wo auch das DocumentRoot definiert ist. Tatsächlich ist es aber so, dass das Routing auf das in der Verzeichnisstruktur der Installation angelegte /public Verzeichnis erfolgen muss. Somit erklärt sich einiges. Die ganze Schreiberei hätte man sich ersparen können, wenn man das Install HowTo dem gezippten File beilegen würde. Nur mal so in den Raum geworfen.....

     

    Trotzdem Danke für die Hilfe!

Sign In or Register to comment.