Installation von OXID eShop 6.1 CE im Unterordner, für Anfänger (am Beispiel Alfahosting)

oxid6

#1

Hallo,
nachdem ich selbst die Installation von der neuen Shopversion mit einigen Hürden und Hilfe aus dem Forum geschafft habe, möchte ich das neu gelernte zusammenfassen, um den anderen Anfängern die Arbeit zu erleichtern.

Die Installation in der Standardvariante, wo der Shop unter Hauptdomain z.B. “meinedomain.de” erreichbar sein sollte, wäre relativ einfach. Die größte Schwierigkeit für mich war, den Shop im Unterordner “meinedomain.de/webshop” zum laufen zu bringen. Alfahosting empfahl mir das mittels der angepassten .htaccess-Datei zu machen. Irgendwie habe ich es aber nicht geschafft und fragte erneut bei Alfahosting nach. Gegen Bezahlung hätte ich das machen lassen können, fand dann aber Hilfe hier im Forum und zwar bei Nutzung eines virtuellen Links.

Die Installation von Version 6 unterscheidet sich grundsätzlich von den früheren Versionen und verläuft mittels SSH und PHP-Composer. Zuerst muss ein SSH Client z.B. PuTTY installiert werden. Es ist bei Alfahosting gut beschrieben, wie man die Installation macht und wo man PuTTY her bekommt: https://alfahosting.de/downloads/SSH-Anleitung.pdf

Wenn man dann PuTTY startet, wird man aufgefordert Benutzername sowie Passwort einzugeben. Das geht am besten durch rein kopieren mit der Maus. Das Einfügen geht mit der rechten Maustaste. Dabei wird das Passwort im SSH Client nicht angezeigt. D.h. man muss die rechte Maustaste und dann gleich die Eingabe-Taste auf der Tastatur drücken.

Mit Hilfe von dem Befehl “cd” geht man in den benötigten Ordner rein (mit “cd …” wieder raus). Bei Alfahosting kommt man dann mit “cd html” in den Ordner “html”. Wenn der Hauptordner des Shops hier installiert werden soll, dann macht man hier mit Composer-Installation weiter. Ich wollte den Shop im Unterordner einer Seite haben: “meinedomain.de/webshop”. Die Seite selbst läuft auf CMS Drupal. Dementsprechend habe ich im Ordner “html” noch einen Unterordner “drupal”. Die “meinedomain.de” ist auf den Ordner “drupal” weitergeleitet.

Nachdem man im Ordner “html” ist, geht man mit “cd drupal” in den Ordner “drupal” rein.

Nun folgt die Installation von Composer mit dem Script von dieser Seite: https://getcomposer.org/download/

Dafür gibt man im SSH Client folgenden Code ein:

php -r “copy(‘https://getcomposer.org/installer’, ‘composer-setup.php’);”
php -r “if (hash_file(‘sha384’, ‘composer-setup.php’) === ‘48e3236262b34d30969dca3c37281b3b4bbe3221bda826ac6a9a62d6444cdb0dcd0615698a5cbe587c3f0fe57a54d8f5’) { echo ‘Installer verified’; } else { echo ‘Installer corrupt’; unlink(‘composer-setup.php’); } echo PHP_EOL;”
php composer-setup.php
php -r “unlink(‘composer-setup.php’);”

Nun ist Composer installiert und man kann mit der Installation der Shop-Software-Dateien anfangen. Da musste ich mehrere Befehle ausprobieren und anpassen, bis es dann letztendlich ohne Fehler geklappt hat. Ich habe auf dem Server die PHP-Version 7.0 und installiert werden sollte Oxid 6.1 CE. Der richtige Befehl für die Shop-Dateien-Installation:

/usr/bin/php7.0 composer.phar create-project --no-dev oxid-esales/oxideshop-project my_oxid_eshop_project dev-b-6.1-ce

Die Installation dauert einige Minuten.

Nach dem Abschluss der Dateien-Installation gibt es nun im Ordner “drupal” einen neuen Ordner “my_oxid_eshop_project”, wo die Shop-Software liegt. Dieser kann jetzt zur Verkürzung z.B. in “oxid” umbenannt werden. Die “meinedomain.de” wird im Alfahosting-Confixx-Adminbereich auf den Ordner “/drupal/oxid/source” umgeleitet. Nachdem die Umleitung erfolgte (das dauert auf dem Server ein paar Minuten), wird die “meinedomain.de” oder “meinedomain.de/setup” aufgerufen. Beim mir ging es auch ohne “/setup”.

Nun erfolgt die Installation von dem Shop. Da wird das Land, Sprache, Datenbank, E-Mail und Passwort eingegeben.

Wenn der Shop installiert ist, wird “meinedomain.de” auf den ursprünglichen Ordner “drupal” umgeleitet. Wenn der Shop nicht im Unterordner laufen soll, bleibt natürlich die Weiterleitung auf “/drupal/oxid/source”.

Im Ordner Source liegen die Dateien config.inc.php und .htaccess.

In config.inc.php (Rechte für die Datei zuerst auf “Schreiben” verändern und danach wieder auf “Lesen”) ändern wir die Zeile

$this->sShopURL = ‘http://mainedomain.de’;

wie folgt ab:

$this->sShopURL = ‘https://mainedomain.de/webshop’;

In .htaccess ändern wir “RewriteBase /” in “RewriteBase /webshop”.

Jetzt muss noch ein virtueller Link von “/oxid/source” zu “/webshop” gemacht werden. Dafür starten wir den SSH Client PuTTY erneut und landen mit “cd html” und “cd drupal” im Ordner “drupal”. Hier geben wir folgenden Befehl ein:

ln -s oxid/source/ webshop

Jetzt sollte die Webseite wie gehabt unter “mainedomain.de” und der Shop unter “mainedomain.de/webshop” erreichbar sein.

Es gibt hier noch einen interessanten Tipp zum schnellen Wechseln zwischen mehreren Versionen des Shops bei der selben Datenbank: https://oxidforge.org/en/running-oxid-eshop-subdirectory.html

Mann kann wie oben beschrieben mehrere Versionen des Shops parallel anlegen und dann mit den Befehlen unten dazwischen springen:

ln -sfn oxid_v1.1/source/ webshop

ln -sfn oxid_v1.2/source/ webshop

ln -sfn oxid_v1.3/source/ webshop

Weitere Links zum Thema: