Shop-Installation ohne SSH

Benötigte Lesezeit: 7 Minuten


Einleitung

Diese Installationsanleitung kann erst ab der PepperShop Version 7.0 verwendet werden.

Mit dieser Anleitung sollen alle, welche von ihrem Provider keinen SSH Zugang zu ihrem Webserver erhalten, den PepperShop installieren können.

Die Installation erfordert das manuelle Ändern von Dateien. PepperShop Dateien sind mit UNIX-Zeilenumbrüchen erstellt worden. Auf Windows-Rechnern sehen sie dementsprechend etwas “‘komisch” aus. Wir empfehlen einen geeigneten Editor zu verwenden, wie z.B. das kostenlose Programm Notepad++,dann werden die Dateien richtig interpretiert und korrekt angezeigt.

Wir erhielten früher öfters E-Mails oder Foren-Beiträge, welche uns darauf hinweisen, dass diese Installation unnötig kompliziert ist. Wir mögen uns doch an Projekten orientieren, die einen Webinstaller anbieten. Wir wollen hier nochmals betonen, dass der PepperShop über ein dynamisches, komfortabel zu bedienendes Installationstool verfügt, welches die komplette Shop-Installation Menü geführt abwickelt. Dieses Installationstool benötigt aber einen SSH-Zugang. Wer keinen Telnet / SSH-Zugang zur Verfügung hat, muss etwas Handarbeit über sich ergehen lassen und folgende Anleitung einmal durch arbeiten.

Übersicht

Die Installation kann in folgende sechs Abschnitte unterteilt werden:

  1. Herunterladen des PepperShop Source Codes
  2. Editieren der anzupassenden Dateien
  3. Hochladen der angepassten Shop-Datenbank
  4. Hochladen der angepassten Shop-Dateien auf den Webserver
  5. Anpassen der Datei-Zugriffsrechte
  6. Erstellen des Zugangsschutzes für den Administrationsbereich

Ausgangslage / Datenbank-Setup

Es wird davon ausgegangen, dass man den Shop mit nur einem, schon existierenden Datenbankbenutzer und einer, auch schon existierenden, MySQL oder MariaDB Datenbank installieren will. Diese Schritte lassen sich üblicherweise über das Control-Panel Ihres Hosting-Providers erledigen. Es ist zu beachten, dass der schon existierende Datenbankbenutzer vielleicht auch Rechte besitzt, welche von unserem Security-Konzept her ausgeschlossen sein sollten (GRANT, …)

Was benötige ich um diesen Shop zu installieren

Um den PepperShop mit dieser Anleitung installieren zu können benötigen Sie folgende Komponenten:

  • Source-Dateien des PepperShops (v.7.0 oder neuer)
  • Ein Text-Editor wie (z.B. Notepad++, …)
  • Ein FTP-Programm (z.B. FileZilla Client, …)
  • Einen Webhosting Account mit FTP-Zugang und folgender Unterstützung:
    • PHP ab Version 7.2 (ältere Versionen sind nicht mehr kompatibel!)
      • GD-Library (ab Version 2)
      • Die PHP-Funktion inet_setdarf nicht gesperrt sein
    • MySQL ab Version ab 5.6 (empfohlen 5.7, auch möglich MariaDB 10.2)
    • Webserver (Apache, …)

Download des Source Codes des PepperShops

Laden Sie den PepperShop in der aktuellen Version über Ihrem Account herunter. Öffnen Sie das zu folgende Webseite und geben Sie Ihre Login-Daten ein.

  • PepperShop Verkaufssystem: https://www.peppershop.com/shop/ Nach dem Download entpacken Sie die Dateien in ein Verzeichnis. Darin befindet sich jetzt das Verzeichnis phpeppershop_src, worin sich die Shop-Dateien befinden. Dieser Shop ist noch nicht einsetzbar. Es müssen zuerst einige Anpassungen vorgenommen werden.

Editieren der anzupassenden Dateien

Im Verzeichnis phpeppershop_src/template/ befinden sich mehrere Dateien. Hier wollen wir zuerst die SQL-Dateien anpassen. Diese sind für das Erstellen und Löschen der Shop-Datenbank im MySQL-Server zuständig.

Datei: template_create.sql

Alle Zeilen von und mit {nomakeuser} bis und mit {nomakeuser} löschen. (wären für die User-Erstellung des automatisierten Telnet/SSH-Setups config.pl zuständig.) Alle {shop_db} ersetzen mit dem Namen der schon bestehenden Datenbank. Achtung: Auch die geschweiften Klammern müssen ersetzt werden! Bsp. Aus {shop_db} wird dann z.B. db1651. Ersetzen Sie auch die anderen geschweiften Klammern mit den entsprechenden Werten. ({shopadmin}, {host-name}, {shopadminpwd})

Datei: template_insert.sql

Alle {shop_db} ersetzen mit dem Namen der schon bestehenden Datenbank. Achtung: Auch die geschweiften Klammern müssen ersetzt werden! Ersetzen wie in der Datei template_create.sql.

Datei: template_del_tables_only.sql

Alle Zeilen von und mit {nomakeuser} bis und mit {nomakeuser} löschen (wären im automatisierten Telnet/SSH-Setup für das Löschen der User zuständig).

Datei: config_admin.inc.php

Nun muss zuerst das Verzeichnis gewechselt werden: Im folgenden Verzeichnis findet man die nächste, anzupassende Datei: phpeppershop_src/shop/Admin/config_admin.inc.php. In dieser Datei müssen Sie die Daten zur Datenbank hinterlegen, die Sie vom Control Panel Ihres Hosting Providers erhalten haben. Standardmässig werden hier folgender Eintrag verwendet:

$config_admin['db']['host']= '{hostname}'; 
$config_admin['db']['db_name']= '{shop_db}'; 
$config_admin['db']['username']= '{shopadmin}'; 
$config_admin['db']['password']= '{shopadminpwd}';

Anstatt {hostname} soll man den Rechnernamen angeben, auf welchem MySQL läuft (z.B. localhost oder database.meinedomain.de). Den Bezeichner {shop_db} wird durch den Namen der schon existierenden Datenbank ersetzt. Zum Schluss noch {shopadmin} durch den Namen des schon bestehenden Datenbank-Users ersetzen. Mit {shopadminpwd} ist das Passwort des Datenbank-Users gemeint. Beispieldaten:

$config_admin['db']['host']= 'localhost'; 
$config_admin['db']['db_name']= 'db1651'; 
$config_admin['db']['username']= 'db1651_user'; 
$config_admin['db']['password']= 'abc345def-K';

Die geschweiften Klammern müssen also auch ersetzt werden aber die Hochkommata nicht!

Shop Datenbank einlesen

Mit einem Hilfsprogramm wie z.B. phpMyAdmin oder einem anderen Programm, kann man nun die beiden bearbeiteten Dateien template_create.sql und template_insert.sql (Verzeichnis peppershop_src/template/) in die Datenbank auf dem Server Ihres Hosting Providers einlesen. Die meisten Hosting Provider bieten phpMyAdmin als Online Datenbank Verwaltungssystem an. Hinweis: Bevor Sie die Dateien einlesen, möchten wir darauf hinweisen, dass die in den Dateien vorhandenen Befehle nur einmal ausgeführt werden sollen. Bitte nicht zweimal auf OK klicken, etwas warten. Sollte es wider erwarten doch zu Fehlermeldungen kommen, muss man zuerst die Datei template_del_tables_only.sql laufen lassen, bevor man es nochmals neu mit template_crea-te.sql und dann template_insert.sql versuchen kann.

Nachdem die Datenbank nun erfolgreich hochgeladen wurde und die Shop Daten angepasst sind, können wir die Shop-Dateien auf den Webserver laden und zum Punkt 7 weitergehen.

Info: Deinstallation

Wenn man den Shop wieder deinstallieren will, so muss man auf dem gleichen Weg die Datei template_del_tables_only.sql ausführen. Dabei werden alle vom PepperShop verwendeten Tabellen gelöscht. Achtung: ALLE Daten sind verloren, wenn nicht ein Backup erstellt und gesichert wurde!

Hochladen der angepassten Shop Dateien auf den Webserver

Um den Shop auf den Webserver zu laden, sollte man ein (S)FTP-Programm benutzen. Ein kostenloses, robustes FTP-Programm ist der FileZilla Client: http://filezilla-project.org. Man sollte das ganze Verzeichnis peppershop_src komplett hochladen und dann umbenennen (z.B. in shop). Der Name, des Verzeichnisses ist später in der URL ersichtlich. Bsp. http://www.meinserver.de/shop/. Wenn Sie den Shop ohne Unterverzeichnis aufrufen möchten, dann bitte nur die Inhalte des Verzeichnisses peppershop_src hochladen.

Anpassen der Datei-Zugriffsrechte

Wenn PepperShop auf einem Webserver ausgeführt wird, wo noch spezielle Dateizugriffsrechte gesetzt werden müssen (UNIX/Linux/MacOS-X + PHP als Webserver-Modul), dann muss man diese noch korrekt setzen. Am einfachen können die Dateiberechtigungen mit dem automatischen Script angepasst werden. Dies rufen Sie wie folgt auf: www.ihredomain.ch/shopverzeichnis/shop/Admin/shop_berechtigun-gen_clean.php

Absichern der Datenbankdaten

Man muss dem Verzeichnis peppershop_src/template das Datei-Zugriffsrecht 700 gegeben werden. Allen Dateien darin, muss 600 zugeordnet werden. Dies, damit kein Unbefugter die Datenbankangaben sehen kann. Als Alternative kann man dieses Unterverzeichnis auch gar nicht erst auf den Webserverladen.

Daten aufräumen mithilfe eines Cron-Jobs

Für den PepperShop sollte ein periodisch gestarteter Aufruf eingerichtet werden, der tägliche Arbeiten ausführt (Aufräumarbeiten, Queue Nachsendungen, Abo-Verarbeitungen, ..). Dabei wird unter anderem die Datenbank gesäubert und nicht mehr benötigte Cacheeinträge geleert. Bei UNIX/Linux Systemen kann man z.B. einen Cron-Job mit folgendem Kommando verwenden:

5 0 * * *    cd {shopverzeichnis}shop/Admin/; php garbage_collection.php commandline

Kann kein CRON verwendet werden, geht auch ein HTTP[S]-Aufruf auf folgende Datei:

http[s]://{www.ihredomain.tld}/{webshop_verzeichnis}/shop/Admin/garbage_collection.php

Wenn die Administration mit einem Passwort geschützt ist, kann man den Benutzernamen und das Passwort wie folgt angeben:

http[s]://benutzername:passwort@{www.ihredomain.tld}/...

Erstellen des Schutzes für den Administrationsbereich

Damit der Administrationsbereich nicht von jedermann betreten werden kann, muss er Passwortgeschützt werden. a. Hosting Provider Tool Heute ist es üblich, dass der Provider ein Tool zur Verfügung stellt, mit welchem man selbst einen so-genannten Verzeichniszugriffsschutz für ein beliebiges Verzeichnis im eigenen Webaccount erstellen und verwalten kann. Man kann damit nun einen aktivierten Schutz für das Verzeichnis {shopver-zeichnis}/shop/Admin erstellen. b. Manueller Verzeichnisschutz Für den Fall, dass der Provider kein Tool dieser Art zur Verfügung stellt, kann das beigelegte ToolSHOP_HTACCESS.php verwendet werden um einen Schutz zu erstellen. Es verwendet eine .htac-cess und eine .htpasswd Datei, eine ‘Funktionalität’ des Apache-Webservers. Wenn ein Microsoft® IIS oder sonst ein Server eingesetzt wird, muss man sich bezüglich des Verzeichnisschutzes mit dem Hosting Provider in Verbindung setzten. Falls der Shop als Webserver-Modul unter UNIX/Linux läuft, geben wir dem Verzeichnis {shopver-zeichnis}/shop/Admin temporär das Zugriffsrecht 777. Wir öffnen in unserem Browser die folgende Datei: www.ihredomain.ch/{shopverzeichnis}/shop/Admin/SHOP_HTACCESS.php Achtung: Gross-/Kleinschreibung beachten. Hier können wir nun unseren .htaccess-Schutz generieren lassen. Nachdem dies abgearbeitet ist, muss man die Zugriffsrechte des Admin-Verzeichnisses wieder auf 755 zurücksetzen. Unter Windows gibt es keine UNIX-Zugriffsrechte – einfach ignorieren. Vorgehen bei einer Fehlermeldung Wenn man versucht hat einen htaccess-Schutz einzurichten und man erhält danach eine ‘500 Internal Server Error’ Fehlermeldung, so hat die Erstellung des .htaccess-Schutzes nicht wie gewünscht funktioniert. Meistens liegt es daran, dass man einen Advanced-htaccess-Schutz benutzen will, der Webserver diese Funktionalität aber nicht unterstützt. Wie dem auch sei. Um den fehlerhaften .htaccess-Schutz zu löschen, soll man einfach im Admin-Verzeichnis die beiden Dateien .htaccess und .htpasswd löschen. Der Punkt vor dem Dateinamen bedeutet, dass die Dateien als ‘versteckt’ angesehen werden. Wenn man sie also im FTP-Tool nicht sieht, sollte man nach entsprechender Einstellung suchen. Weitere Sicherheitsaspekte Die .htpasswd Datei sollte nicht in einem per Web zugänglichen Verzeichnis liegen. Man sollte diese Datei ausserhalb des Webverzeichnisses ablegen und den Pfad in der .htaccess Datei entsprechend anpassen. Per Default liegt sie im Ordner: {shopverzeichnis}/shop/Admin/. Weiter wollen wir darauf hinweisen, dass .htaccess im Basic-Mode die Passworteingabe unverschlüsselt und deshalb unsicher entgegen nimmt. Mit der Advanced Einstellung (entspricht der Digest Methodik) können aber viele Webserver (noch) nicht umgehen.

Der Shop ist nun einsatzbereit, die ersten Schritte-Anleitung hilft Ihnen beim weiteren Vorgehen mit PepperShop Onlineshop. Viel Spass!

🌶️
🔥
🌶️