Update 2.8.1 auf 2.10 - usbserver - Stand Technologie WB 2.10 vs WBCE 1.3

DarkViper

Quote from: sagenhaft on December 28, 2017, 03:48:30 PM(damit ich dann lange nichts mehr machen muss :wink:. Ich habe auf der Site keine Eigen- und Fremdaten die "verwertbar" sind, niemanden der auf die Site zugreiffen muss und tägliches Backup)
Genau hier unterliegst Du einem gewaltigen Irrtum (wie die meisten Leute) ;)

Einen potentiellen Angreifer interessieren Deine Daten nicht im geringsten.
Über 90% der Server etc. werden nicht gehackt um Daten zu bekommen, sondern um Schadcode einzuschleussen. Dadurch können unbemerkt z.B. massenweise Spammmails versendet, die Server in Botnetzen zu Angriffen auf andere Systeme missbraucht und sonstige 'nette' Schweinereien angestellt werden.
Die Folgen für die Betreiber solchermaßen missbrauchter Server können sehr heftig sein: Im einfachsten Fall landen die IPs dieser Maschinen in den Blacklist von Spamhouse & co, so dass damit keine Mails mehr versendet werden können. Im schlimmsten Fall wird man im Rahmen der Strafverfolgung zur Verantwortung gezogen, speziell wenn die offizielle Software auf der Maschine nicht halbwegs up to date ist/war und bekannte Sicherheitslücken enthält.

Was schließen wir daraus?  Unsere Sicherheitswarnungen sollten nicht auf die leichte Schulter genommen und die Software möglichst aktuell gehalten werden.
Könnte sein, dass ich Dir jetzt ein paar Argumente gegen Deine Updateverweigerer geliefert habe. *gg*

guten Rutsch ins neue Jahr,
Manuela
[url=http://www.youtube.com/watch?v=tmzDAz6ZvFQ]Der blaue Planet[/url] - er ist nicht unser Eigentum - wir haben ihn nur von unseren Nachkommen geliehen[br]
[i]"You have to take the men as they are... but you can not leave them like that !" :-P [/i]
[i]Das tägliche Stoßgebet: [b]Oh Herr, wirf Hirn vom Himmel ![/b][/i]

Gast

es gibt auch YouTube ein Video mit Anleitung zum Umbau vom NewsModul auf ein richtiges Blogsystem inkl Submenü für Jaheszahl und Monate oder so, allerdings nun auch schon etwas älter.
Werd das mal raussuchen bei Gelegenheit

sagenhaft

Das ging ja ganz fix. Herzlichen Dank jacobi22.

Bei mir wirds wohl weniger fix gehen, d.h. es wird wohl 2018  :wink: bis ich brauchbare Resultate oder wieder Fragen habe. Was ich so oder so sicher machen werde, ist ein Feedback zu deinen Tips und eine kurze Beschreibung was meine Änderungen/Basteleien bezwecken. Aber eben es ist sieben Jahre her  :? (Grundsätzlich ist es nur ein Blog, dessen Themen (News-Gruppen) man mit einer Menustruktur filtern kann. Eine chronologische Filterung plante ich auch, hab es dann aber sein lassen. Wahrscheinlich weil ich an etwas grundsätzlichem gescheitert bin, dass nur mit Wissen und grossem Aufwand hätte geänderte werden können).

Ich wünsche mal schon frohe Restfesttage und einen guten Rutsch ins 2018. Roland

Gast

QuoteSoll/kann ich jetzt meinen alten Kram aus dem USBWebserver Verzeichnis "root" löschen (die DB bleibt natürlich wo und wie sie ist) und dort die neuste WB-Version gemäss Standardanleitung installieren "...und (ganz wichtig!) das Upgrade-Script starten"?

mußt nix löschen, lass den Ordner stehen und mach einen neuen rein
"root" ist das Zugriffsverzeichtnis, in das der User als oberstes rein kommen kann, entspricht dem htdocs-Verzeichnis auf dem Online-server
Im root-Ordner kann man dann unbegrenzt Ordner mit Installationen einfügen, z.b. auch eine Wordpress-Installation oder halt die verschiedensten WB-Projekte ( siehe auch hier -> https://forum.websitebaker.org/index.php/topic,28766.msg201457.html#msg201457 )
passt man sich die index.php im Verzeichnis root / docs an, kann man sich da eine schöne Linkseite zu jeder eingebundenen Installation anfertigen, die das Starten erleichtert

Ich würde in einem Ordner unter root/ordner1 dein Original WB 2.8.1 machen, in einem zweiten Ordner root/ordner2 dann eine die gleiche Installation noch einmal, idealerweise mit zwei separaten Datenbanken, damit das Original noch läuft
Problem ist wohl die fehlende mysql-Erweiterung ab PHP 5.5, ab da nur noch mit mysqli

den einen Ordner läßt du original, nix anfassen, nix ändern, bei anderen kommt das Update drüber

QuoteFalls nein, was meinst du mit "drüberziehen"?
meine Methode....
im Update-Ordner das WB 2.10-Paket drüber kopieren, dabei alles überschreiben und nicht etwa neuere Dateien behalten. Wichtig unter Windows: es gibt im WB-Paket mehrere Dateien, die sich durch Groß-/Kleinschreibung unterscheiden, z.b. Login.php oder CKeditor.php
dann in der Upgrade-Version im Backend einloggen, das Upgrade-Script sollte automatisch starten.
In aller Regel läuft die Seite nun in der neuen Version von WB.

(config.php...)
QuoteWenn ja, kann ich die aus der Demoversion "wbdemo" nehmen?

ja, kopieren, einfügen, anpassen, fertig
Wichtig ist die WB_URL und natürlich die Datenbankdaten
um die config mußt du dir keine großen Gedanken machen, sie wird mit starten des Upgrade-Script ausgelesen und im neuen Format geschrieben.

eine neue config.php würde so aussehen

Quote<?php
/*
*** auto generated config file for ? ??
*** WebsiteBaker upgrade from 2.10.0 to ? ? ?
*** created at 2017-11-03 11:43:45 UTC
*/
// define('DEBUG', false);
define('DB_TYPE',         'mysqli');
define('DB_HOST',         'localhost');
define('DB_PORT',         '3306');
define('DB_NAME',         'wb_1649');
define('DB_USERNAME',     'XXXXX');
define('DB_PASSWORD',     'XXXXX');
define('DB_CHARSET',      'utf8mb4_unicode_ci');
define('TABLE_PREFIX',    'wb_');

define('WB_URL',          'http://wb1649'); // no trailing slash or backslash!!
define('ADMIN_DIRECTORY', 'admin'); // no leading/trailing slash or backslash!! A simple directory name only!!

require_once __DIR__.'/framework/initialize.php';
// --- end of file ----------------------------------

aber wie gesagt, er liest die alte ein (dein Anhang) und schreibt sie neu

nun kannst du deine Anpassungen vergleichen und einbauen. Schaue dabei, das du code-technisch dicht am neuen Code dran bist. Alles wird sich da sicher nicht 1:1 umsetzen lassen

eine andere Sache, die dich vielleicht upgrade-sicherer machen würde (die nächste WB-Version steht ja schon in den Startlöchern und geht Anfang des neuen Jahres in die öffentlichen Test's)

kopiere den ordner modules/news und füge ihn an gleicher Stelle wieder ein. Benenne dann den Ordner um, z.b. modules/mynews oder modules/myblog

nun mußt du noch in die info.php dieses neuen Moduls und dort Ordner- und Modulname anpassen
Nun noch die Module  neu einlesen unter Erweiterungen -> Erweitert -> Haken bei Module und Klick auf Neu laden

dann sollte das Modul jetzt lauffähig sein, würde aber noch die Datenbanktabellen des News-Moduls benutzen.

Will man es richtig machen, sucht man in jeder php-Datei innerhalb des neuen Ordner nach den SQL-Statements, die alle diesen Part drin haben

Quote`'.TABLE_PREFIX.'mod_news

und ersetzt diesen mit dem neuen Modulnamen, z.b.

Quote`'.TABLE_PREFIX.'mod_myblog

damit hätte das Modul nun seine eigenen Tabellen  (Y)

Noch perfekter wird es, wenn du aus deinem Datenbank-Backup die vier news-Tabellen kopierst und in eine leere Datei einfügst. Hier wäre mit Search&Replace auch wieder der Modulname zu ersetzen, das wäre jeweils hier

QuoteCREATE TABLE `wb_mod_news

und hier

QuoteINSERT INTO `wb_mod_news

diese Datei als mysql.sql speichern und in PHPmyAdmin importieren

nun noch einmal die Seitenübersicht durchgehen und die Section-ID jeder Section raussuchen, die dein geändertes News-Modul benutzt
Mit dieser Section-ID geht in PHPmyAdmin dann in die Tabelle (Table-Prefix)"sections" und in die jeweilige Zeile mit der ID. Dort steht in der Spalte module wohl news drin, was geändert werdemn muß auf den neuen Modulenamen aus der info.php

Dauer des Vorganges: vielleicht 30 min für einen ungeübten, aber im Groben mit der Funktion von PHPmyAdmin vertrauten User plus die Zeit zum Einfügen der Anpassungen, die gemacht wurden.

der Interesse halber...
was wurde denn angepasst? Vielleicht Dinge, die der allgemeinen Userschaft auch nützlich sind?




sagenhaft

Besten Dank jacobbi22

Grundsätzlich habe ich es mir also in deinem Sinne vorgestellt, also neuste Version verwenden und dann Änderungen vornehmen. Nach Pröbeln an der config.php läuft jetzt meine aktuelle Site mit WB 2.8.1 Rev. 1287 und meinen Änderungen mit Ruckeln und Zuckeln +/- sauber auf dem USBWebserver 8.6. Aber was meinst du mit:
Quote...Also wenn, dann anders herum: das alte Kram zu erst, dann WB drüber ziehen...

  • Soll/kann ich jetzt meinen alten Kram aus dem USBWebserver Verzeichnis "root" löschen (die DB bleibt natürlich wo und wie sie ist) und dort die neuste WB-Version gemäss Standardanleitung installieren "...und (ganz wichtig!) das Upgrade-Script starten"?

    • Falls nein, was meinst du mit "drüberziehen"?
  • Wenn ich WB standardmässig installiere, aber eben lokal, muss ich die config.php anpassen?

    • Wenn ja, kann ich die aus der Demoversion "wbdemo" nehmen?
    • Wenn ich sie nicht so anpassen kann, kannst du mir bitte sagen was ich ändern muss?
  • Kannst du bitte noch die Daten der aktuellen config.php (für WB 2.8.1 lokal, angehängt) anschauen. Da gibts sicher Optimierungspontenzial  :wink:
Besten Dank für die Geduld. Roland

Gast

QuoteBeim Updaten werden m.E. schlussendlich nur die Daten der DB "mitgezogen", oder werden die Daten auch aktualisiert (z.B. die Links)?
Die Daten innerhalb der Datenbank werden beim Upgrade selbst nicht verändert. Wo erforderlich, betrifft es dann eher die Tabellenstruktur der einzelnen Tabellen und/oder deren Zeichensatz.
WB ist seit 2.8.3 SP6 dazu übergegangen, schrittweise Links in einer Section durch einen Platzhalter zu ersetzen, was dann eine spätere manuelle Korrektur innerhalb der Backup-Datei überflüssig macht {SYSVAR::MEDIAREL}

QuoteWas spricht dagegen, wenn ich die "Updateorgie" auslasse und WB 2.10.1 offline aufsetze und meine Anpassungen direkt in die neuesten Versionen der Module (und DB) etc. schreibe und die alten Daten "händisch" in die neue DB übernehmen?

in aller Regel spar ich mir diese Upgradeorgie und füge in ein leeres, neu installiertes WB 2.10.1 meine alten Seiten neu ein
oder ich upgrade direkt von der Alt-Version auf 2.11 mit dem möglichen Risiko, das ich dann in der Datenbank manuelle Korrekturen machen muß, z.b. in der settings-Tabelle
Was ich nicht machen würde, ist das spätere manuelle Einspielen alter Strukturen in die neue Datenbank. Es läßt sich nicht allgemein sagen, was sich über die Jahre da alles verändert hat. Also wenn, dann anders herum: das alte Kram zu erst, dann WB drüber ziehen und (ganz wichtig!) das Upgrade-Script starten. Im Normalfall erkennt WB ein Upgrade und startet das Script automatisch. Wenn aber nicht, dann über das Infofenster, etwas weiter unten ist der Link zum starten des Upgrades

sagenhaft

Besten Dank jacobbi22 für die schnelle, ausführliche und hilfreiche Antwort.

Hilfreich ist für mich, dass

  • WB und WBCE schon weit "auseinanderwickelt" sind
  • WB bei der Sicherheit up to date ist
    (damit ich dann lange nichts mehr machen muss :wink:. Ich habe auf der Site keine Eigen- und Fremdaten die "verwertbar" sind, niemanden der auf die Site zugreiffen muss und tägliches Backup)
  • sich mein Aufwand auf mindestens 3 Jahre bis 1.1.21 "abschreiben" lässt
  • drei Upgrades sinnvoll sind:  WB 2.8.1 -> WB 2.8.3 (Rev 1611) -> WB 2.8.3 (SP7) -> WB 2.10.1
Zwei grundsätzliche Fragen konnte ich für mich so beantwortet (weiterhin Website und auf WB 2.10.1*). Aber wie vermutet "Werdet sicher noch mehr von mir hören" habe ich noch Unsicherheiten:

  • Beim Updaten werden m.E. schlussendlich nur die Daten der DB "mitgezogen", oder werden die Daten auch aktualisiert (z.B. die Links)?
  • Gegenüber der Originalversion 2.8.1 kann ich gut nachvollziehen, was ich an Modulen und der Datenbank etc. geändert habe. Was spricht dagegen, wenn ich die "Updateorgie" auslasse und WB 2.10.1 offline aufsetze und meine Anpassungen direkt in die neuesten Versionen der Module (und DB) etc. schreibe und die alten Daten "händisch" in die neue DB übernehmen?
Danke schon jetzt für die Klärung. Roland

*WB ist immer noch sehr verbreitet und News-Modul ist Standard.

Gast

QuoteSind WB und WBCE sicherheitstechnisch und bezüglich technischer (!) Zukunftsfähigkeit vergleichbar?

einen "Vergleich" in dieser Form wirst du weder hier noch bei den Kollegen vom Fork bekommen und auch nicht im Vergleich mit anderen Systemen. Hier wie da konzentriert sich jeder auf sein System und hier wie da wird ständig daran gearbeitet, von daher ist es unmöglich zu beurteilen. Man müßte die zu vergleichenden Systeme schon bis ins Detail kennen und dann auch noch die Zeit finden.
Es gab mal eine gemeinsame Basis (WB 2.8.3 SP4), aber das ist auch schon wieder ein paar Jahre her und hier wie da hat sich eine ganze Menge geändert. Was uns noch vereint, ist das Bedienungskonzept.

Es wundert mich allerdings ein wenig, das du plötzlich auf Sicherheit bedacht bist, wo du selbst noch ein WB 2.8.1 benutzt. Die sämtlichen Sicherheitswarnung, die übrigens auch von den Kollegen ausgeben wurden, werden scheinbar gern überlesen.  :roll:

Zu deinen Fragen:
sicherheitstechnisch gibt es bei WB mehrere Partner, die jede Version und auch den kommenden  WB 2.11 RC1 auf Herz und Nieren testen. In der Vergangenheit wurden von ihnen einige Risikostellen gefunden, die Möglichkeiten zur Datenmanipulation hatten. Alle vakanten Stellen erforderten einen registrierten User mit Zugang zum Verwaltungsbereich sowie erweiterte Rechte im System auf bestimmte Funktionen.
Es gab ebenfalls eine Sicherheitslücke im 3th-Party-Produkt phpmailer, außerdem Warnungen für Produkte, die Flash benutzen (bei uns z.b. der Flash-Upload mit uploadify in den alten Foldergalerien der 1er-Reihe).
Alles, was bekannt war, wurde korrigiert, diverse Addons weiter abgesichert. Im Groben geht es dabei um die Datenverarbeitung auf dem Weg von und zur Datenbank.
Die aktuellen Download-Pakete mit WB 2.10.1  entsprechen dem derzeit bekannten Stand der Sicherheit und in der kommenden WB 2.11. wird das genauso sein.

funktions-technisch wird es, bedingt durch PHP 7.2.x in der Zukunft sicher bei allen CMS einiges an Reparaturbedarf geben. Jetzt muß korrigiert werden, was in der Vergangenheit zu lasch angegangen wurde. Das WB-eigene error-log-System hat bei der Beseitigung diverser Kleinigkeiten große Dienste erbracht, so das man sagen kann, das das WB-Paket der WB 2.11 inklusive der mitgelieferten Addons ohne jedwege Fehlermeldungen oder Notices auch unter PHP 7.x läuft. Nach Stand heute ist also die technische Sicherheit bis mindestens 1.Januar 2021 gesichert. Bis dahin läuft die PHP 7.2. (siehe -> http://php.net/supported-versions.php ).

QuoteIch möchte das update auf 2.8.3 (und dann auf 2.10.0) offline machen und dann per FTP auf den Server kopieren. Geht das?

Grundsätzlich geht das, allerding mußt du erst einmal von WB 2.8.1 auf WB 2.8.3 (Rev 1611), aus persönlicher Erfahrung und entgegen der unten verlinkten Anleitung empfehle ich von da (Rev 1611) auf eine höhere Version (SP6 oder SP7) und dann auf WB 2.10.1 (das aktuelle Paket). Du benötigst also einen Server, auf dem die WB 2.8.3 Rev 1611 noch läuft (ich glaube, PHP 5.3). Der komplette Vorgang ist hier zusammen gefaßt -> https://forum.websitebaker.org/index.php/topic,23658.msg160358.html#msg160358
Ab WB 2.11 ist dann wieder die jeweils unmittelbare Vorgängerversion (für WB 2.11 also WB 2.10.x) nötig. Solch komplexes Upgrade über 6 Versionen wie von WB 2.8.3 auf WB 2.10 wird es nicht mehr geben. Der Vorgang ist zu komplex, um es jederzeit fehlerfrei handhaben zu können.

QuoteHabe eine Kopie vom Server inkl. Datenbank auf dem Rechner. Wie kann ich WB offline (z.B. usbwebserver) zum laufen bringen?

für das alltägliche Probieren und Basteln empfehle ich für den allgemeinen User WB-Portable. Man kann diverse WB-Installationen einbinden und das Programm auch per USB-Stick von Rechner zu Rechner mitnehmen.
Für deine Zwecke empfehle ich aber den Uwamp-Server (https://www.uwamp.com/en/). Er bietet die Möglichkeit, verschiedene PHP-Versionen per Select auszuwählen und direkt und problemlos zu installieren. Man kann also ohne Aufwand per Mausklick hin und herschalten, was für dein Vorhaben bezüglich des Upgrades auf WB 2.8.3 Rev 1611 wohl besonders wichtig ist.
Vom Prinzip her muß man nur sein WB-Backup in einen neuen Ordner unter www einkopieren, die config.php anpassen und das Datenbank-Backup einspielen. Geht natürlich auch mit diversen WB-Installationen
Für deine Zwecke wären auch zwei getrennte Installationen angebracht (siehe Downloadseite).

Hast du erstmal WB 2.10.1 am laufen, würde ich dann nur noch das neueste an Software benutzen, also PHP 7.2 und MySQL 5.7.11 oder neuer, PHPmyAdmin 4.7.7 usw. Diese neuen Versionen werden immer strikter, man kann auch pingelich sagen. Aber je eher ich ein Problem erkenne, je früher kann ich es beheben. Online kann man ja (sofern die Auswahl da ist) eine Version kleiner fahren

Was deine Änderungen an den Modulen betrifft, mußt du da wohl oder übel in den sauren Apfel beißen und deine Anpassungen in die jeweils neueste Versionen einarbeiten. IDE's mit Vergleichsfunktionen wie Netbeans, Notepad++ oder Programme wie WinMerge sind da gute Helfer

sagenhaft

Hallo zusammen

Besten Dank für euer Engagement in den letzten Jahren für WB (Y) (Y) (Y).

Hab 2009 WB "missbraucht" um mich primär mit dem Web, Technologie etc. auseinander zusetzen und mir einen "Egoblog" zu basteln (www.bohren.net). Ziel war im 2010 erreicht. Seither pflege ich die Site +/- nur noch inhaltlich (Egoblog), denn die Funktionalitäten, Design etc. reichen mir mit WB 2.8.1 jetzt und in Zukunft (ich bin nicht so gut wie das Resultat vermuten lässt und habe eh alles vergessen  :x). Aber ein Update, oder einen Wechsel des CMS ist trotzdem angebracht.
Zur Zeit habe ich WB 2.8.1 (Linuxserver) mit weitergehenden Anpassungen am News-Modul (inkl. Datentabellen), show_menu2, eigene Templates installiert.
  • Sind WB und WBCE sicherheitstechnisch und bezüglich technischer (!) Zukunftsfähigkeit vergleichbar?
  • Ich möchte das update auf 2.8.3 (und dann auf 2.10.0) offline machen und dann per FTP auf den Server kopieren. Geht das?
  • Habe eine Kopie vom Server inkl. Datenbank auf dem Rechner. Wie kann ich WB offline (z.B. usbwebserver) zum laufen bringen?

Schon jetzt Danke für die Antworten. Werdet sicher noch mehr von mir hören :| Roland