Die Shop-Verbindung einrichten
Die Verbindung richten Sie einmalig unter System → Plugins im Eintrag System - JTL Shop Content Source ein. Die Einstellungen liegen in zwei Reitern: JTL Shop Datenbank und Plugin-Optionen.
Zuerst: einen eigenen Datenbankbenutzer anlegen
Verwenden Sie nicht den Datenbankbenutzer des Shops. Legen Sie im Shop-Datenbankserver einen eigenen Benutzer an, der ausschließlich lesen darf. Die Erweiterung schreibt nie — ein Benutzer mit Schreibrechten wäre also ein Risiko ohne Gegenwert.
Ein Beispiel für MySQL. Ersetzen Sie Schemanamen, Benutzernamen, Passwort und die Adresse, von der aus zugegriffen wird:
CREATE USER 'joomla_lesen'@'203.0.113.10' IDENTIFIED BY 'ein-langes-passwort';
GRANT SELECT ON jtlshop.tartikel TO 'joomla_lesen'@'203.0.113.10';
GRANT SELECT ON jtlshop.tartikelattribut TO 'joomla_lesen'@'203.0.113.10';
GRANT SELECT ON jtlshop.tartikelattributsprache TO 'joomla_lesen'@'203.0.113.10';
GRANT SELECT ON jtlshop.tartikelmerkmal TO 'joomla_lesen'@'203.0.113.10';
GRANT SELECT ON jtlshop.tartikelpict TO 'joomla_lesen'@'203.0.113.10';
GRANT SELECT ON jtlshop.tartikelvariante TO 'joomla_lesen'@'203.0.113.10';
GRANT SELECT ON jtlshop.thersteller TO 'joomla_lesen'@'203.0.113.10';
GRANT SELECT ON jtlshop.tkategorie TO 'joomla_lesen'@'203.0.113.10';
GRANT SELECT ON jtlshop.tkategorieartikel TO 'joomla_lesen'@'203.0.113.10';
GRANT SELECT ON jtlshop.tmerkmal TO 'joomla_lesen'@'203.0.113.10';
GRANT SELECT ON jtlshop.tmerkmalwert TO 'joomla_lesen'@'203.0.113.10';
GRANT SELECT ON jtlshop.tmerkmalwertsprache TO 'joomla_lesen'@'203.0.113.10';
GRANT SELECT ON jtlshop.tpreis TO 'joomla_lesen'@'203.0.113.10';
GRANT SELECT ON jtlshop.tpreisdetail TO 'joomla_lesen'@'203.0.113.10';
FLUSH PRIVILEGES;
Das t am Anfang der Tabellennamen ist das übliche JTL-Präfix. Weicht Ihres ab,
passen Sie die Namen an — und tragen Sie es unten im Feld Tabellen-Präfix ein.
Wer es einfacher haben will, vergibt GRANT SELECT ON jtlshop.* . Das ist
großzügiger als nötig, aber immer noch deutlich besser als ein Benutzer mit Schreibrechten.
Reiter „JTL Shop Datenbank"
localhost.
DatenbanknameName des Schemas, etwa jtlshop.
Datenbank-BenutzerDer eben angelegte Lesebenutzer.
Datenbank-PasswortWird t.
Datenbank-PortVorgabe 3306.
Die Verbindung prüfen
Über dem ersten Feld liegt die Schaltfläche Datenbankverbindung testen. Sie prüft, ohne zu speichern:
Werden fehlende Tabellen gemeldet, stimmt in aller Regel das Präfix nicht.
Die Prüfung ist nur für angemeldete Benutzer mit dem Recht, Erweiterungen zu verwalten, erreichbar. Bis Version 1.9.8 war sie ohne Anmeldung aufrufbar — ein weiterer Grund, auf 1.10.0 zu aktualisieren.
Reiter „Plugin-Optionen"
https://shop.example.de. Daraus werden die Bild- und Artikeladressen zusammengesetzt. Bleibt das Feld leer, wird die Adresse der Joomla-Website verwendet — und die Bilder gehen ins Leere.
Standard-WährungWährungskürzel für die Preisausgabe, Vorgabe EUR.
StandardspracheISO-Kürzel der Sprache, in der die Artikeldaten geführt werden, Vorgabe ger. Steuert, welche übersetzten Attributnamen gelesen werden. Bei einem englischsprachigen Shop etwa eng.
Wo das Passwort landet
Joomla speichert Plugin-Einstellungen unverschlüsselt in der eigenen Datenbank. Das gilt auch für dieses Passwort — Joomla bietet für Plugin-Parameter nichts anderes an, und keine Erweiterung kann daran etwas ändern.
Daraus folgt die Empfehlung oben: ein eigener Benutzer, der ausschließlich lesen darf. Dann ist der Schaden begrenzt, falls jemand an die Joomla-Datenbank kommt.
Verbindung von außen
Liegen Shop und Website auf verschiedenen Servern, muss der MySQL-Server des Shops Verbindungen von außen annehmen. Grenzen Sie das so weit wie möglich ein:
@'203.0.113.10' oben.
Port 3306 in der Firewall nur für diese eine Adresse öffnen.
Wenn möglich, die Verbindung über ein VPN oder einen SSH-Tunnel führen statt über das
offene Netz.