Leitfaden Update der Wiki-Software
Leitfaden zur Aktualisierung der mediawiki-Software von SkipperGuide
1. Vorbereitung und Backup
1.1. Standard-Sicherung Datenbank und Webverzeichnis
SSH> ./dumpdb SSH> ./dumpwebsites
1.2. Sicherung des aktuellen Version als Referenz
SSH> cp -R www_skipperguide_de/* backup_skipperguide_de
1.3. Vorbereiten Testsystem
1.3.1. Kopieren der aktuellen Programmversion
Kopieren der Programmdateien
SSH> cp -R www_skipperguide_de/* test_skipperguide_de
1.3.2. Anpassen DB-Connection
Anpassen von - LocalSettings.php - LocalDBSettings.php - AdminSettings.php
DB-Präfix: "sg2_" --> "test_sg2_"
1.3.3. Anlegen Test-Datenbank
(Sofern die Testdatenbank nicht auf aktuellem Stand der mediawiki-Version ist)
Überblick Tabellen
sg2_archive sg2_categorylinks sg2_externallinks sg2_filearchive sg2_hitcounter sg2_image sg2_imagelinks sg2_interwiki sg2_ipblocks sg2_ipblocks_old sg2_job sg2_langlinks sg2_logging sg2_math sg2_objectcache sg2_oldimage sg2_page sg2_pagelinks sg2_page_restrictions sg2_querycache sg2_querycachetwo sg2_querycache_info sg2_recentchanges sg2_redirect sg2_revision sg2_searchindex sg2_site_stats sg2_templatelinks sg2_text sg2_trackbacks sg2_transcache sg2_user sg2_user_groups sg2_user_newtalk sg2_validate sg2_watchlist
1.3.3.1. Kopieren der Tabellen
für jede Tabelle
SQL> CREATE TABLE test_<TBL_NAME> AS SELECT * FROM <TBL_NAME>
1.3.3.2. Anlegen der Indizes
wichtig, weil das mediawiki-update-Skript sonst bei "DROP INDEX" Fehler meldet
Erzeugen des SQL-Statements zur Index-Erstellung auf Basis von "sg2_*":
SELECT CONCAT( ‘ALTER TABLE `’, TABLE_NAME, ‘` ‘, ‘ADD ‘, IF(NON_UNIQUE = 1, CASE UPPER(INDEX_TYPE) WHEN ‘FULLTEXT’ THEN ‘FULLTEXT INDEX’ WHEN ‘SPATIAL’ THEN ‘SPATIAL INDEX’ ELSE CONCAT(‘INDEX `’, INDEX_NAME, ‘` USING ‘, INDEX_TYPE ) END, IF(UPPER(INDEX_NAME) = ‘PRIMARY’, CONCAT(‘PRIMARY KEY USING ‘, INDEX_TYPE ), CONCAT(‘UNIQUE INDEX `’, INDEX_NAME, ‘` USING ‘, INDEX_TYPE ) ) ), ‘(’, GROUP_CONCAT( DISTINCT CONCAT(‘`’, COLUMN_NAME, ‘`’) ORDER BY SEQ_IN_INDEX ASC SEPARATOR ‘, ‘ ), ‘);’ ) AS ‘Show_Add_Indexes’ FROM information_schema.STATISTICS WHERE TABLE_SCHEMA like ’sg2_%’ GROUP BY TABLE_NAME, INDEX_NAME ORDER BY TABLE_NAME ASC, INDEX_NAME ASC
Generierte Liste SQL
(Auf Basis mediawiki-1.10.)
ALTER TABLE test_sg2_archive ADD INDEX name_title_timestamp USING BTREE(ar_namespace, ar_title, ar_timestamp); ALTER TABLE test_sg2_categorylinks ADD UNIQUE INDEX cl_from USING BTREE(cl_from, cl_to); ALTER TABLE test_sg2_categorylinks ADD INDEX cl_sortkey USING BTREE(cl_to, cl_sortkey); ALTER TABLE test_sg2_categorylinks ADD INDEX cl_timestamp USING BTREE(cl_to, cl_timestamp); ALTER TABLE test_sg2_externallinks ADD INDEX el_from USING BTREE(el_from, el_to); ALTER TABLE test_sg2_externallinks ADD INDEX el_index USING BTREE(el_index); ALTER TABLE test_sg2_externallinks ADD INDEX el_to USING BTREE(el_to, el_from); ALTER TABLE test_sg2_filearchive ADD INDEX fa_deleted_timestamp USING BTREE(fa_deleted_timestamp); ALTER TABLE test_sg2_filearchive ADD INDEX fa_deleted_user USING BTREE(fa_deleted_user); ALTER TABLE test_sg2_filearchive ADD INDEX fa_name USING BTREE(fa_name, fa_timestamp); ALTER TABLE test_sg2_filearchive ADD INDEX fa_storage_group USING BTREE(fa_storage_group, fa_storage_key); ALTER TABLE test_sg2_filearchive ADD PRIMARY KEY USING BTREE(fa_id); ALTER TABLE test_sg2_image ADD INDEX img_size USING BTREE(img_size); ALTER TABLE test_sg2_image ADD INDEX img_timestamp USING BTREE(img_timestamp); ALTER TABLE test_sg2_image ADD PRIMARY KEY USING BTREE(img_name); ALTER TABLE test_sg2_imagelinks ADD UNIQUE INDEX il_from USING BTREE(il_from, il_to); ALTER TABLE test_sg2_imagelinks ADD INDEX il_to USING BTREE(il_to, il_from); ALTER TABLE test_sg2_interwiki ADD UNIQUE INDEX iw_prefix USING BTREE(iw_prefix); ALTER TABLE test_sg2_ipblocks ADD UNIQUE INDEX ipb_address_unique USING BTREE(ipb_address, ipb_user, ipb_auto); ALTER TABLE test_sg2_ipblocks ADD INDEX ipb_expiry USING BTREE(ipb_expiry); ALTER TABLE test_sg2_ipblocks ADD INDEX ipb_range USING BTREE(ipb_range_start, ipb_range_end); ALTER TABLE test_sg2_ipblocks ADD INDEX ipb_timestamp USING BTREE(ipb_timestamp); ALTER TABLE test_sg2_ipblocks ADD INDEX ipb_user USING BTREE(ipb_user); ALTER TABLE test_sg2_ipblocks ADD PRIMARY KEY USING BTREE(ipb_id); ALTER TABLE test_sg2_ipblocks_old ADD INDEX ipb_address USING BTREE(ipb_address); ALTER TABLE test_sg2_ipblocks_old ADD INDEX ipb_range USING BTREE(ipb_range_start, ipb_range_end); ALTER TABLE test_sg2_ipblocks_old ADD INDEX ipb_user USING BTREE(ipb_user); ALTER TABLE test_sg2_ipblocks_old ADD PRIMARY KEY USING BTREE(ipb_id); ALTER TABLE test_sg2_job ADD INDEX job_cmd USING BTREE(job_cmd, job_namespace, job_title); ALTER TABLE test_sg2_job ADD PRIMARY KEY USING BTREE(job_id); ALTER TABLE test_sg2_langlinks ADD UNIQUE INDEX ll_from USING BTREE(ll_from, ll_lang); ALTER TABLE test_sg2_langlinks ADD INDEX ll_lang USING BTREE(ll_lang, ll_title); ALTER TABLE test_sg2_logging ADD INDEX page_time USING BTREE(log_namespace, log_title, log_timestamp); ALTER TABLE test_sg2_logging ADD PRIMARY KEY USING BTREE(log_id); ALTER TABLE test_sg2_logging ADD INDEX times USING BTREE(log_timestamp); ALTER TABLE test_sg2_logging ADD INDEX type_time USING BTREE(log_type, log_timestamp); ALTER TABLE test_sg2_logging ADD INDEX user_time USING BTREE(log_user, log_timestamp); ALTER TABLE test_sg2_math ADD UNIQUE INDEX math_inputhash USING BTREE(math_inputhash); ALTER TABLE test_sg2_objectcache ADD INDEX exptime USING BTREE(exptime); ALTER TABLE test_sg2_objectcache ADD UNIQUE INDEX keyname USING BTREE(keyname); ALTER TABLE test_sg2_oldimage ADD INDEX oi_name USING BTREE(oi_name); ALTER TABLE test_sg2_page ADD UNIQUE INDEX name_title USING BTREE(page_namespace, page_title); ALTER TABLE test_sg2_page ADD INDEX page_len USING BTREE(page_len); ALTER TABLE test_sg2_page ADD INDEX page_random USING BTREE(page_random); ALTER TABLE test_sg2_page ADD PRIMARY KEY USING BTREE(page_id); ALTER TABLE test_sg2_pagelinks ADD UNIQUE INDEX pl_from USING BTREE(pl_from, pl_namespace, pl_title); ALTER TABLE test_sg2_pagelinks ADD INDEX pl_namespace USING BTREE(pl_namespace, pl_title, pl_from); ALTER TABLE test_sg2_page_restrictions ADD PRIMARY KEY USING BTREE(pr_page, pr_type); ALTER TABLE test_sg2_page_restrictions ADD INDEX pr_cascade USING BTREE(pr_cascade); ALTER TABLE test_sg2_page_restrictions ADD UNIQUE INDEX pr_id USING BTREE(pr_id); ALTER TABLE test_sg2_page_restrictions ADD INDEX pr_level USING BTREE(pr_level); ALTER TABLE test_sg2_page_restrictions ADD INDEX pr_page USING BTREE(pr_page); ALTER TABLE test_sg2_page_restrictions ADD INDEX pr_typelevel USING BTREE(pr_type, pr_level); ALTER TABLE test_sg2_querycache ADD INDEX qc_type USING BTREE(qc_type, qc_value); ALTER TABLE test_sg2_querycachetwo ADD INDEX qcc_title USING BTREE(qcc_type, qcc_namespace, qcc_title); ALTER TABLE test_sg2_querycachetwo ADD INDEX qcc_titletwo USING BTREE(qcc_type, qcc_namespacetwo, qcc_titletwo); ALTER TABLE test_sg2_querycachetwo ADD INDEX qcc_type USING BTREE(qcc_type, qcc_value); ALTER TABLE test_sg2_querycache_info ADD UNIQUE INDEX qci_type USING BTREE(qci_type); ALTER TABLE test_sg2_recentchanges ADD INDEX new_name_timestamp USING BTREE(rc_new, rc_namespace, rc_timestamp); ALTER TABLE test_sg2_recentchanges ADD PRIMARY KEY USING BTREE(rc_id); ALTER TABLE test_sg2_recentchanges ADD INDEX rc_cur_id USING BTREE(rc_cur_id); ALTER TABLE test_sg2_recentchanges ADD INDEX rc_ip USING BTREE(rc_ip); ALTER TABLE test_sg2_recentchanges ADD INDEX rc_namespace_title USING BTREE(rc_namespace, rc_title); ALTER TABLE test_sg2_recentchanges ADD INDEX rc_ns_usertext USING BTREE(rc_namespace, rc_user_text); ALTER TABLE test_sg2_recentchanges ADD INDEX rc_timestamp USING BTREE(rc_timestamp); ALTER TABLE test_sg2_recentchanges ADD INDEX rc_user_text USING BTREE(rc_user_text, rc_timestamp); ALTER TABLE test_sg2_redirect ADD PRIMARY KEY USING BTREE(rd_from); ALTER TABLE test_sg2_redirect ADD INDEX rd_ns_title USING BTREE(rd_namespace, rd_title, rd_from); ALTER TABLE test_sg2_revision ADD INDEX page_timestamp USING BTREE(rev_page, rev_timestamp); ALTER TABLE test_sg2_revision ADD PRIMARY KEY USING BTREE(rev_page, rev_id); ALTER TABLE test_sg2_revision ADD UNIQUE INDEX rev_id USING BTREE(rev_id); ALTER TABLE test_sg2_revision ADD INDEX rev_timestamp USING BTREE(rev_timestamp); ALTER TABLE test_sg2_revision ADD INDEX usertext_timestamp USING BTREE(rev_user_text, rev_timestamp); ALTER TABLE test_sg2_revision ADD INDEX user_timestamp USING BTREE(rev_user, rev_timestamp); ALTER TABLE test_sg2_searchindex ADD UNIQUE INDEX si_page USING BTREE(si_page); ALTER TABLE test_sg2_searchindex ADD FULLTEXT INDEX(si_text); ALTER TABLE test_sg2_searchindex ADD FULLTEXT INDEX(si_title); ALTER TABLE test_sg2_site_stats ADD UNIQUE INDEX ss_row_id USING BTREE(ss_row_id); ALTER TABLE test_sg2_templatelinks ADD UNIQUE INDEX tl_from USING BTREE(tl_from, tl_namespace, tl_title); ALTER TABLE test_sg2_templatelinks ADD INDEX tl_namespace USING BTREE(tl_namespace, tl_title, tl_from); ALTER TABLE test_sg2_text ADD PRIMARY KEY USING BTREE(old_id); ALTER TABLE test_sg2_trackbacks ADD PRIMARY KEY USING BTREE(tb_id); ALTER TABLE test_sg2_trackbacks ADD INDEX tb_page USING BTREE(tb_page); ALTER TABLE test_sg2_transcache ADD UNIQUE INDEX tc_url_idx USING BTREE(tc_url); ALTER TABLE test_sg2_user ADD PRIMARY KEY USING BTREE(user_id); ALTER TABLE test_sg2_user ADD INDEX user_email_token USING BTREE(user_email_token); ALTER TABLE test_sg2_user ADD UNIQUE INDEX user_name USING BTREE(user_name); ALTER TABLE test_sg2_user_groups ADD PRIMARY KEY USING BTREE(ug_user, ug_group); ALTER TABLE test_sg2_user_groups ADD INDEX ug_group USING BTREE(ug_group); ALTER TABLE test_sg2_user_newtalk ADD INDEX user_id USING BTREE(user_id); ALTER TABLE test_sg2_user_newtalk ADD INDEX user_ip USING BTREE(user_ip); ALTER TABLE test_sg2_validate ADD INDEX val_user USING BTREE(val_user, val_revision); ALTER TABLE test_sg2_watchlist ADD INDEX namespace_title USING BTREE(wl_namespace, wl_title); ALTER TABLE test_sg2_watchlist ADD UNIQUE INDEX wl_user USING BTREE(wl_user, wl_namespace, wl_title); ALTER TABLE sgtmp_transcache ADD UNIQUE INDEX tc_url_idx USING BTREE(tc_url); ALTER TABLE test_test_sg2_archive ADD INDEX name_title_timestamp USING BTREE(ar_namespace, ar_title, ar_timestamp); ALTER TABLE test_test_sg2_categorylinks ADD UNIQUE INDEX cl_from USING BTREE(cl_from, cl_to); ALTER TABLE test_test_sg2_categorylinks ADD INDEX cl_sortkey USING BTREE(cl_to, cl_sortkey); ALTER TABLE test_test_sg2_categorylinks ADD INDEX cl_timestamp USING BTREE(cl_to, cl_timestamp); ALTER TABLE test_test_sg2_externallinks ADD INDEX el_from USING BTREE(el_from, el_to); ALTER TABLE test_test_sg2_externallinks ADD INDEX el_index USING BTREE(el_index); ALTER TABLE test_test_sg2_externallinks ADD INDEX el_to USING BTREE(el_to, el_from); ALTER TABLE test_test_sg2_image ADD UNIQUE INDEX img_name USING BTREE(img_name);
1.3.3.3. Anlegen Auto-Inkrements
Ohne das kommt es zu Fehlern beim Berarbeiten von Artikeln (z.B.: old_id cannot be NULL)
ALTER TABLE `test_sg2_categorylinks` CHANGE `cl_timestamp` `cl_timestamp` TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP; ALTER TABLE `test_sg2_ipblocks` CHANGE `ipb_id` `ipb_id` INT( 8 ) NOT NULL AUTO_INCREMENT; ALTER TABLE `test_sg2_job` CHANGE `job_id` `job_id` INT( 9 ) UNSIGNED NOT NULL AUTO_INCREMENT; ALTER TABLE `test_sg2_page` CHANGE `page_id` `page_id` INT( 8 ) UNSIGNED NOT NULL AUTO_INCREMENT; ALTER TABLE `test_sg2_recentchanges` CHANGE `rc_id` `rc_id` INT( 8 ) NOT NULL AUTO_INCREMENT; ALTER TABLE `test_sg2_revision` CHANGE `rev_id` `rev_id` INT( 8 ) UNSIGNED NOT NULL AUTO_INCREMENT; ALTER TABLE `test_sg2_text` CHANGE `old_id` `old_id` INT( 8 ) UNSIGNED 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_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
Testen der Anwendung über test.skipperguide.de. Folgende Schnelltests durchführen:
1. Anzeigen von Artikeln ohne Bilder 2. Anzeigen von Artikeln mit Bildern 3. Anzeigen der Änderungshistorie (entspricht sie der Standard-Installation?) 4. Bearbeiten eines Artikels 5. Anzeigen der Änderungdshistorie, prüfen, dass diese Änderung *nicht* in der Änderungshistorie der Standardinstallation auftaucht.
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"
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!