Server-Umzug im Unterverzeichnis erzeugt Pfad-Probleme

Thema wurde von parkett-dangschat, 29. August 2019 erstellt.

  1. parkett-dangschat
    Registriert seit:
    3. Januar 2012
    Beiträge:
    5
    Danke erhalten:
    0
    Hallo Leute,

    Ich ziehe gerade eine Gambio-Installation im Auftrag eines Kunden von 1&1 zu All-Inkl um und stoße leider auf ein paar Probleme. Ich hoffe, Ihr könnt mir dabei helfen.

    Ausgangssituation ist folgende:

    Der Kunde hat bei 1&1 eine Unternehmensseite mit WordPress auf www.domain.de laufen und einen Gambio-Shop in einem Unterverzeichnis auf www.domain.de/onlineshop. Umgesetzt wurde dies über eine eigene index.php, die die auf dem Server in einem Unterverzeichnis befindlichen WordPress-Installation im Stammverzeichnis ausführt und den Gambio-Shop dann in seinem eigenen Unterverzeichnis, was dadurch ja quasi innerhalb der WP-Installation liegt.

    In den Config-Files der Gambio-Installation zeigt der Document Root auf /www/kdn-nr/htdocs und die Server- und Catalog-URLs auf www.domain.de - was für mich schon das erste Mysterium ist, wie das überhaupt laufen soll. Auch die RewriteBase wurde nicht verändert.

    Das Resultat soll wie folgt aussehen:

    Nach dem Umzug soll auf der gleichen Domain die WP-Installation liegen, jedoch ohne www. Der Gambio-Shop wiederum soll im Unterverzeichnis domain.de/shop liegen. Außerdem sollen aus verschiedenen Gründen die beide Installationen in ihren eigenen Unterverzeichnissen aufgerufen werden und nicht die WP-Installation im Stammverzeichnis.

    Also quasi:

    .../htdocs/wordpress/ -> domain.de
    .../htdocs/gambio/ -> domain.de/shop

    Meine Lösung bisher:

    Ich habe also beides via SSH bzw. SCP in die entsprechenden Verzeichnisse beim neuen Hoster umgezogen. WP ist schon vollkommen eingerichtet und läuft. Die Domain liegt auf dem WordPress-Verzeichnis und der Gambio-Ordner wird als symbolischer Link in die WP-Installation reingeholt.

    In beiden Configs bei Gambio habe ich den Document Root auf /www/kdn-nr/htdocs/gambio gestellt. Auch /www/kdn-nr/htdocs/wordpress/shop habe ich ausprobiert. Server- und Katalog-URLs stehen auf domain.de/shop - so läuft zumindest das Frontend des Shops.

    Das Problem:

    Loggt man sich als Admin in den Shop ein wird man einmalig zu domain.de/shop/shop umgeleitet, danach aber nie wieder. Das ist also das geringste Problem.

    Geht man dann aber in den Administrationsbereich, fangen die Probleme richtig an. Der wird erstmal gar nicht korrekt geladen, da zahlreiche CSS- und JS-Dateien plötzlich auf z.B. domain.de/GXModules/... usw zeigen, also ohne das shop-Verzeichnis. Meine Nachforschungen zeigen, dass diese Dateien im Admin-Bereich mit relativen URLs eingebunden sind und es auch keinen Base-Tag gibt.

    Ich habe auch mal kurzfristig diese Dateien zum Laden bekommen, dann gehen aber andere Bereiche nicht und der Admin-Bereich bleibt weiß. Also irgendwie ist da der Wurm drin.

    Leider gibt ja das »Developer Manual« keine genaue Auskunft zu den Konfigurationsdateien oder zu irgendwelchen Schnittstellen, sondern lediglich zur GUI. Ich habe allerdings auch die bekannten Umzugs-Anleitungen gelesen und ausprobiert, komme da aber auch nicht weiter.

    Habt Ihr da noch Ideen?

    Ganz nebenbei: Welche Bewandtnis haben denn eigentlich die configure.org.php-Dateien? Die einfach gleich setzen?
     
  2. barbara
    barbara G-WARD 2014-2020
    Registriert seit:
    14. August 2011
    Beiträge:
    35.657
    Danke erhalten:
    11.371
    Danke vergeben:
    1.616
    Deine Pfade und Einstellungen passen nicht.
    Die Domain (egal ob mit oder ohne (Link nur für registrierte Nutzer sichtbar.).) liegt auf "gambio"
    Endweder hast Du
    htdocs/gambio/blog/
    htdocs/gambio/shop/
    und die
    dann wäre domain.de/blog/
    und domain.de/shop

    Oder du hast den Blog im Hauptverzeichnis "gambio" und nur den Shop im Unterordner
    dann wäre es domain.de für den blog und
    domain.de/shop für den Shop

    Da es verschiedene configure-Versionen gibt, poste doch mal bitte den oberen Teil (ohne die Datenbankangaben unten)
    einer Deiner Dateien und schreibe noch mal genau wie der Aufruf sein soll.

    oder schau mal hier:
    (Link nur für registrierte Nutzer sichtbar.)

    da ist auch ein Link zu einem Testtool, das zwar eine ältere Version der configure-Datei erzeugt, die sollte aber trotzdem noch funktionieren.

    Das ist eine Sicherung, die der Shop automatisch bei der ersten Installation anlegt.anlegt
     
  3. parkett-dangschat
    Registriert seit:
    3. Januar 2012
    Beiträge:
    5
    Danke erhalten:
    0
    Hallo Barbara,
    Vielen Dank erst einmal für Deine Mühe.

    Du hast den symbolischen Link übersehen. Es gibt:

    htdocs/wordpress - hier ist die Domain drauf geschaltet, also domain.de
    htdocs/gambio
    - hier ist die Shop-Installation
    htdocs/wordpress/shop - zeigt als symbolischer Link auf /htdocs/gambio, so dass die Gambio-Installation »virtuell« innerhalb der WordPress installation liegt, also domain.de/shop = /htdocs/gambio

    Aktuell sieht die admin/includes/configure.php wie folgt aus:

    PHP:
    $t_document_root '/www/htdocs/1234567/gambio/'// absolute server path required (domain root)

    $t_document_root realpath($t_document_root) . '/';
    $t_document_root str_replace('\\''/'$t_document_root);

    if(
    $t_document_root == '//')
    {
        
    $t_document_root '/';
    }

    $t_dir_fs_backend dirname(dirname(__FILE__));
    $t_dir_fs_frontend dirname(dirname(dirname(__FILE__)));

    if(
    basename(dirname(__FILE__)) == 'local')
    {
        
    $t_dir_fs_backend dirname($t_dir_fs_backend);
        
    $t_dir_fs_frontend dirname($t_dir_fs_frontend);
    }

    $t_dir_fs_backend str_replace('\\''/'$t_dir_fs_backend) . '/';
    $t_dir_fs_frontend str_replace('\\''/'$t_dir_fs_frontend) . '/';

    $t_dir_ws_catalog substr($t_dir_fs_frontendstrlen($t_document_root) - 1);

    // Define the webserver and path parameters
    // * DIR_FS_* = Filesystem directories (local/physical)
    // * DIR_WS_* = Webserver directories (virtual/URL)
    define('HTTP_SERVER''https://domain.de/shop/'); // eg, http://localhost or - https://localhost should not be empty for productive servers
    define('HTTP_CATALOG_SERVER''https://domain.de/shop/');
    define('HTTPS_CATALOG_SERVER''https://domain.de/shop/');
    define('ENABLE_SSL_CATALOG''true'); // SSL: 'true' = active, 'false' = inactive
    define('DIR_FS_DOCUMENT_ROOT'$t_dir_fs_frontend); // where the pages are located on the server
    define('DIR_WS_ADMIN'$t_dir_ws_catalog 'admin/'); // absolute url path required
    define('DIR_FS_ADMIN'$t_dir_fs_backend); // absolute server path required
    define('DIR_WS_CATALOG'$t_dir_ws_catalog); // absolute url path required
    define('DIR_FS_CATALOG'$t_dir_fs_frontend); // absolute server path required
    define('DIR_WS_IMAGES''images/');
    define('DIR_FS_CATALOG_IMAGES'DIR_FS_CATALOG 'images/');
    define('DIR_FS_CATALOG_ORIGINAL_IMAGES'DIR_FS_CATALOG_IMAGES 'product_images/original_images/');
    define('DIR_FS_CATALOG_THUMBNAIL_IMAGES'DIR_FS_CATALOG_IMAGES 'product_images/thumbnail_images/');
    define('DIR_FS_CATALOG_INFO_IMAGES'DIR_FS_CATALOG_IMAGES 'product_images/info_images/');
    define('DIR_FS_CATALOG_POPUP_IMAGES'DIR_FS_CATALOG_IMAGES 'product_images/popup_images/');
    define('DIR_WS_ICONS'DIR_WS_IMAGES 'icons/');
    define('DIR_WS_CATALOG_IMAGES'DIR_WS_CATALOG 'images/');
    define('DIR_WS_CATALOG_ORIGINAL_IMAGES'DIR_WS_CATALOG_IMAGES 'product_images/original_images/');
    define('DIR_WS_CATALOG_THUMBNAIL_IMAGES'DIR_WS_CATALOG_IMAGES 'product_images/thumbnail_images/');
    define('DIR_WS_CATALOG_INFO_IMAGES'DIR_WS_CATALOG_IMAGES 'product_images/info_images/');
    define('DIR_WS_CATALOG_POPUP_IMAGES'DIR_WS_CATALOG_IMAGES 'product_images/popup_images/');
    define('DIR_WS_INCLUDES''includes/');
    define('DIR_WS_BOXES'DIR_WS_INCLUDES 'boxes/');
    define('DIR_WS_FUNCTIONS'DIR_WS_INCLUDES 'functions/');
    define('DIR_WS_CLASSES'DIR_WS_INCLUDES 'classes/');
    define('DIR_WS_MODULES'DIR_WS_INCLUDES 'modules/');
    define('DIR_WS_LANGUAGES'DIR_WS_CATALOG'lang/');
    define('DIR_FS_LANGUAGES'DIR_FS_CATALOG'lang/');
    define('DIR_FS_CATALOG_MODULES'DIR_FS_CATALOG 'includes/modules/');
    define('DIR_FS_BACKUP'DIR_FS_ADMIN 'backups/');
    define('DIR_FS_INC'DIR_FS_CATALOG 'inc/');
    Die genauen Zugangsdaten habe ich mal aus datenschutz-rechtlichen Gründen entfernt.
     
  4. Wilken (Gambio)
    Wilken (Gambio) Erfahrener Benutzer
    Registriert seit:
    7. November 2012
    Beiträge:
    18.737
    Danke erhalten:
    7.311
    Danke vergeben:
    2.208
    Alle HTTP_...._SERVER Einträge in den configure Dateien enthalten immer und ausnahmslos nur die Domain, keine Pfade darin. Das "/shop"-Pfadpostfix gehört da nicht rein.
     
  5. parkett-dangschat
    Registriert seit:
    3. Januar 2012
    Beiträge:
    5
    Danke erhalten:
    0
    Danke für die Info! Wo gehört denn dann das Unterverzeichnis rein, damit der Shop unter domain.de/shop aufgerufen werden kann? Irgendwo muss man es dem CMS ja sagen... ;)
     
  6. Wilken (Gambio)
    Wilken (Gambio) Erfahrener Benutzer
    Registriert seit:
    7. November 2012
    Beiträge:
    18.737
    Danke erhalten:
    7.311
    Danke vergeben:
    2.208
    Der Pfad wird üblicherweise dynamisch ermittelt, steht dann in WS_CATALOG Variablen.
     
  7. Anonymous
    Anonymous Erfahrener Benutzer
    Mitarbeiter
    Registriert seit:
    22. Juni 2011
    Beiträge:
    4.760
    Danke erhalten:
    1.749
    Danke vergeben:
    137
    Bei manchen Symlink-Konstruktionen funktioniert die übliche Automatik nicht, der Installer würde das merken und
    PHP:
    $t_dir_ws_catalog '/shop/';
    explizit setzen. Da in diesem Falle der Installer nicht ausgeführt wird, muss man das manuell einfügen.
     
  8. parkett-dangschat
    Registriert seit:
    3. Januar 2012
    Beiträge:
    5
    Danke erhalten:
    0
    Vielen Dank für Eure Tipps!

    Wir haben uns in der Zwischenzeit mit dem Kunden auf eine Subdomain (shop.domain.de) geeinigt - dadurch ist das Problem erstmal behoben. :)

    Ich behalte die Lösungen aber mal im Hinterkopf für den nächsten Umzug...
     
  9. Wilken (Gambio)
    Wilken (Gambio) Erfahrener Benutzer
    Registriert seit:
    7. November 2012
    Beiträge:
    18.737
    Danke erhalten:
    7.311
    Danke vergeben:
    2.208
    Alles auf einer Domain halten ist meist sinnvoller für SEO-Optimierung, das würde ich nochmal überlegen...
     
  10. parkett-dangschat
    Registriert seit:
    3. Januar 2012
    Beiträge:
    5
    Danke erhalten:
    0
    Ja, ich weiß. Aber der Shop war nun schon weit über 24 Stunden offline - dementsprechend brauchten wir eine schnelle Lösung.