Ankündigung

Einklappen
Keine Ankündigung bisher.

Synchrone Installationen lokal und auf dem Server

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Synchrone Installationen lokal und auf dem Server

    Hallo alle,

    Nachdem ich mit meinem letzten Versuch einen Shop an den Start zu bringen leider ziemlich grandios gescheitert bin, habe ich mir für meinen neuen Zen Cart Webshop folgendes vorgenommen:

    • der Shop soll mit einer gescheiten IDE lokal gepflegt und soweit möglich auch getestet werden.
    • Diesmal fange ich gar nicht erst an ohne eine vernünftige Versionkontrolle, die auch beim Veröffentlichen aller Änderungen und Modifikationen auf dem Server gute Dienste leisten wird.
    • Als IDE habe ich Netbeans in der engeren Wahl, da das die Versionskontrolle mit GIT schon von Hause aus unterstützt.
    • Beide Installationen, Lokal und Server sollen soweit wie möglich identisch sein und bleiben, um die Pflege des Projekts nicht unnötig zu verkomplizieren.

    Frage: führt oder pflegt jemand einen Shop nach der oben umrissenen Methode? Bisher habe ich nur wenig zum Thema IDE und Versionskontrolle gefunden (jedenfalls in Bezug auf Zen Cart) Welche IDEs verwendet Ihr? Ist Unit Testing ein Thema für irgendjemanden?

    Hier ein paar Dinge, die mir bei der Umsetzung des Projekts bis jetzt aufgefallen sind:

    System:
    Die lokale Kopie läuft bei mir übrigens unter Windows/Xampp, die Server-Installation auf einem shared linux server. Die PHP-Versionen sind gleich (5.3), allerdings habe ich lokal mysql 5.5 und auf dem Server 5.1. Ist das unproblematisch oder sollte ich lokal ebenfalls mysql 5.1 installieren?

    configure.php:
    Um mir jeden Stress beim Synchronisieren zu ersparen, habe ich mir die beiden configure.php Dateien so angepasst, daß sie ohne Änderung auf beiden Installationen laufen. Im Grunde war das recht einfach nach dem Schema:
    PHP-Code:
    if (file_exists("C:/Windows")){
      
    // Definitionen für die lokale Installation
    }
    else{
      
    // Server-spezifische Definitionen
    }
    // und hier der ganze Rest 
    Das funktioniert prima und ich muß mich nie wieder über eine versehentlich überschriebene configure.php ärgern. Falls Interesse besteht, poste ich gerne eine komplettere configure.php nach dem skizzierten Muster.

    Datenbank-Backup:
    Das ganze Unterfangen steht und fällt natürlich mit der Möglichkeit eines gescheiten Datenbank-Backups. Leider musste ich feststellen, daß das Backup-Modul mit meiner Xampp-Installation erstmal gar nicht wollte. Der Fehler war recht schnell gefunden: die Pfade zu den Programmen mysql.exe und msqldump.exe mussten eingetragen werden.
    Was mir dabei auffiel:
    die Konstanten LOCAL_EXE_MYSQL und LOCAL_EXE_MYSQLDUMP sollen in den Sprachdateien definiert werden:
    /admin/includes/languages/english/backup.php UND /admin/includes/languages/german/backup.php Das halte ich ehrlich gesagt für wenig sinnvoll. Es handelt sich hier klar um eine System-spezifische Einstellung, die gar nichts mit der eingestellten Sprache zu tun hat.
    Die Auswirkung ist (a) daß ich die Konstanten bei einem mehrsprachigen Admin-Bereich auch gleich mehrfach definieren darf (nämlich einmal für jede unterstütze Sprache), und weiterhin (b) könnte es passieren, daß das Backup-Modul nach dem Upload des Shops auf den Server gleich gar nicht mehr funktioniert. Ich habe also die Definitionen in die admin configure.php verschoben, wo sie meiner Meinung nach hingehört.
    Frage: Könnte das evtl. Probleme bereiten? Mir ist klar, da ich beim anstehenden Update auf Zen Cart 1.5 patchen muß, aber das ist mir immer noch lieber als die Probleme die ich mir einhandele, wenn die Definitionen in den Sprachdateien verbleiben. Gibt es vielleicht sogar ein Override System für den Admin-Bereich?

    So, das war's erstmal.

    Schönen Gruß vom Dause!
    Zuletzt geändert von dause; 24.02.2012, 18:03.

    #2
    @ Datenbankbackup
    Statt das in Zen-Cart 1.3.9 enthaltene Tools > Datenbanksicherung zu verwenden, ist es immer besser, die Dstenbanksicherung direkt per phpMyAdmin zu machen. Das ist auch in Deinem Szenario die weit bessere Wahl.
    Was die Angabe der Pfade in den Sprachdateien betrifft, hast Du natürlich 100% Recht. Dieses Tool wird in 1.5 nicht mehr enthalten sein

    @ Versionskontrolle
    Für die lokale Entwicklung find ich Tortoise SVN gut geeignet

    @ Vergleich der lokalen Installation mit der Serverinstallation
    Ich empfehl es immer wieder gern: BeyondCompare

    @ Unterschiedleiche PHP und MySQL Versionen lokal und am Server
    Wenn Du wirklich synchron testen willst, dann verwende nicht XAMPP, sondern Wamp
    Mit Wamp hast Du die Möglichkeit zwischen verschiedenen PHP- und MySQL Versionen umzuschalten

    @ Override System für den Adminbereich
    gibt es nicht

    Kommentar


      #3
      Zitat von webchills Beitrag anzeigen
      @ Datenbankbackup
      Statt das in Zen-Cart 1.3.9 enthaltene Tools > Datenbanksicherung zu verwenden, ist es immer besser, die Dstenbanksicherung direkt per phpMyAdmin zu machen. Das ist auch in Deinem Szenario die weit bessere Wahl.
      Das sehe ich nicht so. Das DB-Backup sollte so mühelos wie nur irgend möglich zu bewerkstelligen sein, da es ansonsten zu selten gemacht wird. Also am besten vollautomatisiert. Ich finde auch, daß das vorhandene Tool nicht optimal ist. Um mein Ziel einer weitgehend automatisierten Synchronisation der ZenCart Installationen zu erreichen muß ich aber zuverlässig den DB-Inhalt unter die Versionskontrolle bekommen und das geht nur mit skriptgesteuertem Backup/Restore.
      Was die Angabe der Pfade in den Sprachdateien betrifft, hast Du natürlich 100% Recht. Dieses Tool wird in 1.5 nicht mehr enthalten sein
      Ich habe mir den Code der backup.php mal unter die Lupe genommen und kann verstehen, daß das so nicht mehr mitgeschleppt werden kann. Andererseits fände ich es ziemlich traurig, wieder zu einem handgemachten Backup/Restore über phpMyAdmin zurückzukehren.
      Ich habe mir mal die Mühe gemacht, und ein Tool geschrieben, das für DB Backup und Restore auf die Verwendung von shellexec verzichtet. Damit wird die ganze Angelegenheit schon erheblich kompatibler zu unterschiedlichen Systemkonfigurationen. (Pfade, Berechtigungen usw. müssen nicht konfiguriert/gefunden/geprüft werden). Inzwischen habe ich mir aber auch das vorhandene Tool so zurechtgebogen, daß ich erstmal damit leben kann.
      @ Versionskontrolle
      Für die lokale Entwicklung find ich Tortoise SVN gut geeignet
      Ich werde auf jeden Fall auf verteilte Versionskontrolle setzen, denn damit bekomme ich ohne Aufwand ein komplett gespiegeltes Repository Lokal und auf dem Server. Selbst wenn dann mein Entwicklungs PC oder der Online-Shop mal im Nirvana verschwinden sollten, habe ich damit noch die gesamte Revisionsgeschichte verfügbar und kann sofort und ohne Unterbrechung weiterarbeiten.

      @ Vergleich der lokalen Installation mit der Serverinstallation
      Ich empfehl es immer wieder gern: BeyondCompare
      Das ist ja genau, was ich nicht mehr machen will. Durch die Verwendung von Git ist stets gewährleistet, daß die Shops identisch sind. Ich muß da gar nichts mehr vergleichen, weil ich ja die 100-prozentige Kopie des Lokalen Shops auf den Server deploye. Mit irgendwelchen schwer bis überhaupt nicht auffindbaren Unterschieden zwischen lokaler und Serverkopie habe ich mich lange genug rumgeärgert.
      @ Unterschiedleiche PHP und MySQL Versionen lokal und am Server
      Wenn Du wirklich synchron testen willst, dann verwende nicht XAMPP, sondern Wamp
      Mit Wamp hast Du die Möglichkeit zwischen verschiedenen PHP- und MySQL Versionen umzuschalten
      Super, das ist genau was ich brauche. Danke!

      Dause

      Kommentar

      Info zu diesem Forenarchiv:
      Mit Release von 1.5.7 wurde die deutsche Zen Cart Version auf eine reine DIY-Lösung umgestellt.
      Für einen Support via Forum stehen keine personellen und zeitlichen Ressourcen mehr zur Verfügung.
      Dieses Supportforum bleibt im Nur-Lesen-Modus als Wissensarchiv noch online verfügbar.
      PM Funktionalität, Registrierung und Posten neuer Beiträge sind deaktiviert.
      Zugriff auf Anhänge in den Postings ist auch ohne Registrierung/Einloggen möglich.
      FAQ und Downloadbereich des Forums wurden in die neue umfangreiche Knowledgebase auf der zen-cart-pro.at Website übernommen.

      Das Development der deutschen Zen Cart Version geht wie bisher auf Github weiter.
      Wir werden auch weiterhin neue Versionen bereitstellen und die Onlinedokumentation/Knowledgebase aktualisieren.
      Fehler in der Software können auf Github als Issues gemeldet werden.
      Follow us
      aktuelle version
      Zen Cart 1.5.7 deutsch
      vom 20.05.2022
      [Download]
      Lädt...
      X