[Tipp] Prestashop Testshop als Kopie des Liveshop anlegen

Begonnen von Luca, 13 Nov 2012, 18:50

« vorheriges - nächstes »
Nach unten

Luca

13 Nov 2012, 18:50 Last Edit: 29 Jun 2013, 20:48 by Luca
Hallo Foris,  :D
ein wichtiges Werkzeug, dass man meist sofort benötigt, wenn man mit Prestashop arbeitet ist ein Testshop. Die einfachste Möglichkeit ist, einen Prestashop direkt in die Testumgebung zu installieren. Doch was ist, wenn man bereits einen Live-Shop hat und an den Einstellungen diese Shops arbeiten möchte. Auch in diesem Fall ist es möglich einen Testshop mit den Daten und Konfigurationen des Liveshop aufzusetzen. Man kann auch einen Shop von einer Domain oder Arbeitsumgebung in eine andere Arbeitsumgebung kopieren. Folgende Schritte sind notwendig um einen Shop mit seinen Einstellungen in einen anderen Bereich zu kopieren.

1. Zunächst erstellt man eine Kopie des kompletten Shopverzeichnis.
2. Als nächstes exportiert man die Datenbank des Shop.
3. Die Kopie des Shopverzeichnis wird dort abgelegt, wo man sie haben möchte. Also z.B. im Verzeichnis der Testdomain oder bei xampp in einem Unterverzeichnis des Ordners htdocs. Legt man eine Kopie des Shops mit Hilfe eines ftp-Client in einem Verzeichnis, ab lohnt sich ein Blick auf die Zugriffsberechtigungen. Der FileZilla Client und im Programm BitKinex kann man diese Berechtigungen finden, wenn man mit der rechten Maustaste auf den Ordner klickt und den Menüpunkt "Dateiberechtigungen" bzw. "Properties" auswählt. Nähere Infos zu den Berechtigungen findet ihr hier in diesem Beitrag.  
4. Die Datenbank wird in eine neue sql Datenbank importiert. Eine neue Datenbank wird auf dem Server angelegt und die Daten importiert.

Alls nächstes passen wir jetzt die Datenbankeinstellungen an:
1. In der Tabelle PRÄFIX-configuration (PRÄFIX steht für den Anfang der Tabellen namen. Meistens ist das PS_)  der importierten Datenbank findet man unter dem Attribut "namen" den Eintrag -PS_SHOP_DOMAIN - und -PS_SHOP_DOMAIN_SSL- hier trägt man unter "value" die Domain oder Subdomain ein, in der der kopierte Shop laufen soll. Eine Orientierung ist, das dort die Domain des kopierten Shops steht. Man darf hier nur die Domain oder Subdomain eintragen und nicht etwa das Unterverzeichnis. Also beispielsweise test.meinedomain.de für einen Testshop auf einer Subdomain im Internet oder localhost für einen Shop der Lokal z.B. mit xampp laufen soll.
Zusatz Version 1.5: Die Version 1.5 ist für Multishopfunktionen ausgelegt. Das bedeutet hier, dass bei dieser Version in der Tabelle PRÄFIX-shop_url die Attribute "domain" und "domain_ssl" angepasst werden müssen. Hier trägt man z.B. auch localhost ein, wenn der Shop Lokal laufen soll. Im Unterschied zur 1.4.x Prestashop Version wird ein Unterverzeichnis, in dem der Shop laufen soll ebenfalls in diese Tabelle unter dem Attribut physical_uri eingetragen. Also wird dort z.B. /meinverzeichnis/ eingetragen wenn der Shop im  im Unterverzeichnis „meinverzeichnis" der Domain „localhost" oder irgeneiner anderen Domain laufen soll.

Als nächstes wird der Shop an seine neue Umgebung angepasst:
1. Wir öffnen die Datei settings.inc.php im Verzeichnis config der Shopkopie
2. (nur Prestashopversionen bis 1.4.x) In die Zeile define('__PS_BASE_URI__', tragen wir ein, wenn der Shop in einem Unterverzeichnis der Domain laufen soll, die wir in die Datenbank eingetragen haben. Also z.B.:
define('__PS_BASE_URI__', '/meinverzeichnis/');
wenn der Shop im Unterverzeichnis „meinverzeichnis" der Domain „localhost" oder irgeneiner anderen Domain laufen soll.
3. In die define('_DB_NAME_', schreiben wir den Namen der Datenbank in dem jetzt die Daten abgelegt sind. Also z.B.
define('_DB_NAME_', 'testprestashop');
wenn die neue Datenbank „ testprestashop" heißt.
4. In die Zeile define('_DB_USER_',  schreiben wir den Benutzernamen des Datenbankzuganges. Also z.B.
define('_DB_USER_', 'root');
wenn der Datenbankzugang den Benutzernamen „roots" hat.
5. In die Zeile define('_DB_PASSWD_', kommt schließlich das Passwort für den Datenbankzugang. Z.B.
define('_DB_PASSWD_', 'pass');
wenn der Datenbankzugang das Passwort „pass" hat.

Der nächste Schritt besteht darin die caches des Shop zu löschen da dort Reste der alten Arbeitsumgebung vorhanden sein können:
1. (nur Prestashopversionen bis 1.4.x) Das Verzeichnis cache im Rootverzeichnis des Shop wird geleert.
2. (nur Prestashopversionen bis 1.4.x) Die Verzeichnisse compile und cache im Unterverzeichnis tools/smarty werden geleert. Sollte der Shop noch unter Smarty 2 laufen muß man die Verzeichnisse compile und cache im Unterverzeichnis tools/smarty_v2 leeren. Auf jeden Fall lohnt sich ein Blick in diese Unterverzeichnisse.  ;)
3. Der Themencache im Verzeichnis themes/meintheme/cache muß ebenfalls geleert werden.
Zusatz Version 1.5: In dieser Version finden sich alle relevanten Caches außer dem Themencache in Unterverzeichnissen des Verzeichnis cache im Rootverzeichnis des Shop. Je nachdem welchen Cache man verwendet muß man also die Unterverzeichnisse durchgehen und entsprechend leeren. Hierbei reicht es wenn man z.B. für den Smarty-Cache im Verzeichnis cache/smarty/ die Verzeichnisse /compile und /cache löscht. prestashop legt beide Verzeichnisse automatisch neu an. Da der Cache im Verzeichnis /compile in der 1.5.x Version hirachisch in einem Verzeichnisbaum angelegt ist, ist das Löschen auch die schnellste Möglichkeit.

So, jetzt sind wir fast fertig.
Als letztes löschen wir noch die Datei htaccess.

Nun können wir uns in den Backoffice des Shops einloggen.
(nur Prestashopversionen 1.4.x) Damit der Shop auch in der Testumgebung mit einer htaccess Datei läuft können wir im BO unter tools -> Generatoren eine neue htaccess erstellen lassen.
Zusatz Version 1.5: Eine htaccess wird dann neu erstellt, wenn man "Benutzerfreundliche URL" im Bereich Voreinstellungen > SEO & URLs aktiviert.

Der umgesetzte Shop ist nun fertig zum Einsatz. Wir können jetzt auch das Frontoffice aufrufen.

Ich hoffe die Beschreibung ist soweit vollständig. Wenn es noch Anregungen oder Verbesserungsvorschläge gibt, schreibt diese bitte in die Thread.
Viele Grüße


Chris

Hallo Luca,

danke für deinen Beitrag, ich denke dieser wird einigen Foris weiterhelfen :)

3 kleinere Ergänzungsvorschläge hätte ich für dich:


  • Bei PS_SHOP_DOMAIN_SS fehlt glaube ich das L, also nur ein Tipper

  • Evtl. wäre es hilfreich wenn man die allgemeine Rechtevergabe noch einmal mit aufnimmt, wenn der Leser die Kopie via FTP erstellt gehen die Rechte in der Regel verloren

  • Evtl. macht es Sinn den Beitrag anzupinnen, dann bleibt er permanent oben im Forum und rutscht nicht nach hinten



Ich finde es super das du dir die Mühe gemacht hast und die Info mit den Lesern teilst :)

Viele Grüße
Chris

Shop Hosting von ESTUGO: Installation oder Shoptransfer inklusive!
PositiveSSL inklusive! 3 Monate Hosting inklusive! 1 Monat Laufzeit!
Exzellenter Kundenservice! 7 Tage Backup!
Jetzt wechseln & bis zu 100 Euro sparen! Gutscheincode: #AWHC100 Anzeige

Luca

Hallo Chris,  :)
Zitat
Evtl. wäre es hilfreich wenn man die allgemeine Rechtevergabe noch einmal mit aufnimmt, wenn der Leser die Kopie via FTP erstellt gehen die Rechte in der Regel verloren

Da weiß ich nicht was Du meinst. Wenn es um Serverrechte geht, da bin ich nicht so firm drin.  :-\
Zitat
Evtl. macht es Sinn den Beitrag anzupinnen, dann bleibt er permanent oben im Forum und rutscht nicht nach hinten

Ja, das wäre schön. Mir fehlt das Recht zum anpinnen. kann das jemand für mich tun?

Viele Grüße

Chris

Hallo Luca,

anbei die Ordner die beschreibbar sein sollten, dabei kann man sich im wesentlichen an die normale Installation halten:

~/config/
~/cache/
~/log/
~/img/
~/mails/
~/modules/
~/themes/default/lang/
~/themes/default/pdf/lang/
~/themes/default/cache/
~/translations/
~/upload/
~/download/
~/sitemap.xml


Wie weit die Rechte vergeben werden müssen ist von der Serverkonfiguration abhängig, dass Ziel ist es Schreiberechtigung für die Ordner zu erzielen.
In eingen wenigen fällen ist CHMOD 777 notwendig, bei anderen Servern reichen 775 oder 755 Berechtigungen.

Den Beitrag habe ich dir angepinnt.

Viele Grüße
Chris

sey

Hallo Luca,

ich habe versucht nach der Anleitung mir einen Testshop (Copy vom Liveshop) zu erstellen. Leider kann ich den letzten Punkt nicht ausführen. Ich kann mich nicht im Backend anmelden. Im Backend des Liveshops funktioniert alles nur nicht im Test-Shop. Ich habe die Prestashop Version 1.4.6. Ich bitte um dringende Hilfe, da ich für ein Update ein Testshop benötige. Ich bedanke mich schon mal für alle Tipps die ich erhalten kann.


MfG
Sey

sey

Noch eine Info: Ich erhalte, wenn ich das Passwort richtig eingebe keine Fehlermeldung und die gleiche Backend Seite.
Bei falschem Passwort erhalte ich eine Fehlermeldung.

Luca

Hallo sey,
leere vielleicht einmal den Browser-Cache und lösche die Cookies. Dann müßte es gehen.
Viele Grüße

sey

Hallo Luca,

vielen Dank für deine schnelle Antwort.
Leider funktioniert es wieder nicht. Meine Seite ist bei 1und1 gehostet, könnte dies der Grund sein?
Ich bin kein Informatiker und bin auch für jede Hilfe dankbar.


MfG
Sey

Luca

Hallo sey,
schick mir vielleicht mal den admin-Zugang und den myphpadmin-login per pm. Dann schaue ich mir das mal an. :)
Viele Grüße

Nach oben