Mediawiki Update Version 1.22.7 vers 1.23
L'installation initiale de MediaWiki a été faite à l'aide de la commande aptitude
. Depuis la version 1.18.1, les mises à jour sont réalisées manuellement et ce principe est repris pour la version 1.23. L'objectif est de mettre en place un lien /var/lib/mediawiki
pointant vers la version installée. De plus, les plugins et les contenus sont déportés dans un répertoire /var/datas/mediawiki
Sommaire
Votre avis
Nobody voted on this yet
|
|
Installation nouvelle version
L'objectif de cette installation est de maîtriser tous les fichiers et de faciliter les prochaines mises à jour. Les répertoires mis en place dans cet organisation sont:
-
/var/datas/mediawiki
: Contient les extensions installées et le répertoire de téléversement. -
/usr/share/mediawiki-1.23
: Installation de la version. -
/var/lib/mediawiki
: Lien vers la version à prendre en compte. -
/etc/mediawiki
: Contient les configurations.
Mise en place instance
Le fichier mediawiki-1.23.tar.gz
est téléchargé, depuis http://www.mediawiki.org/wiki/Download et installé:
#sudo wget -P /usr/share http://releases.wikimedia.org/mediawiki/1.23/mediawiki-1.23.0.tar.gz #sudo tar -C /usr/share -xzvf /usr/share/mediawiki-1.23.0.tar.gz #sudo rm /usr/share/mediawiki-1.23.0.tar.gz #sudo chown -R www-data:www-data /usr/share/mediawiki-1.23.0
Il référencer le fichier LocalSettings.php
depuis /etc/mediawiki
, dans la nouvelle instance.
#sudo ln -s /etc/mediawiki/LocalSettings.php /usr/share/mediawiki-1.23.0/LocalSettings.php #sudo chown -h www-data:www-data /usr/share/mediawiki-1.23.0/LocalSettings.php
La variable MW_INSTALL_PATH
avait été modifiée, lors de l'installation de 1.18.1, afin de pointer sur l'emplacement /var/lib/mediawiki
. L'utilisation du lien permet donc donc pas avoir à modifier cette variable.
Les extensions et les contenus uploadés ont été déplacés, et il est nécessaire de les référencer dans la nouvelle instance. Concernant les extensions, cela consiste en la création de lien dans le répertoire extensions
vers /var/datas/mediawiki/extensions
, l'exemple dépend des plugins installés.
#sudo ln -s /var/datas/mediawiki/extensions/Piwik /usr/share/mediawiki-1.23.0/extensions/Piwik #sudo ln -s /var/datas/mediawiki/extensions/skins /usr/share/mediawiki-1.23.0/extensions/skins #sudo ln -s /var/datas/mediawiki/extensions/TwitterFBLike /usr/share/mediawiki-1.23.0/extensions/TwitterFBLike #sudo ln -s /var/datas/mediawiki/extensions/W4G\ Rating\ Bar /usr/share/mediawiki-1.23.0/extensions/W4G\ Rating\ Bar #sudo chown -h www-data:www-data /usr/share/mediawiki-1.23.0/extensions/Piwik #sudo chown -h www-data:www-data /usr/share/mediawiki-1.23.0/extensions/skins #sudo chown -h www-data:www-data /usr/share/mediawiki-1.23.0/extensions/TwitterFBLike #sudo chown -h www-data:www-data /usr/share/mediawiki-1.23.0/extensions/W4G\ Rating\ Bar
Ce qui donne le contenu suivant dans /usr/share/mediawiki-1.23.0/extensions
total 76 drwxrwxr-x 18 www-data www-data 4096 juin 11 22:28 ./ drwxr-xr-x 13 www-data www-data 4096 juin 11 22:26 ../ drwxr-xr-x 4 www-data www-data 4096 juin 5 08:59 Cite/ drwxr-xr-x 5 www-data www-data 4096 juin 5 08:58 ConfirmEdit/ drwxr-xr-x 3 www-data www-data 4096 juin 5 08:58 Gadgets/ drwxr-xr-x 3 www-data www-data 4096 juin 5 08:59 ImageMap/ drwxr-xr-x 3 www-data www-data 4096 juin 5 08:59 InputBox/ drwxr-xr-x 3 www-data www-data 4096 juin 5 08:59 Interwiki/ drwxr-xr-x 6 www-data www-data 4096 juin 5 08:59 LocalisationUpdate/ drwxr-xr-x 3 www-data www-data 4096 juin 5 08:58 Nuke/ drwxr-xr-x 3 www-data www-data 4096 juin 5 08:58 ParserFunctions/ drwxr-xr-x 3 www-data www-data 4096 juin 5 08:58 PdfHandler/ lrwxrwxrwx 1 www-data www-data 37 juin 11 22:27 Piwik -> /var/datas/mediawiki/extensions/Piwik/ drwxr-xr-x 3 www-data www-data 4096 juin 5 08:58 Poem/ -rw-rw-r-- 1 www-data www-data 1178 juin 5 08:58 README drwxr-xr-x 4 www-data www-data 4096 juin 5 08:59 Renameuser/ lrwxrwxrwx 1 www-data www-data 37 juin 11 22:27 skins -> /var/datas/mediawiki/extensions/skins/ drwxr-xr-x 2 www-data www-data 4096 juin 5 08:58 SpamBlacklist/ drwxr-xr-x 3 www-data www-data 4096 juin 5 08:58 SyntaxHighlight_GeSHi/ drwxr-xr-x 5 www-data www-data 4096 juin 5 08:59 TitleBlacklist/ lrwxrwxrwx 1 www-data www-data 45 juin 11 22:28 TwitterFBLike -> /var/datas/mediawiki/extensions/TwitterFBLike/ lrwxrwxrwx 1 www-data www-data 46 juin 11 22:28 W4G Rating Bar -> /var/datas/mediawiki/extensions/W4G Rating Bar/ drwxr-xr-x 4 www-data www-data 4096 juin 5 08:58 WikiEditor/
Le dernier lien mis en place concerne le répertoire images
, l'original est supprimé car il ne sera pas utilisé. Attention il y a un fichier .htaccess
par défaut dans ce répertoire
#sudo rm -rf /usr/share/mediawiki-1.23.0/images #sudo ln -s /var/datas/mediawiki/images /usr/share/mediawiki-1.23.0/images #sudo chown -h www-data:www-data /usr/share/mediawiki-1.23.0/images
Dans le cadre de la mise en place du sitemap, un lien a été mis en place pour rendre accessible les fichiers. Il faut recréer ces liens.
#sudo ln -s /var/datas/mediawiki/sitemap /usr/share/mediawiki-1.23.0/sitemap #sudo chown -h www-data:www-data /usr/share/mediawiki-1.23.0/sitemap
Enfin, il faut changer le lien symbolique /var/lib/mediawiki
pour activer la nouvelle version.
#sudo rm /var/lib/mediawiki #sudo ln -s /usr/share/mediawiki-1.23.0 /var/lib/mediawiki #sudo chown -h www-data:www-data /var/lib/mediawiki
Mise à jour de la base de données
Suite à la précédente mise à jour, les droits d'accès sur le compte MySql sont mis à jour pour s'éviter toutes les tentatives.
mysql> GRANT CREATE ON wikidb.* TO 'wikiuser'@'localhost';
Query OK, 0 rows affected (0.01 sec)
mysql> GRANT ALTER ON wikidb.* TO 'wikiuser'@'localhost';
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT INDEX ON wikidb.* to 'wikiuser'@'localhost';
Query OK, 0 rows affected (0.01 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 ROWS affected (0.00 sec)
La mise à jour s'effectue par l'exécution du script update.php
, situé dans le répertoire maintenance
de l'installation:
#cd /var/lib/mediawiki/maintenance #sudo php update.php MediaWiki 1.23.0 Updater Going to run database updates for wikidb-ejnwiki_ Depending on the size of your database this may take a while! Abort with control-c in the next five seconds (skip this countdown with --quick) ... 0 Turning off Content Handler DB fields for this part of upgrade. ...have ipb_id field in ipblocks table. ...have ipb_expiry field in ipblocks table. ...already have interwiki table ...indexes seem up to 20031107 standards. ...hitcounter table already exists. ...have rc_type field in recentchanges table. ...index new_name_timestamp already set on recentchanges table. ...have user_real_name field in user table. ...querycache table already exists. ...objectcache table already exists. ...categorylinks table already exists. ...have pagelinks; skipping old links table updates ...il_from OK ...have rc_ip field in recentchanges table. ...index PRIMARY already set on image table. ...have rc_id field in recentchanges table. ...have rc_patrolled field in recentchanges table. ...logging table already exists. ...have user_token field in user table. ...have wl_notificationtimestamp field in watchlist table. ...watchlist talk page rows already present. ...user table does not contain user_emailauthenticationtimestamp field. ...page table already exists. ...have log_params field in logging table. ...logging table has correct log_title encoding. ...have ar_rev_id field in archive table. ...have page_len field in page table. ...revision table does not contain inverse_timestamp field. ...have rev_text_id field in revision table. ...have rev_deleted field in revision table. ...have img_width field in image table. ...have img_metadata field in image table. ...have user_email_token field in user table. ...have ar_text_id field in archive table. ...page_namespace is already a full int (int(11)). ...ar_namespace is already a full int (int(11)). ...rc_namespace is already a full int (int(11)). ...wl_namespace is already a full int (int(11)). ...qc_namespace is already a full int (int(11)). ...log_namespace is already a full int (int(11)). ...have img_media_type field in image table. ...already have pagelinks table. ...image table does not contain img_type field. ...already have unique user_name index. ...user_groups table exists and is in current format. ...have ss_total_pages field in site_stats table. ...user_newtalk table already exists. ...transcache table already exists. ...have iw_trans field in interwiki table. ...wl_notificationtimestamp is already nullable. ...index times already set on logging table. ...have ipb_range_start field in ipblocks table. ...no page_random rows needed to be set ...have user_registration field in user table. ...templatelinks table already exists ...externallinks table already exists. ...job table already exists. ...have ss_images field in site_stats table. ...langlinks table already exists. ...querycache_info table already exists. ...filearchive table already exists. ...have ipb_anon_only field in ipblocks table. ...index rc_ns_usertext already set on recentchanges table. ...index rc_user_text already set on recentchanges table. ...have user_newpass_time field in user table. ...redirect table already exists. ...querycachetwo table already exists. ...have ipb_enable_autoblock field in ipblocks table. ...index pl_namespace on table pagelinks includes field pl_from. ...index tl_namespace on table templatelinks includes field tl_from. ...index il_to on table imagelinks includes field il_from. ...have rc_old_len field in recentchanges table. ...have user_editcount field in user table. ...page_restrictions table already exists. ...have log_id field in logging table. ...have rev_parent_id field in revision table. ...have pr_id field in page_restrictions table. ...have rev_len field in revision table. ...have rc_deleted field in recentchanges table. ...have log_deleted field in logging table. ...have ar_deleted field in archive table. ...have ipb_deleted field in ipblocks table. ...have fa_deleted field in filearchive table. ...have ar_len field in archive table. ...have ipb_block_email field in ipblocks table. ...index cl_sortkey on table categorylinks includes field cl_from. ...have oi_metadata field in oldimage table. ...index usertext_timestamp already set on archive table. ...index img_usertext_timestamp already set on image table. ...index oi_usertext_timestamp already set on oldimage table. ...have ar_page_id field in archive table. ...have img_sha1 field in image table. ...protected_titles table already exists. ...have ipb_by_text field in ipblocks table. ...page_props table already exists. ...updatelog table already exists. ...category table already exists. ...category table already populated. ...have ar_parent_id field in archive table. ...have user_last_timestamp field in user_newtalk table. ...protected_titles table has correct pt_title encoding. ...have ss_active_users field in site_stats table. ...ss_active_users user count set... ...have ipb_allow_usertalk field in ipblocks table. ...pl_namespace, tl_namespace, il_to indices are already UNIQUE. ...change_tag table already exists. ...tag_summary table already exists. ...valid_tag table already exists. ...user_properties table already exists. ...log_search table already exists. ...have log_user_text field in logging table. ...l10n_cache table already exists. ...index ls_field_val already set on log_search table. ...index change_tag_rc_tag already set on change_tag table. ...have rd_interwiki field in redirect table. ...transcache tc_time already converted. ...*_mime_minor fields are already long enough. ...iwlinks table already exists. ...index iwl_prefix_title_from already set on iwlinks table. ...have ul_value field in updatelog table. ...have iw_api field in interwiki table. ...iwl_prefix key doesn't exist. ...have cl_collation field in categorylinks table. ...categorylinks up-to-date. ...collations up-to-date. ...msg_resource table already exists. ...module_deps table already exists. ...ar_page_revid key doesn't exist. ...index ar_revid already set on archive table. ...ll_lang is up-to-date. ...user_last_timestamp is already nullable. ...index user_email already set on user table. ...up_property in table user_properties already modified by patch patch-up_property.sql. ...uploadstash table already exists. ...user_former_groups table already exists. ...index type_action already set on logging table. ...have rev_sha1 field in revision table. ...batch conversion of user_options: nothing to migrate. done. ...user table does not contain user_options field. ...have ar_sha1 field in archive table. ...index page_redirect_namespace_len already set on page table. ...have us_chunk_inx field in uploadstash table. ...have job_timestamp field in job table. ...index page_user_timestamp already set on revision table. ...have ipb_parent_block_id field in ipblocks table. ...index ipb_parent_block_id already set on ipblocks table. ...category table does not contain cat_hidden field. ...have rev_content_format field in revision table. ...have rev_content_model field in revision table. ...have ar_content_format field in archive table. ...have ar_content_model field in archive table. ...have page_content_model field in page table. Content Handler DB fields should be usable now. ...site_stats table does not contain ss_admins field. ...recentchanges table does not contain rc_moved_to_title field. ...sites table already exists. ...have fa_sha1 field in filearchive table. ...have job_token field in job table. ...have job_attempts field in job table. ...have us_props field in uploadstash table. ...ug_group in table user_groups already modified by patch patch-ug_group-length-increase-255.sql. ...ufg_group in table user_former_groups already modified by patch patch-ufg_group-length-increase-255.sql. ...index pp_propname_page already set on page_props table. ...index img_media_mime already set on image table. ...iwl_prefix_title_from index is already non-UNIQUE. ...index iwl_prefix_from_title already set on iwlinks table. ...have ar_id field in archive table. ...have el_id field in externallinks table. Adding rc_source field to table recentchanges ...done. Adding index log_user_text_type_time to table logging ...done. Adding index log_user_text_time to table logging ...done. Adding page_links_updated field to table page ...done. Adding user_password_expires field to table user ...done. ...site_stats is populated...done. Populating rev_len column ...doing rev_id from 137 to 336 ...doing rev_id from 337 to 536 ...doing rev_id from 537 to 736 ...doing rev_id from 737 to 936 ...doing rev_id from 937 to 1136 ...doing rev_id from 1137 to 1336 ...doing rev_id from 1337 to 1536 ...doing rev_id from 1537 to 1736 ...doing rev_id from 1737 to 1936 ...doing rev_id from 1937 to 2136 ...doing rev_id from 2137 to 2336 ...doing rev_id from 2337 to 2536 ...doing rev_id from 2537 to 2736 ...doing rev_id from 2737 to 2936 ...doing rev_id from 2937 to 3136 ...doing rev_id from 3137 to 3336 ...doing rev_id from 3337 to 3536 ...doing rev_id from 3537 to 3736 ...doing rev_id from 3737 to 3936 ...doing rev_id from 3937 to 4136 ...doing rev_id from 4137 to 4336 ...doing rev_id from 4337 to 4536 ...doing rev_id from 4537 to 4736 ...doing rev_id from 4737 to 4936 ...doing rev_id from 4937 to 5136 ...doing rev_id from 5137 to 5336 ...doing rev_id from 5337 to 5536 ...doing rev_id from 5537 to 5736 ...doing rev_id from 5737 to 5936 ...doing rev_id from 5937 to 6136 ...doing rev_id from 6137 to 6336 ...doing rev_id from 6337 to 6536 Populating ar_len column ...doing ar_id from 1 to 200 rev_len and ar_len population complete [0 revision rows, 0 archive rows]. ...Update 'populate rev_sha1' already logged as completed. ...img_sha1 column of image table already populated. ...protocol-relative URLs in externallinks table already fixed. ...fa_sha1 column of filearchive table already populated. Purging caches...done.
Done in 0:02.
L'exécution a été réalisée à partir du lien /var/lib/mediawiki
, et non pas directement dans la version installée, validant ainsi la répartition des fichiers.
Les droits accordés, sur le compte d'accès à la base de données, ne sont pas nécessaires pour le bon fonctionnement du Wiki. Ils sont donc supprimés:
mysql> REVOKE CREATE ON wikidb.* FROM 'wikiuser'@'localhost';
Query OK, 0 rows affected (0.00 sec)
mysql> REVOKE ALTER ON wikidb.* FROM 'wikiuser'@'localhost';
Query OK, 0 rows affected (0.00 sec)
mysql> REVOKE INDEX ON wikidb.* FROM 'wikiuser'@'localhost';
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 ROWS affected (0.00 sec)
Mise à jour configuration Apache
Aucune mise à jour de Apache n'est nécessaire, puisque la configuration mise en place pointe à présent sur le lien /var/lib/mediawiki
Problèmes post installation
Le plugig W4G_Rating_Bar pose un problème lors de l'ouverture de la page Pages spéciales
. Le message d'erreur suivant est affiché dans les logs Apache :
PHP Fatal error: Call to undefined method W4GRB::includable() in /var/datas/mediawiki/extensions/W4G Rating Bar/SpecialW4GRB_body.php on line 31, referer: http://www.jouvinio.net/wiki/index.php/Accueil
Une modification dans le code de la classe SpecialPage
entraîne une erreur et nécessite une légère modification décrite ici.