Author Topic: Einfachere Installation oder Update  (Read 939 times)

Offline masju

  • Posts: 123
  • Gender: Male
Einfachere Installation oder Update
« on: October 20, 2016, 12:36:28 PM »
Liebe Communitiy,

könnte sich einer der fähigen hier aktiven Entwickler vorstellen, mal einen WB-Installer zu schreiben, mit dem man Grundinstallationen und Updates einfacher und schneller installieren kann (Ich bin leider zu dämlich dafür  :-o :wink:)?

Funktionalität:
- Hochladen der kompletten ZIP-Datei mit der neusten Vollversion von lokal oder Download aus einer offiziellen WB-Internetquelle
- Entpacken und ggf. überschreiben der alten System-Dateien
- Setzen der notwendigen Rechte von Dateien und Ordnern
- Aufruf von update_script.php oder der Grundeinrichtung

-> glückliche User  :-).

Hintergrund: Die Übertragung der einzelnen Dateien aus dem Gesamtpakt per FTP dauert auch mit einer dicken Leitung jedes Mal ziemlich lange (> 20 Minuten), manchmal bricht auch die Verbindung ab und man weiß nicht, was schon alles oben ist oder nur halb. Wenn alles in einer Datei wäre, die dann auf dem Server entpackt wird wäre 1. alles komplett und 2. alles sehr viel schneller erledigt.

Auch ein Downgrade wäre dann eventuell schneller möglich (lassen wir mal die geänderte DB-Struktur nach einem Update außer acht), wenn die Seite nach einem Update eventuell nicht mehr läuft.

Viele Grüße,
masju

Offline Hollol

  • Posts: 204
Re: Einfachere Installation oder Update
« Reply #1 on: October 20, 2016, 03:53:19 PM »
Hallo masju,

ich bin zwar kein Entwickler, arbeite aber recht häufig mit WB und habe auch schon einige Seiten damit aufgesetzt.
Deine Idee klingt zwar gut, wird aber so nicht umsetzbar sein, wenn ich von meiner laienhaften Kenntnis ausgehe.
Ich finde es im Prinzip schon so einfach wie möglich, da die upgrade-script.php von sich aus schon viele Aufgaben erledigt, die seither von Hand manuell angepasst werden mussten.

Zu Deinen Punkten:

  • Dürfte nicht jeder Webspace eine ZIP-Funktion haben, um eine einzelne Datei zu entpacken
  • siehe 1
  • Rechte setzen kommt auch auf den Webspace drauf an. Läuft der z.B. unter Fast-CGI, braucht man "keine" Rechte setzen. Läuft er ohne, gibt es die Möglichkeit zwischen www-data und FTP-User ODER 666 und 777. Wie soll ein Script das unterscheiden können?
  • verstehe ich nicht. Das Upgrade-Script wird doch schon aufgerufen oder kann nach dem Einloggen des Superusers ganz einfach angeklickt werden.

Zur Übertragung:
Mein Webspace-Anbieter bietet z.B. Web-FTP an, womit ich auch ZIP-Dateien hochladen und entpacken kann. Andere Anbieter haben das nicht.
Für Übertragungen nutze ich FileZilla FTP, das mir genau anzeigt welche Daten übertragen wurden und welche nicht.
Falls Dateien aus irgendeinem Grund nicht übertragen wurden, schubbse ich das mit 2 Mausklicks wieder an. Und zwar "nur" die Dateien, die nicht übertragen wurden.

Für das Downgrade ist es am einfachsten, vorher ein Backup der kompletten Seite und der MySQL-Datenbank anzulegen. Das kann dann u.U. schneller wieder installiert werden, als mit einem Downgrade-Script.

Nur meine 5Cent...

Auch Grüße
Hollol

Offline jacobi22

  • Posts: 5891
  • Gender: Male
  • Support also via PM or EMail
    • Jacobi22
Re: Einfachere Installation oder Update
« Reply #2 on: October 21, 2016, 01:26:24 PM »
Eigentlich alles gesagt  (Y)

Meine übliche Vorgehensweise: ein WB-Projekt lokal  vorbereiten mit allen Inhalten, allen Bildern und Dateien. Ist das Projekt fertig, erstelle ich davon ein ZIP, das alle Dateien außer der config.php enthält. Mach ich nur ein Upgrade und hab alle media-Dateien schon auf dem Server, dann benutze ich sie lokal auch von online und lasse auch den media-Ordner aus dem ZIP raus. Das fertige ZIP lade ich auf den Server.
Im Normalfall habe ich für jede Installation eine Datei index_wartung.html, die ist entsprechend der Webseite gestylt und diese enthält einen Wartungshinweis, je nach Seite gehört auch eine CSS-Datei und ein Bilderordner dazu, halt so, das es vernünftig und professionell ausschaut, aber auch nicht mit der bestehenden WB-Installation kollidiert. Die datei index_wartung.html wird dann auf index.html umbenannt und auf den meisten Servern vor einer index.php geladen und so zuerst angezeigt. Damit hätte ich dann meine WB-Installation ausgeschalten und kann in Ruhe das Datanbank-Backup einspielen, das ich von meiner lokalen Installation gezogen habe.


Bei einem Upgrade entferne ich dann noch alle nicht benötigten Ordner manuell per FTP

Dann nutze ich ein Standard-Unzipper aus dem Web, der liegt im gleichen Verzeichnis wie meine ZIP-Datei, liest die ZIP's in diesem Verzeichnis und erstellt ein Auswahlfeld (falls da mehr ZIP's vorhanden sind) . Im Anschluß wird das ZIP entpackt, die config.php angepasst und innerhalb von max 5 min läuft die Seite.
Berechtigungsproble me hatte ich noch nie, bin aber auch nicht bei Anbietern, die dafür bekannt sind oder waren.

zu 1 nochmal
sollte verständlich sein, das ein Download von der offiziellen Quelle auch erfordert, das die WB-Software damit auch etwas anfangen kann, z.b. eben selbständig upgraden. Diese Voraussetzungen sind derzeit nicht gegeben und wäre auch nicht in zwei Tagen oder Wochen erstellt. Ich persönlich hab da auch eher Zweifel, weil es unmöglich ist, sämtliche Addons im gleichen Schritt zu aktualisieren und was nützt mir der moderste, schönste Core, wenn nachher ein kleines Modul von Anno 1800 die Darstellung meiner Seite verhindert.
Es heißt wohl immer: vergleiche es mit Microsoft oder Apple, aber da habe ich eine Basis, die erstmal läuft und wenn Schreibprogramm XY nicht läuft, nehm ich etwas anderes. Hier hab ich aber nix anderes. Wenn der Kalender nicht geht, muß ich drauf verzichten.
Darum würde ich die Reihenfolge umdrehen: erst die Addons, dann das Hauptprogramm. Natürlich sind beide voneinander abhängig und man muß auch wissen, was im Core später drin steht, aber für mich hat es wenig Wert, wenn am Ende garnix läuft, wenn die addons nicht den gleichen Stand haben.

Downgrade bzw mißglückte Installationsversuc he rückgängig machen:
die Gründe, warum jemand diesen Schritt geht (bzw gehen muß) können sehr vielfältig sein und genauso vielfältig wären dann auch die Lösungen. Ohne wem nahe treten zu wollen, in den allermeisten Fällen sitzt das Problem immer vor dem Rechner und auch ein DEV oder Tester sollte mal Fehler machen dürfen. Ist ärgerlich, aber nun mal menschlich.
Ein Downgrade ist i.d.R. die schnellste Lösung, wieder eine lauffähige Webseite zu bekommen, beseitigt aber nicht das Problem. Beispiel: die neuen WB-Filter. Es gibt sicher 100  Beiträge mit Erklärungen, Problemschilderunge n und auch -lösungen dazu, aber nur die wenigsten haben gelesen, das die Standardeinstellung en des neuen Output-Filters nur eine Empfehlung sind, kein Muß, kein Zwang. Diese Standardeinstellung en (alle Filter aktiviert) funktionieren in den allermeisten Neuinstallationen, aber nicht unbedingt in einer WB-Version mit Uralt-Modulen, die weit weg vom Coding-Standard der letzten 6 Jahre sind. Beim Filter-Modul kann man keine alten Einstellungen einlesen und übernehmen, weil sie in WB 2.8.1 oder 2.8.2 noch nicht existierten, man muß aber irgendetwas setzen bei der Neuinstallation. Und weil die Empfehlung ganz klar zur Filternutzung geht, sind sie eben alle aktiviert. Aus meiner Sicht sollte es auch nicht schwer sein, mal etwas nachzulesen und bei Problemen diese Filter schrittweise deaktivieren. Die meisten Probleme wären so erstmal beseitigt, ein Downgrade garnicht nötig. Außerdem lassen sich aus den dann funktionierenden Einstellungen wieder Schlüsse darauf ziehen, wo das Problem beim Upgrade lag.
Es gibt dann auch User, die erwarten, das ein 2008 erstelltes Modul nach 8 Jahren immernoch fehlerfrei läuft und wenn nicht, dafür dann der WB-Core wieder zurück gebaut werden sollte, schließlich lief es ja mit der alten Version noch  :roll:
Natürlich haben wir bei WB auch Fehler gemacht, ich nehm mal nur die "falsche" Upgradeanleitung im SP7. Um allein diese simple Textdatei auszutauschen, müßte man eine neue Version erstellen oder einen Patch herausbringen, hilft aber den Leuten nicht mehr, die schon Probleme damit hatten. Ich persönlich bin eher ein Freund von kleinen Patches, nicht lang sammeln, gleich fixen, wenn ein Problem erkannt wurde. Dann muß ich aber die User "zwingen" ständig alles Patches zu laden oder ich muß im letzten immer auf den vorletzten aufbauen, so das er immer alles enthält, was bereits erschienen ist und nur ein Download fällig ist. Ist also nicht ganz so einfach, wie man sich das manchmal denkt.

Im Anhang mal die Datei unzip.zip, die Ich benutze. Quelle war Vincent Blavet - http://www.phpconcept.net
Das ZIP entpacken und die Datei unzip.php mit dem Backup der gesamten Dateien auf den Server in das geplante WB-Startverzeichnis packen und diese Datei dann im Browser aufrufen.
Hinweis: es gibt da keine extra Sicherheiten, alles, was im Backup-Zip vorhanden ist, wird auf den Server geschrieben, ohne "Rücksicht auf Verluste" ;-)

Es hat kein Styling, funktionierte bisher aber in allen Fällen (und ich nutze es sehr viel). Bis vor kurzem hatte ich kein DSL, jetzt auch nur ein langsames LTE, ein ZIP mit 100 oder auch 200 mb kann ich aber ganz in Ruhe per FTP hochladen und benötige dann für das eigentliche Upgrade, also die Zeit, in der meine Webseite nicht erreichbar ist, max 10 Minuten.
Vorteil der ganzen Geschichte ist, das ich nur zwei einzelne Dateien zum Hochladen habe. Gibt es da ein Connection-Problem, dann kann es eben nur in einer dieser zwei Dateien ein Problem geben und die Zeiten, wo ich dann Ordner für Ordner abgeglichen habe, sind damit vorbei.
Wer nicht will, findet Gründe, wer will, findet Wege.

Offline masju

  • Posts: 123
  • Gender: Male
Re: Einfachere Installation oder Update
« Reply #3 on: October 25, 2016, 02:34:11 PM »
Hallo Jacobi,

danke für die wie immer super ausführliche und fundierte Antwort  :-).

Zu den Rechten: Ich habe mal Schiffbruch erlitten, als ich das komplette ZIP-File in einem Stück hochgeladen habe und dann mit unzip entpackt. Ich hatte anschließend auf sämtliche Dateien und Verzeichnisse keinen Zugriff via ftp, da diese mit einem anderen User (www..., ftp... keine Ahnung) verknüpft waren und ich alle wieder mit einer extra installierten PHP-Shell löschen musste. Daher bin ich wieder zu Einzeluploads via Total-Commander übergegangen.

Das Uploaden dauert als Einzeldateien so lange, weil es eben sehr sehr viele sind (z. B. Flaggen-Grafiken, und die auch noch doppelt ein dreifach), es ist nicht die Datenmenge ausschlaggebend.

Ich vergleiche das WB-Update mit dem von Wordpr**s  :wink:, und das ist die große Stärke dieses CMS, da geht das einfach mit einem Klick, inklusive Module und ggf. Standard-Templates.
Ich kann Deinen Einwand verstehen, dass es beim automatischen Update Probleme geben kann mit Uralt-Modulen. Aber das ist ja vielleicht ein Wunschtraum für die zukünftige Version 3, dass nur noch Module laufen, die entsprechend zertifiziert sind und die beim Update automatisch mit aktualisiert werden. Oder es gibt ein Modul-Repository, mit dem man Module einfach updaten kann.

Viele Grüße,
masju
PS: Dein unzip.php probiere ich mal aus...

 

postern-length