Manual:Memuktahirkan

This page is a translated version of the page Manual:Upgrading and the translation is 81% complete.
Outdated translations are marked like this.

Ikhtisar dasar

Transfer berkas

Pilih metode untuk mentransfer berkas:

Persiapan

Bacalah berkas teks UPGRADE yang termasuk dalam MediaWiki.

  1. Periksa persyaratannya
  2. Baca berkas RELEASE-NOTES
  3. Baca berkas UPGRADE
  4. Cadangkan berkas dan basis data yang sudah ada
  5. Ekstrak berkas-berkas baru
  6. Mutakhirkan ekstensi-ekstensinya
  7. Jalankan skrip pembaruan untuk memeriksa basis data
  8. Uji coba hasil pemutakhirannya
  9. Hapus sisa-sisa dari instalasi yang lama

Cek persyaratan

  Peringatan MediaWiki versions 1.32 through 1.35.4, 1.36.2, and 1.37.0 contain a security issue that allow unprivileged editing of arbitrary pages and arbitrary JavaScript execution. If you are using one of these versions and can not upgrade to a newer version, please see Rilis keamanan Desember 2021/Pertanyaan umum for a workaround.

MediaWiki 1.43 memerlukan:

  • PHP 8.1.0+
  • Salah satu di antara yang berikut:
    • MariaDB 10.3.0+
    • MySQL 5.7.0+
    • PostgreSQL 10.0+
    • SQLite 3.8.0+
Sejak Versi 1.36, MediaWiki hanya melakukan commit untuk mendukung pemutakhiran dari dua rilis LTS (lihat phab:T259771). Pemutakhiran dari versi MediaWiki yang lebih lama harus dilakukan dengan beberapa tahap. Jadi jika Anda ingin memutakhirkan ke 1.43 dari 1.34 atau sebelumnya, Anda harus memutakhirkan wiki 1.34 Anda ke 1.35 (atau 1.43) terlebih dahulu, kemudian dari 1.35 (atau 1.43) Anda bisa memutakhirkan ke 1.43.

Jika Anda menggunakan PostgreSQL, tolong baca juga Manual:Upgrading Postgres .

Untuk informasi lebih lanjut, tolong baca Manual:Persyaratan instalasi dan Kompatibilitas .

Baca catatan rilis

Di dalam tarball distribusi, atau di dalam berkas-berkas yang diperiksa/diekspor dari Git, terdapat beberapa berkas dengan nama berkas yang dikapitalkan, salah satunya berisi RELEASE-NOTES (wiki). Sekarang waktunya membukanya dan mengetahui apa yang telah diubah dalam rilis ini. Anda sebaiknya juga membaca instruksi di berkas UPGRADE.

Tuntaskan pekerjaan tertunda

Untuk alasan performa, beberapa tindakan dalam basis data ditunda, dan dikelola oleh antrean pekerjaan. Pekerjaan-pekerjaan disimpan dalam basis data dan berisi parameter-parameter dengan informasi mengenai tindakan yang dilakukannya. Sangat disarankan untuk menjalankan pekerjaan-pekerjaan yang ditunda sebelum memutakhirkan wiki, agar tidak terjadi masalah yang disebabkan spesifikasi parameter pekerjaan tersebut berubah di versi yang baru. Gunakan runJobs.php untuk menjalankan semua pekerjaan yang ditunda dan membersihkan antrean sebelum menjalankan pemutakhiran.

Cadangkan berkas dan basisdata yang sudah ada

Instruksi selengkapnya: Manual:Mencadangkan wiki

Meskipun skrip pemutakhiran telah diperlihara dengan baik, masalah masih bisa terjadi. Sebelum memulai memutakhirkan skema basis data, buatlah cadangan lengkap wiki, termasuk seluruh basis data dan berkas:

  • konten wiki, dari basis data, (pastikan Anda menentukan set karakternya dengan benar, periksa dulu LocalSettings.php). Sebaiknya dibuat juga sebuah dump XML sebagai pelengkap dump basis data SQL.
  • MySQL, baik dump SQL dan dump XML digunakan dengan perintah mysql:
mysqldump --user=wikidb_user --password=wikidb_userpassword wikidb > file.sql
mysqldump --user=wikidb_user --password=wikidb_userpassword wikidb --xml > file.xml
  • PostgreSQL, dump basis data digunakan dengan perintah pg_restore:
pg_dump --create -Fc wikidb > file.db.dump
  • SQLite, Anda menggunakan sebuah skrip MediaWiki untuk membuat salinan:
php wikifolder/maintenance/SqliteMaintenance.php --backup-to file
  • gambar dan berkas media lainnya (isi dari direktori images, logo wiki /skins/common/images/wiki.png)
  • berkas-berkas konfigurasi, contohnya LocalSettings.php dan .htaccess (apabila ada)
  • Berkas program MediaWiki, termasuk semua kulit dan ekstensi, khususnya apabila Anda telah mengubahnya.

Ekstrak berkas baru

Menggunakan sebuah paket tarball

Anda bisa menaruh berkas-berkas baru menggunakan FTP atau barisan perintah (command line). Gunakan barisan perintah, apabila Anda bisa mengaksesnya! Menggunakan baris perintah lebih cepat daripada mengunggah setiap berkas melalui FTP.

Anda sebaiknya meletakkan tarball yang telah diekstrak di dalam berkas baru yang kosong di peladen Anda. Jika Anda mengekstrak versi baru tepat di tempat versi lama Anda, bukannya di direktori baru, Anda sebaiknya mengikuti instruksi yang dijelaskan di Cadangkan berkas dan basis data yang sudah ada: jika tidak, apabila Anda telah membuat kustomisasi Anda mungkin menghapusnya tanpa mengetahui cara menerapkannya kembali. Mengekstrak tarball di atas salinan langsung MediaWiki Anda juga bisa meninggalkan berkas-berkas dari versi lama MediaWiki yang mungkin mengganggu kode yang dimutakhirkan. Disarankan bagi Anda untuk mengekstrak berkas yang baru ke dalam direktori yang baru, dan kemudian terapkan kustomisasi ke direktori baru (mengembalikan LocalSettings.php, berkas gambar, ekstensi, dan kustomisasi lainnya seperti kulit buatan sendiri)

FTP atau grafis

Jika Anda tidak bisa mengakses baris perintah di peladen Anda, unduh tarball MediaWiki ke komputer lokal Anda dan gunakan 7zip untuk mengekstrak tarball di PC lokal Anda.

Setelah Anda mengekstrak berkasnya secara lokal, gunakan perangkat lunak klien FTP kesukaan Anda untuk mengunggah direktori dan berkas ke peladen Anda.

cPanel File Manager

cPanel is a popular interface provided by many web hosts. This method is efficient because the files are uncompressed on the server itself.

  • Navigate to the directory that holds your wiki folder.
  • Upload the mediawiki-1.xx.x.tar.gz file. You may need to hit "Reload" to see it.
  • Extract the mediawiki-1.xx.x.tar.gz file. Reload again.
  • Confirm that the mediawiki-1.xx.x folder is present.
  • Delete the tar.gz file.
  • Copy all necessary skins, extensions, image folders, customizations, and the LocalSettings.php into the new folder. (See below.)
  • When you are ready to run update.php, rename your old wiki folder and your new wiki folder. (e.g. "w" becomes "w1.34" and then "mediawiki1.35.0" becomes "w".) This step is easily reversible if you run into problems.

Baris perintah

Anda mungkin perlu menjalankan perintah sebagai sudo apabila Anda tidak punya izin menulis penuh ke direktori instalasi wiki menggunakan pengguna Anda yang sekarang. Ketika mengekstrak paket tarball biasanya sebuah direktori baru akan dibuat dan Anda akan punya salinan berkas konfigurasi dan direktori gambar lama dari direktori instalasi lama Anda:

cd /path/to/your/new/installation/ wget https://releases.wikimedia.org/mediawiki/1.43/mediawiki-1.43.0.tar.gz tar xvzf mediawiki-1.43.0.tar.gz rm mediawiki-1.43.0.tar.gz

Pengguna (Open)Solaris sebaiknya menggunakan gtar, atau:

$ gzip -dc mediawiki-1.43.0.tar.gz | tar xf -

Berkas lain

Setelah mengekstrak tarball, Anda sebaiknya menyalin atau memindahkan beberapa berkas dan folder dari direktori instalasi yang lama ke yang baru:

  • LocalSettings.php - * $code-lc, yang berisi pengaturan konfigurasi lama Anda.
  • Direktori images (atau uploads dalam versi yang lebih lama), yang berisi semua berkas yang telah diunggah ke wiki, kecuali Anda memilih direktori pengunggahan yang berbeda, dan ubah kepemilikan dan perizinannya. find ./images -type d -exec chmod 755 {} \; dan chgrp -R apache images (jika misalnya pengguna web Anda adalah apache).
  • Beberapa ekstensi di direktori extensions. Anda sebainya selalu memakai ekstensi yang mutakhir, ekstensi lama tidak dijamin akan bekerja di versi MediaWiki yang lebih baru.
  • Jika Anda menggunakan logo buatan sendiri berkas ini juga perlu dikembalikan dari cadangan. Sebelum 1.24 ini biasanya terletak di skins/common/images/. Setelah 1.24 letaknya di resources/assets/ atau images/ tergantung yang mana yang Anda pilih. Kemduian tambahkan misalnya $wgLogo = "$wgScriptPath/images/logo.png"; ke LocalSettings.php.
  • Untuk 1.35, Anda mungkin perlu mengembalikan logo dari wgLogos. Kemudian menambahkannya ke LocalSettings.php, misalnya $logo4
  • Kulit-kulit khusus dari dalam direktori skins.
  • Modifikasi apapun yang dilakukan pada berkas instalasi atau ekstensi yang lama.
  • Berkas .htaccess apapun (apabila Anda menggunakan Apache dan Anda telah mendefinisikan aturan-aturan di dalamnya).

Setelah melakukannya, jadikan folder baru ini folder yang dimuatkan di peladen web, atau ubah nama direktori instalasi yang lama lalu ubah nama direktori yang baru menjadi nama direktori yang lama. Change ownership and group of everything so the web server has access to the files.

Menggunakan Git

Jika menggunakan Git , ekspor berkas-berkasnya ke dalam lokasi yang bersih, lalu salin berkas yang dulu pernah disesuaikan ke dalam lokasi baru sebagaimana dijelaskan di bagian sebelumnya.

Anda juga perlu menginstal beberapa pustaka PHP eksternal menggunakan Composer atau kumpulan pustaka yang disediakan dan dipelihara untuk wiki farm Wikimedia. Rincian lebih lanjut mengenai pemasangan dan pembaruan pustaka eksternal bisa ditemukan di dokumentasi unduhan Git.

Menggunakan patch

Berkas patch kecil biasanya disediakan untuk pemutakhiran versi minor. Anda perlu mengunduh patch untuk melakukan ini. Unduh dan ekstrak berkas patch secara manual dari situs dump atau ikuti petunjuk dengan wget di bawah. Patch bersifat bertahap, Anda tidak bisa melewatkan salah satu versi.

  1. cd ke direktori MediaWiki utama Anda (direktori yang berisi LocalSettings.php).
  2. Unduh berkas patch dan gunakan gunzip padanya.
  3. Gunakan patch -p1 --dry-run untuk memeriksa apa yang akan diubah (contoh, patch -p1 --dry-run -i mediawiki-x.xx.x.patch)
  4. Jika semuanya berjalan baik, jalankan patch lagi tanpa --dry-run.
  5. Periksa Special:Version Anda dan Anda seharusnya melihat nomor versi yang baru.

Sisa berkas yang mungkin menimbulkan kesalahan

Jika Anda mengekstrak menimpa direktori instalasi yang lama, beberapa berkas lama bisa menyebabkan masalah untuk versi yang baru.

Memuktahirkan ekstensi

Ekstensi-ekstensi tertentu telah dimutakhirkan agar bekerja dengan versi MediaWiki yang baru. Pastikan untuk memutakhirkan ekstensi-ekstensi tersebut ke versi terkininya. Anda mungkin perlu melakukan pemutakhiran secara manual untuk ekstensi-ekstensi kustom.

Tarball yang berbeda-beda memasukkan beberapa subset dari ekstensi dan memiliki pengelolaan versi yang membantu Anda memilih yang tepat untuk rilis inti MediaWiki Anda.

Extension Distributor bekerja baik untuk kebanyakan orang yang menginginkan cuplikan ekstensi-ekstensi yang akan bekerja pada versi MediaWiki yang didukung.

Jika Anda menginginkan banyak ekstensi maka sebaiknya Anda mengunduh dari Git. Jika Anda tidak punya Git tetapi Anda ingin memperbarui banyak ekstensi, Anda sebaiknya mempertimbangkan untuk menggunakan mwExtUpgrader.

<span id="Adapt_your_LocalSettings.php">

Menyesuaikan LocalSettings.php anda

Jika Anda menggunakan LocalSettings.php yang sama dengan versi yang lama, Anda mungkin perlu menyesuaikannya dengan bagaimana versi yang baru menjalankannya:

Pendaftaran kulit

Versi MediaWiki:
1.24

Sejak MediaWiki 1.24, kulit-kulit yang sepaket seperti Vector, Monobook, Modern dan CologneBlue tidak lagi menjadi bagian dari inti MediaWiki, dan perlu didaftarkan secara eksplisit di LocalSettings.php agar bisa digunakan, jika tidak MediaWiki akan memperingatkan bahwa Anda tidak memiliki kulit yang telah dipasang.

Ini adalah apa yang perlu Anda tambahkan ke LocalSettings.php ketika memutakhirkan dari versi-versi yang lebih lama daripada 1.24 dan menginginkan kulit-kulit tersebut tersedia:

wfLoadSkin( 'Vector' );
wfLoadSkin( 'MonoBook' );
wfLoadSkin( 'Modern' );
wfLoadSkin( 'CologneBlue' );

Kulit-kulit lainnya mungkin belum disesuaikan dengan sistem pendaftaran kulit yang baru, jadi rujuklah halaman dokumentasi masing-masing kulit untuk melihat bagaimana cara mendaftarkannya apabila terjadi masalah.

Pendaftaran ekstensi

Versi MediaWiki:
1.25

Sejak MediaWiki 1.25, ekstensi menggunakan sistem pendaftaran ekstensi baru.

Sebelumnya LocalSettings.php Anda akan berisi seperti ini:

require_once "$IP/extensions/Cite/Cite.php";
require_once "$IP/extensions/Gadgets/Gadgets.php";
require_once "$IP/extensions/ImageMap/ImageMap.php";
require_once "$IP/extensions/InputBox/InputBox.php";
require_once "$IP/extensions/Nuke/Nuke.php";
require_once "$IP/extensions/ParserFunctions/ParserFunctions.php";
require_once "$IP/extensions/Poem/Poem.php";
require_once "$IP/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.php";
require_once "$IP/extensions/WikiEditor/WikiEditor.php";

Ini bisa diubah menjadi:

wfLoadExtension( 'Cite' );
wfLoadExtension( 'Gadgets' );
wfLoadExtension( 'ImageMap' );
wfLoadExtension( 'InputBox' );
wfLoadExtension( 'Nuke' );
wfLoadExtension( 'ParserFunctions' );
wfLoadExtension( 'Poem' );
wfLoadExtension( 'SyntaxHighlight_GeSHi' );
wfLoadExtension( 'WikiEditor' );

Ekstensi disesuaikan agar menggunakan sistem pendaftaran ekstensi baru. Ekstensi yang tidak disesuaikan sebaiknya menggunakan cara instalasi yang lama. Rujuklah instruksi instalasi di halaman ekstensi untuk informasi lebih lanjut.

Remove DefaultSettings.php line (if necessary)

Older versions of MediaWiki automatically generated a line in LocalSettings.php calling DefaultSettings.php . As of Version 1.38, this line is deprecated and does not work with many extensions. It needs to be removed.

Delete the following line:

require_once( "$IP/includes/DefaultSettings.php" );

Remove RenameUser from LocalSettings.php

If you are upgrading to 1.40 or above, Extension:RenameUser has been merged into core. If present, this line must be deleted from LocalSettings.php or the update will fail.

wfLoadExtension( 'Renameuser' );

Variabel lainnya

Beberapa variabel mungkin telah usang atau bahkan dihapus. Memiliki mereka di LocalSettings.php biasanya tidak akan berpengaruh. Variabel-variabel baru mungkin ditambahkan di versi lebih baru, atau beberapa variabel yang sudah ada diubah tipenya. Kami biasanya mencoba menggunakan default yang wajar untuk mereka, dan apabila tipenya berubah, dibuat agar kompatibel mundur. Dalam kasus apapun, periksa catatan rilis untuk melihat perubahan tersebut.

Menjalankan skrip pemuktahiran

Anda bisa memutakhirkan basis data MediaWiki dengan dua cara: Dari baris perintah atau dari peramban web. Jika Anda punya akses shell ke peladen Anda, memutakhirkan dari basis perintah lebih disarankan, karena ini mengurangi risiko proses pemutakhirannya diganggu oleh masalah waktu habis atau pengaturan ulang koneksi.

Skrip juga akan mencoba mengunduh hal-hal yang belum ada yang dibutuhkan MediaWiki.

Baris perintah

Access the command line of your server or an SSH shell or similar. You can access the command line by connecting to your server via SSH. Current versions of all major operating systems (including Windows 10 and 11) contain a command-line OpenSSH client either by default or as an installable feature. If the local PC you are working on runs Microsoft Windows, you may want to (or, if it’s 8.1 or older, have to) install PuTTY, which features a wizard-like interface (or a similar tool). From the command line or the Shell, execute the update script:

Versi MediaWiki:
1.40
$ php maintenance/run.php update.php
Versi MediaWiki:
1.39
$ php maintenance/update.php

Di sebuah peladen Linux jika Anda mendapatkan galat coba lakukan perintah yang sama sebagai root (sudo). Catatan untuk instalasi sederhana di Windows (misalnya menggunakan XAMPP ): Pertama-tama pastikan peladen web Anda (misalnya Apache) dan basis data Anda (misalnya MySQL) sedang berjalan. Kemudian jalankan update.php: klik kanan, pilih Open With, dan telusuri hingga PHP.exe. Jendela baris perintah yang dihasilkan kemungkinan akan tertutup secara otomatis ketika pemutakhiran skemanya selesai.

MediaWiki akan memeriksa skema yang ada dan memutakhirkannya agar bekerja dengan kode yang baru, menambahkan tabel dan kolom apabila diperlukan.

Jika Anda menggunakan basis data bersama, Anda sebaiknya memberikan parameter --doshared apabila Anda ingin tabel bersamanya diperbarui. Jika tidak mereka tidak akan disentuh oleh skrip pemutakhiran.

What to do if it says "MediaWiki requires PHP x.y.z or higher; you are using PHP x.w.v"

See Manual:Common errors and symptoms#MediaWiki requires PHP 7.4.3 or higher; you are using PHP 7.3.17

Apa yang perlu dilakukan apabila "php update.php" tidak melakukan apa-apa, hanya terjadi jeda sebentar kemudian kembali ke baris perintah

Ini bisa jadi disebabkan malfungsi pada kulit atau ekstensi.

  • Periksa apakah semua ekstensi dan kulit yang dipanggil di LocalSettings.php tersedia
  • Periksa apakah ekstensi-ekstensi menggunakan metode registrasi yang benar (wfLoadExtension vs. require_once)
  • Jadikan setengah pertama ekstensi di LocalSettings.php menjadi komentar. Jika ini menyebabkan update.php bekerja, kembalikan setengah dari setelah tersebut menjadi seperti semula (setengah dari setengah jadi 1/4 ekstensi). Jika ini TIDAK menyebabkan update.php bekerja, kembalikan setengah awal menjadi semula dan jadikan setengah akhir menjadi komentar, lalu jadikan setengah dari setengah akhir menjadi komentar, dst. Ulangi sampai update.php bekerja untuk menemukan ekstensi mana yang bersalah.

Apa yang dilakukan ketika muncul kesalahan "ALTER command denied to user" (atau yang mirip)

Jika skripnya dibatalkan dengan pesan seperti begini:

Error: 1142 ALTER command denied to user 'wiki'@'localhost' for table 'mytable' (localhost)
ERROR: must be the owner of the mytable relation 

Ini berarti Anda sebaiknya memeriksa apakah Anda telah mendefinisikan $wgDBadminuser dan $wgDBadminpassword dalam berkas LocalSettings.php Anda (di direktori utama). Ini adalah pengguna dan kata sandi yang diperlukan oleh skrip ini agar bisa mengakses basis data.

Dalam beberapa kasus, variabel lama $wgDBmwschema (untuk Postgres) kelihatannya dibaca sebagai nama tabel yang diperbarui bukannya $wgDBname, meskipun ketika mysql yang digunakan. Jika ini penyebabnya, tinggal hapus definisi $wgDBmwschema di LocalSettings.php.

Apa yang dilakukan ketika muncul kesalahan 'register_argc_argv is set to false'

Anda mungkin menemui galat berikut:

Cannot get command line arguments, register_argc_argv is set to false
  1. Pergi ke ~/maintenance. Sunting berkas 'php.ini' yang sudah ada, atau buat yang baru.
  2. Tambahkan sebuah baris seperti berikut:
register_argc_argv=true
  1. Jalankan kembali php update.php

Peramban web

Versi MediaWiki:
1.17
Lihat pula update.php

Jika basis data Anda sudah besar dan dalam penggunaan yang tinggi, maka Anda sebaiknya tidak menggunakan pembaru Web, di antaranya karena proses pembaruan akan kehabisan waktu ketika maximum_execution_time tercapai. Jika begitu, Anda sebaiknya menggunakan update.php dari antarmuka baris-perintah (tidak dari web). Apa yang dimaksus "terlalu besar" bergantung pada peladen Anda (performanya, muatannya, dan berapa lama waktu eksekusi maksimum PHP yang diberikan kepada skrip). Jika wiki Anda terlalu besar untuk pembaru web dan penyedia hosting Anda tidak memungkinkan akses baris-perintah, maka Anda perlu memindahkan wiki Anda ke akun hosting lainnya, sebaiknya yang memiliki akses shell.

  1. Selalu cadangkan sebelum melakukan pemeliharaan basis data.
  1. Jelajahi peramban web Anda hingga ke /mw-config/. Misalnya, jika wiki Anda berada di http://example.org/w/index.php, maka jelajahi ke http://example.org/w/mw-config/.

For example, if your wiki is at http://example.org/w/index.php, then navigate to http://example.org/w/mw-config/index.php.

  1. Pilih bahasa Anda dan tekan lanjutkan.
  2. Instalasi yang sudah ada harusnya terdeteksi. Ikuti instruksi di layar untuk memperbaruinya.
    Jika diminta sebuah "upgrade key", bukalah berkas LocalSettings.php Anda dan cari kunci yang diberikan untuk $wgUpgradeKey .

Mungkin juga pembaru-web tampak tidak bekerja: Bukannya melihat layar pemilihan bahasa awal, Anda malah melihat sebuah halaman wiki kosong, mungkin dengan suatu pesan galat. Jika begini, kemungkinan ini disebabkan peladen web Anda menggunakan Rewrite Rules (kemungkinan untuk URL pendek), yang tidak menampilkan pembaru di mw-config/, melainkan sebuah halaman wiki di Mw-config/, dengan "M" kapital. Jika begini, ubah nama berkas .htaccess untuk waktu pembaruan. Kemudian Anda seharusnya bisa mengakses pembaru web.

  Peringatan Jika Anda menggunakan metode ini, pastikan untuk mengubah kembali nama berkas .htaccess setelah menjalankan skrip pemutakhiran! Jika tidak URL pendek dan beberapa hal lainnya akan rusak!

Mengujicoba pemuktahiran

Ketika pemutakhiran telah selesai, pergi ke wiki dan periksa apakah operasi-operasi berikut bekerja sebagaimana mestinya:

  • Membaca halaman
  • Menyunting halaman
  • Mengunggah berkas
  • Kunjungi Special:Version dan periksa apakah versi yang ditampilkan benar dan ekstensi-ekstensinya ada

Menghapus sisa-sisa dari instalasi yang lama

Jika Anda telah menyalin instalasi lama Anda ke folder lain di peladen, pastikan untuk menghapusnya atau membuatnya sama sekali tidak bisa diakses dari web. Sangat penting untuk tidak membiarkan instalasi lama bisa diakses dari web, karena itu tidak sesuai dengan tujuan pemutakhiran, dan membuat peladen Anda berisiko diserang.

Pertanyaan yang sering diajukan

Seberapa sulit melakukan pemuktahiran?

Jika satu-satunya berkas yang telah Anda ubah adalah LocalSettings.php , dan Anda memutakhirkan dari 1.5 atau setelahnya, prosesnya sangatlah sederhana. Pekerjaan manusia yang harus dilakukan hanya berdurasi beberapa menit. Perubahan skema basis data akan menghabiskan waktu sebanding dengan ukuran basis data Anda — mungkin beberapa jam untuk wiki dengan jutaan halaman, tetapi untuk ukuran biasa sekitar beberapa ribu halaman, biasanya dilakukan dalam hitungan detik.

Pemutakhiran minor, di antara versi-versi mayor yang sama, misalnya dari 1.42.0 ke 1.42.4, tidak membutuhkan perubahan skema sama sekali. Anda bisa hanya memperbarui berkas-berkasnya. Basis datanya tidak perlu, sehingga tidak perlu menjalankan skrip pembaru.

Memutakhirkan dari 1.4 atau sebelumnya akan lebih rumit karena dukungan untuk set karakter selain UTF-8 dihentikan, dan skema untuk menyimpan banyak teks diubah. Tolong baca bagian yang relevan di berkas UPGRADE.

Pemutakhiran menjadi sulit apabila Anda telah mengubah kode sumber, dan Anda tidak ingin pengubahan Anda ditimpa. Peralatan seperti diff, patch, Meld atau WinMerge bisa jadi berguna. Juga terdapat potensi masalah apabila Anda menggunakan ekstensi yang tidak terpelihara. Mutakhirkan ekstensi Anda bersamaan dengan Anda memperbarui MediaWiki.

Jika Anda telah mengubah kulit atau menggunakan kulit buatan sendiri Anda kemungkinan harus menyesuaikannya lagi agar bisa bekerja di versi MediaWiki yang baru.

Agar tidak perlu menambal berkas css dan js (javascript) "global" setiap kali memutakhirkan, Anda bisa menambhkan kodenya ke halaman MediaWiki:Common.js dan MediaWiki:Common.css Anda. Karena halaman-halaman tersebut merupakan bagian dari basis data yang akan kembali digunakan ketika Anda memutakhirkan, Anda tidak perlu menambal berkas inti MediaWiki lagi.

Bagaimana saya memuktahirkan dari versi yang lama sekali? Dalam satu langkah, atau beberapa langkah?

Versi MediaWiki:
1.4

Tergantung: Jika Anda memutakhirkan dari MediaWiki 1.4 atau lebih lama, Anda sebaiknya memperbarui ke MediaWiki 1.5 dulu. Jika Anda memperbarui dari wiki Latin-1, gunakan upgrade1_5.php (ditemukan di MediaWiki 1.5) untuk mengubah bagian-bagian yang relevan dari basis data ke UTF-8 ($latin perlu diatur menjadi true dalam $localsettings Anda agar ini bekerja). Kemudian, jalankan update.hp, dan atur pilihan $legacy di LocalSettings.php untuk kode yang sebelumnya digunakan di wiki (misalnya windows-1252). Ini pada dasarnya adalah bagaimana Wikipedia dari situs Yayasan Wikimedia lainnya diperbarui dari MediaWiki 1.4 ke 1.5 — lihat [$noc berkas pengaturan yang relevan (peringatan: halaman besar!)] dan beberapa catatan-catatan terkait di Wikitech. Anda mungkin perlu memperbarui dari MediaWiki 1.4 sebelum menjalankan skrip upgrade1.5. If you are upgrading from a Latin-1 wiki, use upgrade1_5.php (found in MediaWiki 1.5) to convert the relevant parts of the database to UTF-8 ($wgUseLatin1 needs to be set to true in your LocalSettings.php for this to work). Next, run update.php, and then set the $wgLegacyEncoding option in LocalSettings.php to the encoding previously used by the wiki (e.g. windows-1252). This is basically how Wikipedia and other Wikimedia Foundation sites were upgraded from MediaWiki 1.4 to 1.5 – see some related notes at Wikitech. You may need to upgrade to MediaWiki 1.4 before running the upgrade1.5 script. Jika Anda ingin membuat sebuah dump basis data (misalnya MySQL) dari wiki Latin-1 Anda, pastikan untuk mengetik isian old_text di tabel $text dengan mediumblob, bukan mediumtext untuk menghindari masalah pengodean karakter.

Versi MediaWiki:
1.5 – 1.35

Jika Anda memutakhirkan dari MediaWiki 1.5 atau lebih baru, Anda bisa memutakhirkan dalam satu langkah, dari versi lama Anda ke versi stabil terbaru. Kebanyakan laporan, serta pengujian otomatis, mengindikasikan bahwa melakukannya dalam satu langkah bekerja dengan baik. Jika Anda kesulitan memercayainya, bacalah posting milis ini. Akan tetapi, tolong perhatikan bahwa ketika Anda memutakhirkan dari versi lama, kemungkinan Anda akan menemukan galat PHP yang lebih besar dibandingkan dengan memutakhirkan dari versi yang tepat sebelum versi baru. Anda akan tetap menerima kesalahan ini, jika Anda tidak melewatkan versi, tetapi kesalahan akan dikaitkan dengan setiap pembaruan individu. Jika Anda memutakhirkan beberapa versi secara bersamaan, Anda akan mendapatkan semua galatnya secara bersamaan. Ini akan mebuat pemutakhiran lebih sulit, tetapi jangan lupa bahwa Anda tidak mengalami masalah ketika memutakhirkan ke versi pertengahan, yang Anda lewatkan!

Versi MediaWiki:
1.35

Jika Anda memutakhirkan ke MediaWiki 1.36 atau setelahnya, hanya pemutakhiran dari dua rilis LTS terakhir yang didukung (phab:T259771). Ini berarti untuk versi yang sangat lama, Anda harus memutakhirkan ke MediaWiki 1.35 terlebih dahulu kemudian memutakhirkan ke 1.36.

Apakah sebaiknya saya mencadangkan dulu?

Jawaban singkat: Ya.

Jawaban panjang: Bergantung pada a) seberapa berharga data Anda, b) seberapa sulit membuat cadangan dan c) seberapa yakin Anda pada pemeliharaan dan administrasi MySQL.

Kegagalan dalam pemutakhiran bisa menyebabkan basis data Anda berada dalam keadaan yang tidak konsisten, di antara dua versi. Sebuah galat PHP atau MySQL bisa terjadi ketika pemutakhiran sehingga basis data Anda hanya sebagian yang dimutakhirkan. Dalam situasi tersebut mungkin saja untuk memperbaiki masalahnya dengan kerja manual yang banyak. Akan tetapi, jauh lebih mudah untuk meletakkan basis data cadangan dari sebelum dijalankannya update.php dan meneruskan pemutakhiran menggunakan itu. Jika tidak Anda mungkin perlu menghabiskan pekerjaan — yang tidak perlu — selama berjam-jam.

Pemulihan adalah hal yang biasanya rumit. Sukarelawan di forum dukungan tidak akan senang apabila Anda tidak membuat cadangan dan perlu bantuan untuk memulihkan data yang rusak dalam proses pemutakhiran. Hasil yang ideal adalah apabila Anda bisa mengembalikan cadangan Anda, dan kemudian melaporkan bug pada proyek MediaWiki yang sesuai selama proses pemutakhiran yang menyebabkan kerusakan data.

<span id="Can_I_keep_my_LocalSettings.php?">

Bisakah saya menyimpan LocalSettings.php saya?

Ya, tetapi Anda harus membuat beberapa perubahan kecil. Format LocalSettings.php pada umumnya kompatibel mundur. Changes which break LocalSettings.php compatibility will be documented in the "configuration changes" section of the release notes.

Bisakah wiki saya tetap dalam jaringan ketika pemuktahiran?

Secara umum iya, tetapi Git bisa memutuskannya secara sementara (selama beberapa detik).

Jika Anda memutakhirkan di antara rilis minor MediaWiki, satu-satunya yang perlu Anda lakukan adalah memutakhirkan berkas-berkas sumber.

Catatan: instruksi berikut mengasumsikan Anda punya akses baris perintah. Jika Anda memutakhirkan di antara rilis utama MediaWiki, prosedur yang disarankan adalah:

  1. Ekstrak versi baru MediaWiki ke dalam direktori baru.
  2. Siapkan direktori baru tersebut: salin LocalSettings.php Anda dari direktori yang lama, sali ekstensi-ekstensi dan kulit-kulit yang telah dipasang (apabila ada). Periksa pengaturan $wgLogo dan $wgLogos di LocalSettings.php dan jika perlu sali berkas logo dari direktori lama ke direktori baru.
  3. Dalam catatan rilis untuk versi yang baru, lihat apakah ada perubahan yang harus dibuat pada LocalSettings.php.
  4. In the old directory, edit LocalSettings.php and insert the following code. This will place the database in read-only mode for regular wiki activity, without restricting your own update actions. Users will see the message provided if they attempt an edit during the upgrade process:
    $adminTask = ( PHP_SAPI === 'cli' || defined( 'MEDIAWIKI_INSTALL' ) );
    $wgReadOnly = $adminTask ? false : 'Upgrading to MediaWiki 1.43.0';
  5. Jalankan skrip pemutakhiran atau pembaru web dalam direktori baru.
  6. Salin gambar dari subdirektori gambar dari direktori lama ke direktori baru.
  7. Tukar direktori lama dengan direktori baru. (This will make the database writable again, because $wgReadOnly was only set in the old directory's LocalSettings.php.)

Mengapa memuktahirkan?

Berlanggananlah dengan mediawiki-announce agar diberitahukan soal rilis baru.

Rilis terbaru menerima perbaikan keamanan untuk menjaga wiki dan hos Anda aman dari para vandal, sedangkan rilis lama tidak (lihat Siklus hidup versi ). Jadi ada lusinan alasan yang bagus untuk memutakhirkan.

Rilis utama yang baru menyediakan fitur-fitur baru, yang Anda mungkin mau gunakan: lihat catatan rilis untuk rinciannya. Jika Anda perlu argumen tambahan untuk meyakinkan bos Anda untuk membiarkan Anda memutakhirkan dari versi yang sudah tua, berikut adalah ringkasannya:

Lihat pula