Leitfaden Update der Wiki-Software: Unterschied zwischen den Versionen

Peter (Diskussion | Beiträge)
Leitfaden Update der Wiki-Software - Vorbereitung
 
Peter (Diskussion | Beiträge)
 
(6 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 237: Zeile 237:
   ALTER TABLE `test_sg2_trackbacks` CHANGE `tb_id` `tb_id` INT( 11 ) NOT NULL AUTO_INCREMENT;
   ALTER TABLE `test_sg2_trackbacks` CHANGE `tb_id` `tb_id` INT( 11 ) NOT NULL AUTO_INCREMENT;
   ALTER TABLE `test_sg2_user` CHANGE `user_id` `user_id` INT( 5 ) UNSIGNED NOT NULL AUTO_INCREMENT;
   ALTER TABLE `test_sg2_user` CHANGE `user_id` `user_id` INT( 5 ) UNSIGNED NOT NULL AUTO_INCREMENT;
  ALTER TABLE `test_sg2_logging` CHANGE `log_id` `log_id` INT( 10 ) UNSIGNED NOT NULL AUTO_INCREMENT;
==== ALTERNATIVE 1.3.3.X Aktualisieren der Test-Datenbank bei bestehendem Datenbank-Schema ====
Existiert bereits das Datenbank-Schema "test_sg2_*", kann mit folgendem Skript die Test-Datenbank aktualisiert und auf den aktuellen Stand der Produktivdatenbank gebracht werden:
  truncate table test_sg2_archive;
  truncate table test_sg2_categorylinks;
  truncate table test_sg2_externallinks;
  truncate table test_sg2_filearchive;
  truncate table test_sg2_hitcounter;
  truncate table test_sg2_image;
  truncate table test_sg2_imagelinks;
  truncate table test_sg2_interwiki;
  truncate table test_sg2_ipblocks;
  truncate table test_sg2_ipblocks_old;
  truncate table test_sg2_job;
  truncate table test_sg2_langlinks;
  truncate table test_sg2_logging;
  truncate table test_sg2_math;
  truncate table test_sg2_objectcache;
  truncate table test_sg2_oldimage;
  truncate table test_sg2_page;
  truncate table test_sg2_pagelinks;
  truncate table test_sg2_page_restrictions;
  truncate table test_sg2_querycache;
  truncate table test_sg2_querycachetwo;
  truncate table test_sg2_querycache_info;
  truncate table test_sg2_recentchanges;
  truncate table test_sg2_redirect;
  truncate table test_sg2_revision;
  truncate table test_sg2_searchindex;
  truncate table test_sg2_site_stats;
  truncate table test_sg2_templatelinks;
  truncate table test_sg2_text;
  truncate table test_sg2_trackbacks;
  truncate table test_sg2_transcache;
  truncate table test_sg2_user;
  truncate table test_sg2_user_groups;
  truncate table test_sg2_user_newtalk;
  truncate table test_sg2_validate;
  truncate table test_sg2_watchlist;
  insert into test_sg2_archive select * from sg2_archive;
  insert into test_sg2_categorylinks select * from sg2_categorylinks;
  insert into test_sg2_externallinks select * from sg2_externallinks;
  insert into test_sg2_filearchive select * from sg2_filearchive;
  insert into test_sg2_hitcounter select * from sg2_hitcounter;
  insert into test_sg2_image select * from sg2_image;
  insert into test_sg2_imagelinks select * from sg2_imagelinks;
  insert into test_sg2_interwiki select * from sg2_interwiki;
  insert into test_sg2_ipblocks select * from sg2_ipblocks;
  insert into test_sg2_ipblocks_old select * from sg2_ipblocks_old;
  insert into test_sg2_job select * from sg2_job;
  insert into test_sg2_langlinks select * from sg2_langlinks;
  insert into test_sg2_logging select * from sg2_logging;
  insert into test_sg2_math select * from sg2_math;
  insert into test_sg2_objectcache select * from sg2_objectcache;
  insert into test_sg2_oldimage select * from sg2_oldimage;
  insert into test_sg2_page select * from sg2_page;
  insert into test_sg2_pagelinks select * from sg2_pagelinks;
  insert into test_sg2_page_restrictions select * from sg2_page_restrictions;
  insert into test_sg2_querycache select * from sg2_querycache;
  insert into test_sg2_querycachetwo select * from sg2_querycachetwo;
  insert into test_sg2_querycache_info select * from sg2_querycache_info;
  insert into test_sg2_recentchanges select * from sg2_recentchanges;
  insert into test_sg2_redirect select * from sg2_redirect;
  insert into test_sg2_revision select * from sg2_revision;
  insert into test_sg2_searchindex select * from sg2_searchindex;
  insert into test_sg2_site_stats select * from sg2_site_stats;
  insert into test_sg2_templatelinks select * from sg2_templatelinks;
  insert into test_sg2_text select * from sg2_text;
  insert into test_sg2_trackbacks select * from sg2_trackbacks;
  insert into test_sg2_transcache select * from sg2_transcache;
  insert into test_sg2_user select * from sg2_user;
  insert into test_sg2_user_groups select * from sg2_user_groups;
  insert into test_sg2_user_newtalk select * from sg2_user_newtalk;
  insert into test_sg2_validate select * from sg2_validate;
  insert into test_sg2_watchlist select * from sg2_watchlist;


==== 1.3.3.4. Test der Testinstallation ====
==== 1.3.3.4. Test der Testinstallation ====
Zeile 248: Zeile 326:




=Update=
=2. Update=
==2.1. Download aktuelle mediawiki-Version==
 
  SSH> cd test_skipperguide_de/tmp
  SSH> lynx http://<mediawiki-website>, Download aktuelle mediawiki-Version
 
==2.2. Entpacken und installieren ==
Das tar kommt im Verzeichnis "mediawiki-<VERSION>". Der Server kennt -in Abweichung zur Installationsanleitung mediawiki- die Option "ignore-path=1" ''nicht''.
 
Daher das tar in ein Unterverzeichnis entpacken, ohne Hauptverzeichnis neu packen und dann in das mediawiki-Verzeichnis der Installation einspielen:
 
  SSH> cd test_skipperguide_de/tmp
 
Entpacken
  1. SSH> tar xvfz <mediawiki-XY.tar.gz>
 
Neu Packen:
  2. SSH> cd mediawiki-XY
  3. SSH> tar cvf tmp.tar *
 
Ins Installationsverzeichnis entpacken:
  4. SSH> mv tmp.tar ../../mediawiki
  5. SSH> cd ../../mediawiki
  6. SSH> tar xvf tmp.tar
 
==2.3. Updateskripte durchführen==
 
===2.3.1. AdminSettings.php kontrollieren ===
Kontrollieren, dass in der AdminSettings.php die korrekte Datenbankconnection und das '''korrekte DB-Präfix (''test_''sg2_)''' eingestellt ist!
 
===2.3.2. Ausführen der Updateskripte===
Anleitung der mediawiki-Updateanleitung folgen. Hinweis: Statt "php" muss in der Kommandozeile "php5" verwendet werden!!
 
''Bisher:''
  1. SSH> cd test_skipperguide_de/mediawiki/maintenance
  2. SSH> php5 update.php -akonf ../AdminSettings.php
 
===2.3.3. Kontrollieren Update===
Kontrolle des korrekten Updates der Programmversion
 
  1. Prüfen von http://test.skipperguide.de/wiki/Spezial:Version
  2. Anzeigen von Artikeln, Bearbeiten von Artikeln, Anlegen von Artikeln
 
===2.3.4. Kontrolle der korrekten Funktionsweise der Zusatzfeatures/Extensions===
Manuelle Prüfung, ob die Extensions wie GoogleMaps, CharInsert, etc funktionieren. Hierzu die Liste unter "Spezial:Version" vergleichen.
 
Bei Bedarf einzelne Extensions neu installieren (Vorher bitte Schritt 3 durchführen!).
 
Hinweis: es kann grundsätzlich nach dem Update zu CSS-Problemen kommen. Daher zuerst die SkipperGuide spezifischen Anpassungen durchführen, bevor die Funktionsweise der Extensions endgültig beurteilt werden kann.
 
=3. Anpassung der SkipperGuide-spezifischen Features=
Es gibt ein paar SkipperGuide-spezifische Anpassungen, die nach einem Update wahrscheinlich aktualisiert werden müssen, weil sie in den mediawiki-Sourcen eingebaut wurden.
 
Im einzelnen handelt es sich um
* Anzeige der Bearbeiter im Footer ([[SkipperGuide:Interne_Dokumentation/Seitenfooter]])
* ggf. Sonderzeichen-Editierhilfe ([[SkipperGuide:Interne_Dokumentation/Sonderzeichen_Editierhilfe]])
* Statistiken in index.php ([[SkipperGuide:Interne_Dokumentation]])
* öffnen von externen Links in neuem Fenster ([[SkipperGuide:Interne_Dokumentation/Externe_Links_im_neuen_Fenster]])
 
Es gab in der Vergangenheit Probleme mit dem Seitentemplate, dem CSS und JavaScript, wo einige Erweitungen nicht standardkonform eingebaut werden konnten (Siehe auch EMails mit Erik, Stichwort "wikibits.js"
 
==3.1. Anzeige Bearbeiter in Footer ==
Betroffene Dateien:
  includes/Article.php
  includes/Skin.php
 
Details siehe [[SkipperGuide:Interne_Dokumentation/Seitenfooter]]
 
==3.2. Stats==
Betroffene Dateien:
  index.php
 
Details siehe [[SkipperGuide:Interne_Dokumentation]]
 
==3.3. Externe Links in neuem Fenster==
Betroffene Dateien
  includes/Linker.php
 
Details siehe [[SkipperGuide:Interne_Dokumentation/Externe_Links_im_neuen_Fenster]]
 
=4. Übernahme aus dem Testsystem ins Produktivsystem=
Nach ausführlichen Tests muss die Installation auf dem Produktivsystem durchgeführt werden. Hierzu wird das tmp.tar ins Produktivverzeichnis übernommen, der normale Update-Vorgang gestartet und abschließend die Dateien aus dem Testsystem ins Produktivsystem kopiert
 
Vorbereitung: nochmal den Schritt [[#1.2. Sicherung des aktuellen Version als Referenz]] durchführen, um den aktuellsten Stand zu sichern! (z.B. wegen dem image-Verzeichnissen)
 
==4.1. Einspielen der aktualisierten Programmversion==
Übernehmen des tmp.tars ins Produktivsystem. Grund: die Update-Skripte für die Datenbank müssen auf dem Produktivsystem ausgeführt werden! Es kann nicht ausgeschlossen werden, dass die Update-Skripte auch Dateien verändern, so dass ein sauberer Pre-Update-Stand geschaffen werden muss.
 
  1. SSH> cd www_skipperguide_de/mediawiki
  2. SSH> cp ../../test_skipperguide_de/mediawiki/tmp.tar .
  3. SSH> tar xvf tmp.tar
 
==4.2. Update-Skripte==
Vorher: korrekte Config in '''AdminSettings.php''' prüfen (Datenbank-Präfix muss "sg2_" sein!
 
Weiteres Vorgehen: siehe [[#2.3. Updateskripte durchführen]]
 
==4.3. Update der Programmdateien ==
Kopieren des Dateisystems aus dem Testsystem ins Produktivverzeichnis:
 
  SSH> cp -R test_skipperguide_de/mediawiki/* www_skipperguide_de/mediawiki
 
Aktualisieren von
  AdminSettings.php
  LocalSettings.php
  LocalDBSettings.php
 
--> Datenbank-Präfix von "test_sg2_" nach "sg2_" ändern
 
==4.4. Kontrolle des Produktivsystems==
Ausführliche Kontrolle des Produktivsystems und aller Plugins!