Manual:Yükseltme

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

Temel genel bakış

Dosya transferi

Dosyaları aktarmak için bir yöntem seçin:

Ön hazırlık

MediaWiki içindeki UPGRADE metin dosyasını okuyun.

  1. Gereksinimleri kontrol edin
  2. RELEASE-NOTES dosyasını okuyun
  3. UPGRADE dosyasını okuyun
  4. Mevcut dosyaları ve veritabanını yedekleyin
  5. Yeni dosyaların paketini açın
  6. Eklentileri yükseltin
  7. Veritabanını kontrol etmek için güncelleme komut dosyasını çalıştırın
  8. Güncelleme testini yapın
  9. Eski kurulumlardan kalanları kaldırın

Kontrol gereksinimleri

  Uyarı: MediaWiki from 1.32 to 1.35.4, 1.36.2, 1.37.0 contain a security issue that allow unprivileged editing of arbitrary page and arbitrary JavaScript execution. If you are using one of these versions and can not upgrade to a newer version, please see 2021-12 security release/FAQ for a workaround.
  Uyarı: Do not upgrade from a MediaWiki version older than 1.33 to MediaWiki 1.39.1, or you may lose data! Upgrade to MediaWiki 1.35 first. See görev T326071.

MediaWiki 1.41 aşağıdakilere gereksinim duymaktadır:

  • PHP 7.4.3+
  • ve aşağıdakilerden biri:
    • MariaDB 10.3.0+
    • MySQL 5.7.0+
    • PostgreSQL 10.0+
    • SQLite 3.8.0+
Sürüm 1.36'dan bu yana, MediaWiki yalnızca iki LTS sürümü öncesindeki yükseltmeleri desteklemeyi taahhüt eder (bkz. phab:T259771 sayfasına bakın). MediaWiki'nin eski sürümlerinden yükseltmelerin birden çok adımda gerçekleştirilmesi gerekecektir. Bu, eğer 1.34 veya daha eski bir sürümden 1.41'e yükseltme yapmak isterseniz, öncelikle 1.34 wikinizi 1.35'ye (veya 1.39) yükseltmeniz gerekecek ve ardından 1.35'den (veya 1.39) 1.41'e yükseltme yapabileceksiniz.

Eğer PostgreSQL kullanıyorsanız lütfen Manual:Upgrading Postgres bölümünü de okuyun.

Daha fazla bilgi için lütfen Manual:Kurulum gereksinimleri ve Uyumluluk 'i okuyun.

Sürüm notlarını okuyun

Tarball dağıtım dosyası içinde, veya Git tarafından teslim edilen/ihraç edilen dosyalar içinde, adı büyük harflerle yazılmış dosyalardan biri olan RELEASE-NOTES (viki) içeren bir dosya var. Şimdi paketi açıp ve bu sürümde nelerin değiştiğini öğrenmenin zamanı geldi. UPGRADE dosyasındaki talimatları da okumalısınız.

Bekleyen işlerin kaldırılması

Performans nedenleriyle, veritabanındaki bazı işler ertelenir ve iş kuyruğu tarafından yönetilir. Bu ertelenen işler veritabanında saklanır ve gerçekleşmesi gereken eylemler hakkında bilgi veren parametreleri içerir. Bu bekleyen işleri, parametre özelliklerinin yeni sürümde değişmesi durumunda başarısız olmasını önlemeniz için vikiyi yükseltmeden önce çalıştırmanız kesinlikle önerilmektedir. Tüm bekleyen işleri çalıştırmak ve yükseltmeyi gerçekleştirmeden önce sırayı temizlemek için runJobs.php kullanın.

Mevcut dosyaları ve veritabanını yedekle

Tam talimatlar: Manual:Backing up a wiki

Yükseltme komut dosyaları iyi-korunmuş ve sağlam olsa da, işler yine de ters gidebilir. Veritabanı şemasını güncellemeye başlamadan önce, hem veritabanını hem de dosyaları içeren, vikinin tam yedeğini alın:

  • vikinin içeriği, veritabanından (karakter setinin doğru şekilde belirlendiğinden emin olmak için önce LocalSettings.php dosyasını kontrol edin). SQL dökümanı dökümüne ek olarak bir XML dökümü oluşturmak iyi bir fikir olabilir.
  • MySQL, hem SQL dökümü hem de XML dökümü, mysql komutuyla birlikte kullanılmaktadır:
mysqldump --user=wikidb_user --password=wikidb_userpassword wikidb > file.sql
mysqldump --user=wikidb_user --password=wikidb_userpassword wikidb --xml > file.xml
  • PostgreSQL, veritabanı dökümü için pg_restore komutu ile birlikte kullanılmaktadır:
pg_dump --create -Fc wikidb > file.db.dump
  • SQLite, yedek oluşturmak için bir MediaWiki komut dosyası kullanıyorsunuz:
php wikifolder/maintenance/sqlite.php --backup-to file
  • resimler ve diğer medya dosyaları (images dizininin içeriği, özel logo /skins/common/images/wiki.png)
  • yapılandırma dosyaları, ör. LocalSettings.php ve .htaccess (eğer varsa)
  • MediaWiki'nin tüm kabuk ve eklentilerini içeren program dosyalarını, özellikle bunları değiştirdiyseniz.

Yeni dosyaların paketini açma

Bir tarball paketi kullanma

FTP veya komut satırı kullanarak yeni dosyaları yükleyebilirsiniz. Erişiminiz varsa komut satırını kullanın! Komut satırını kullanmak, binlerce dosyanın her birini FTP ile yüklemekten çok daha hızlı olacaktır.

Açılmış tarball'ınızı sunucunuzdaki yeni ve boş bir klasöre yerleştirmelisiniz. Eğer yeni sürümü doğrudan yeni bir dizin yerine eski sürümünüzün üstünde yüklerseniz, Var olan dosyaları ve veritabanını yedekle bölümünde açıklanan talimatları izlemelisiniz. Aksi takdirde, herhangi bir özelleştirme yaptıysanız, bunları yeniden uygulamak için herhangi bir başvuru yapmadan ayrılmanızı sağlayacak şekilde silebilirsiniz. MediaWiki'nin canlı kopyasının üstünde yeni bir tarball yükleme, MediaWiki'nin eski sürümündeki bazı dosyaları geride bırakabilir ve bu da güncellemenin kodunu etkileyebilir. Bu sebeple yeni dosyaları yeni bir dizinde açmanız ve daha sonra özelleştirmeleri yeni dizine uygulamanız (LocalSettings.php, resimler klasörü, eklentileri ve özel kabuklar gibi diğer özelleştirmeleri geri yüklemeniz önerilir)

FTP veya grafik

Eğer sunucunuzdaki komut satırına erişemiyorsanız, MediaWiki tarball'ını yerel bilgisayarınıza indirin ve yerel bilgisayarda tarball'ı çıkarmak için 7zip kullanın.

Dosyaları bilgisayarınıza çıkardıktan sonra, en sevdiğiniz FTP istemci yazılımını kullanarak dizinleri ve dosyaları sunucuya yükleyiniz.

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.

Komut satırı

Mevcut kullanıcı viki kurulum dizinleri üzerinde tam yazma izinine sahip değilse sudo komutunu kullanarak çalıştırmanız gerekebilir. Normalde bir tarball paketini açtığınızda, yeni viki sürümü için yeni bir dizin oluşturulur ve eski kurulum dizininizden eski yapılandırma dosyaları ve resim dizinini kopyalamanız gerekir:

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

(Open)Solaris kullanıcıları gtar, veya:

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

Diğer dosyalar

Tarball'ı yükledikten sonra, bazı dosya ve klasörleri eski kurulum dizininden yeni bir dizine kopyalamanız veya taşımanız gerekir:

  • LocalSettings.php - eski yapılandırma ayarlarınızı içerir.
  • Yüklenen tüm dosyaları içeren wiki images (veya eski sürümlerdeki uploads) dizininin, farklı bir yükleme dizini seçmediyseniz, sahipliğini ve izinleri değiştirin. find ./images -type d -exec chmod 755 {} \; ve chgrp -R apache images (Örneğin. web kullanıcınız "apache" ise).
  • extensions dizinindeki bazı eklentiler. Güncellenmiş eklentileri her zaman almalısınız; eski uzantıların MediaWiki'nin yeni bir sürümüyle çalışması garanti edilmez.
  • Özel bir logo kullanmanız durumunda, bu dosyanın da yedekten geri yüklenmesi gerekiyor. 1.24 öncesi sürümlerde kabuklar genellikle skins/common/images/ dizininde yer almaktadır. 1.24 sonrası sürümlerde sizin tercihinize göre resources/assets/ veya images/ dizininde yer almaktadır. Sonra LocalSettings.php ye ekleme yapınız ör. $wgLogo = "$wgScriptPath/images/logo.png"; gibi.
  • 1.35 için logoları wgLogos üzerinden geri yüklemeniz gerekebilir. Ardından LocalSettings.php ekleyin, ör. $wgLogos = [ '1x' => "path/to/1x_version.png", '2x' => "path/to/2x_version.png", 'svg' => "path/to/svg_version.svg" ];
  • skins dizinindeki özel kabuklar.
  • Eski kurulum dosyalarında veya eklentilerde yapılan değişiklikler.
  • Herhangi bir .htaccess dosyası (Apache kullanıyorsanız ve onlarda herhangi bir kural tanımladıysanız).

İşiniz bittiğinde, bu yeni klasörü web sunucusundaki yayınlanmış klasör yapın veya eski kurulum dizinini yeniden adlandırın ve yenisini eski adla eşleşecek şekilde yeniden adlandırın. Change ownership and group of everything so the web server has access to the files.

Git kullanımı

Eğer Git kullanılıyorsa, dosyaları yeni bir konumda dışarı aktarınız, ve önceki özelleştirilmiş dosyaları bir önceki bölümde açıklandığı gibi yeni konuma kopyalayınız.

Bazı harici PHP kütüphaneleri Composer veya Wikimedia wiki çiftliği için sağlanan belirli bir koleksiyon kullanarak kurmanız gerekecektir. Harici kütüphanelerin yüklenmesi ve güncellenmesi ile ilgili daha fazla bilgi Git indirme belgesinde bulunabilir.

Yama kullanma

Küçük bir sürüm güncellemesi için genellikle küçük bir yama dosyası kullanılabilir. Bunu kullanmak için patch dosyasını indirmeniz gerekecek. Yama dosyasını dökümler sitesinden elle indirin ve çıkarın veya aşağıdaki wget ile yönergeleri izleyin. Yamalar aşamalıdır, bir sürümü atlayamazsınız.

  1. cd ana MediaWiki dizinine (LocalSettings.php ile birlikte).
  2. Yama eki dosyasını indirin ve gunzip yapınız.
  3. Neyin değiştiğini kontrol etmek için patch -p1 --dry-run komutunu kullanın (örn., patch -p1 --dry-run -i mediawiki-x.xx.x.patch)
  4. Eğer her şey yolundaysa, --dry-run olmadan tekrar patch'i çalıştırın.
  5. Special:Version sayfasını kontrol ediniz. Yeni sürüm numarasını bu sayfada görmelisiniz.

Kalan dosyalar hatalara neden olabilir

Eski kurulum dizininin olduğu yere paketini açarsanız, bazı eski dosyalar yeni sürümde sorunlara sebep olabilir.

Eklentilerin güncellenmesi

Bazı eklentiler MediaWiki'nin yeni sürümüyle çalışmak için güncellendiler. Bu tür uzantıları en son sürümlerine yükseltmeyi unutmayınız. Özel uzantılar için elle güncelleme yapmanız gerekebilir.

Farklı tarbalları eklentileri bazı alt grupları içerir ve MediaWiki çekirdeğiniz için doğru olan sürümü seçmenize yardımcı olur.

Uzantı Dağıtıcı, MediaWiki'nin desteklenen sürümleriyle çalışacak eklentilerin enstantanesini almak isteyen kullanıcılar için iyi çalışmaktadır.

Eğer daha fazla eklenti istiyorsanız o zaman Git deposundan indirme muhtemelen sizin için en iyisidir. Git'iniz yoksa ancak çok sayıda uzantıyı yükseltmek istiyorsanız, mwExtUpgrader kullanmayı düşünebilirsiniz.

LocalSettings.php'nizi uyarlayın

Eski sürümlerdeki LocalSettings.php dosyasını kullanırsanız, yeni sürümlerde bunun nasıl uygulayacağını ayarlamanız gerekebilir:

Kabuk kaydı

MediaWiki sürümü:
1.24

MediaWiki'nin 1.24 sürümünden itibaren, Vector, Monobook, Modern ve CologneBlue gibi paket kabuklar artık MediaWiki çekirdeğinin bir parçası değildir. Bunları kullanmak için paketlerin LocalSettings.php dosyasında kayıtlı olması gerekir; aksi takdirde MediaWiki sizi kabukları yüklemediğiniz konusunda uyaracaktır.

1.24 sürümünden daha güncel bir sürüme güncelleme yaparken bu kabuklardan birini kullanmak olmak istiyorsanız LocalSettings.php dosyasına eklemeniz gereken şey aşağıdaki gibidir:

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

Diğer kabuklar henüz yeni kabuk kayıt sistemine uyarlanmamış olabilir, bu sebeple, herhangi bir sorun çıkması durumunda doğru bir şekilde nasıl kayıt olacağını görmek için her bir kabuğun dokümantasyon sayfasına bakınız.

Uzantı kaydı

MediaWiki sürümü:
1.25

MediaWiki'nin 1.25 sürümünden itibaren, uzantılar yeni uzantı kayıt sistemi kullanıyor.

Daha önceki LocalSettings.php dosyası şöyle bir şey içeriyordu:

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";

Bu, aşağıdaki biçime dönüştürüldü:

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

Uzantılar yeni eklenti kayıt sistemini kullanacak şekilde uyarlanmaktadır. Uyarlanmamış uzantılar, eski kurulum biçimini kullanmalıdır. Daha fazla bilgi için eklentinin sayfasındaki kurulum talimatlarına bakın.

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" );

Diğer değişiklikler

Bazı değişkenler eskimiş veya kaldırılmış olabilir. Onları LocalSettings.php'e yerleştirmek genellikle herhangi bir etkiye sahip olmayacaktır. Yeni sürümlerde yeni değişkenler eklenmiş veya mevcut bazı değişkenlerin türü değiştirmiş olabilir. Genellikle değişkenler için mümkün olduğunca tür değiştirme durumunda geriye dönük olarak uyumlu olalım diye varsayılan yapıyı kullanmaya çalışırız. Her durumda, bu değişiklikleri görmek için sürüm notlarına göz atınız.

Güncelleme komut dosyasını çalıştırın

MediaWiki veritabanını iki şekilde yükseltebilirsiniz: Komut satırından veya web tarayıcısından. Sunucunuzun komut satırına erişiminiz varsa, zaman aşımı veya bağlantının kesilmesi riskini azalttığı için, güncelleme işleminin komut satırından yapılması önerilir.

Komut dosyası ayrıca MediaWiki'nin ihtiyaç duyduğu eksik bağımlı paketleri indirmeye çalışacaktır.

Komut satırı

Sunucunuzun komut satırına veya SSH kabuğuna veya benzerine erişin. Komut satırına sunucunuza SSH üzerinden bağlanarak erişebilirsiniz. Üzerinde çalıştığınız yerel bilgisayar Microsoft Windows çalıştırıyorsa, SSH'yi kullanmak için PuTTY gibi bir araca ihtiyacınız olacaktır. Komut satırından veya Kabuktan $maint-dir dizinine geçin ve betik güncellemesini komutunu yürütün:

MediaWiki sürümü:
1.40
$ php maintenance/run.php update.php
MediaWiki sürümü:
1.39
$ php maintenance/update.php

Bir Linux sunucusunda hata alırsanız root (sudo) ile aynı komutu gerçekleştirmeyi deneyin. Windows'ta basit kurulumlar için not (ör. XAMPP ile): Öncelikle web sunucunuzun (Apache gibi) ve veritabanınızın (MySQL gibi) çalıştığından emin olun. Ardından update.php çalıştırın: sağ tıklayın, Birlikte Aç'ı seçin ve update.php ile göz atın. Sonuçta ortaya çıkan komut istemi penceresi, şema yükseltmesi tamamlandığında otomatik olarak kapanır.

MediaWiki mevcut şemayı inceler ve gerektiğinde tablo ve sütun ekleyerek yeni kodla çalışacak şekilde günceller.

Paylaşılan veritabanı kullanırsanız, paylaşılan tabloların güncellenmesini istiyorsanız --doshared parametresini iletmeniz gerekir. Aksi takdirde güncelleme komut dosyası tarafından dokunulmazlar.

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

php update.php herhangi bir şey yapmazsa, hızlı bir duraklamayla sonuçlanırsa ve ardından komut istemine geri dönerse ne yapmalı

Bu, hatalı çalışan bir uzantı veya görünümden kaynaklanabilir.

  • LocalSettings.php olarak adlandırılan tüm uzantıların ve görünümlerin mevcut olup olmadığını kontrol edin
  • Uzantıların doğru kayıt yöntemini kullandığını kontrol edin (wfLoadExtension ve require_once)
  • Uzantıların ilk yarısını LocalSettings.php olarak yorumlayın. Bu, update.php çalışmasına neden oluyorsa, bu yarının yarısını kaldırın (yani uzantıların 1/4'ü). Bu, update.php çalışmasına neden OLMUYORSA, ilk yarının yorumunu kaldırın, ancak ikinci yarıyı yorumlayın ve ardından ikinci yarının yarısını yorumlayın, vb. Başarısız olanı bulmak için update.php çalışana kadar tekrarlayın.

"ALTER komutu kullanıcıya reddedildi" hatası (veya benzeri) durumunda ne yapmalı

Betiklerin aşağıdakine benzer bir mesajla iptal edilmesi durumunda:

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

Bu, $wgDBadminuser dosyanızda (ana dizinde) $wgDBadminpassword ve LocalSettings.php tanımladığınızı kontrol etmeniz gerektiği anlamına gelir. Bunlar, veritabanına erişmek için bu komut dosyasının ihtiyaç duyduğu kullanıcı ve paroladır.

Bazı durumlarda, mysql kullanıldığında bile $wgDBname yerine tablo adının güncellenmesi için eski bir $wgDBmwschema değişkeni (Postgres için) okunuyor gibi görünüyor. Bu durumda, LocalSettings.php dosyasındaki $wgDBmwschema tanımından kurtulun.

= 'register_argc_argv false olarak ayarlanırsa' hata ne yapılır =

Hatayla karşılaşabilirsiniz:

Cannot get command line arguments, register_argc_argv is set to false
  1. ~/maintenance bölümüne gidin. Mevcut bir 'php.ini' dosyasını düzenleyin veya oluşturun.
  2. Aşağıdaki gibi bir satır ekleyin:
register_argc_argv=true
  1. php update.php dosyasını yeniden çalıştırın

Web tarayıcısı

MediaWiki sürümü:
1.17
Ayrıca bkz. update.php

Veritabanınız zaten büyükse ve yüksek üretimde kullanılıyorsa, Web güncelleyicisini kullanmamalısınız, ör. çünkü güncelleme işlemi maximum_execution_time ulaşıldığında zaman aşımına uğrayacaktır. Bu durumda, komut satırı arabiriminden update.php kullanmalısınız (web'den değil). Tam olarak "çok büyük" olan şey sunucunuza bağlıdır (örneğin performansı, yükü ve PHP'nin maksimum yürütme süresinin komut dosyasının çalışmasına izin verdiği süreye bağlıdır). Vikiniz web güncelleyici için çok büyükse ve barındırma sağlayıcınız komut satırı erişimine izin vermiyorsa, vikinizi başka bir barındırma hesabına, tercihen kabuk erişimi olan bir hesaba taşımanız gerekir.

  1. Veritabanı bakımı yapmadan önce daima yedekleyin.
  2. Web tarayıcınızda /mw-config/index.php adresine girin. Örneğin, sizin vikiniz http://example.org/w/index.php ise, http://example.org/w/mw-config/index.php'ye girin.
  3. Dilinizi seçin ve devam et'i tıklayın.
  4. Mevcut kurulum tespit edilmelidir. Yükseltmek için ekrandaki talimatları izleyin.
    "Yükseltme anahtarı" istenirse, LocalSettings.php dosyanızı açın ve $wgUpgradeKey atanan anahtarı arayın.

Web güncelleyici çalışmıyor gibi görünebilir: Başlangıçtaki dil seçim ekranını görmek yerine, muhtemelen bazı hata mesajlarıyla boş bir wiki sayfası görebilirsiniz. Bu durumda, büyük olasılıkla web sunucunuzun Yeniden Yazım Kurallarını (büyük olasılıkla kısa URL'ler için) kullanması muhtemeldir; bunlar size mw-config/ de güncelleyiciyi değil, Mw-config/, büyük "M" ile. Bu durumda, güncelleme zamanı için .htaccess dosyasını yeniden adlandırın. Ardından web güncelleyiciye erişebilmeniz gerekir.

  Uyarı: Bu yöntemi kullanırsanız, yükseltme betiği çalıştırdıktan sonra .htaccess dosyasının adını geri değiştirdiğinizden emin olun! Aksi takdirde kısa URL'ler ve muhtemelen diğer şeyler bozulur!

Güncellemeyi test et

Güncelleme tamamlandıktan sonra, vikiye göz atınız ve aşağıdaki işlemlerin beklendiği gibi çalıştığını kontrol ediniz:

  • Sayfaları görüntüleme
  • Sayfaları düzenleme
  • Dosya yükleme
  • Special:Version sayfasını ziyaret ediniz ve gösterilen sürümün doğru olup olmadığını ve eklentilerin bulunduğunu kontrol ediniz.

Eski kurulumlardan kalanları kaldırın

Önceki kurulumunuzu sunucudaki başka bir klasöre kopyaladıysanız, onu kaldırdığınızdan veya web'den tamamen erişilemez hâle getirdiğinizden emin olun. Eski kurulumları web'den erişilebilir bırakmamak, yükseltme amacını tamamen ortadan kaldırdığı ve sunucunuzu saldırılara açık bıraktığı için çok önemlidir.

Sıkça Sorulan Sorular

Güncellemek ne kadar zor?

Değiştirdiğiniz tek dosya LocalSettings.php ise ve 1.5 veya daha yeni bir sürüme geçiyorsanız, işlem çok basittir. Söz konusu insan işi miktarı sadece birkaç dakikadır. Veritabanı şeması değişiklikleri, veritabanınızın boyutuyla orantılı bir zaman alır - milyonlarca sayfalı vikiler için potansiyel olarak saatler, ancak birkaç bin sayfalık daha tipik bir boyut için, genellikle saniyeler içinde yapılır.

Aynı büyük sürümdeki küçük yükseltmeler, 1.40.0 sürümünden 1.13.1 sürüme kadar, herhangi bir şema değişikliği gerektirmez. Yalnızca dosyaları güncelleyebilirsiniz. Veritabanının güncellenmesi gerekmez, bu nedenle yükleyici betiğini çalıştırmak gerekli değildir.

1.4 veya daha eski bir sürüme geçmek potansiyel olarak karmaşıktır çünkü UTF-8 dışındaki karakter kümeleri için destek bırakılmıştır ve toplu metin saklama şeması değişmiştir. Lütfen UPGRADE dosyasındaki ilgili bölümü okuyun.

Kaynak kodumuzu değiştirdiyseniz ve değişikliklerinizin üzerine yazılmasını istemiyorsanız yükseltme işlemi zorlaşır. $fiff, patch, Meld veya WinMerge gibi araçlar faydalı olabilir. Korumasız uzantılar kullanıyorsanız da sorun olasılığı vardır. MediaWiki'yi yükseltirken uzantılarınızı da yeni sürüme geçirin.

Dış görünümü değiştirdiyseniz veya özel bir dış görünüm kullanıyorsanız, MediaWiki'nin yeni sürümüyle yeniden çalışacak şekilde büyük olasılıkla ayarlamanız gerekecektir.

Her seferinde "global" css ve js (javascript) dosyalarınızı yamalamak yerine, kodu MediaWiki:Common.js ve MediaWiki:Common.css sayfalarınıza ekleyebilirsiniz. Bunlar, yükselttiğinizde yeniden kullanılacak veritabanının bir parçası olduğundan, artık MediaWiki çekirdek dosyalarını düzeltmeniz gerekmeyecek.

Gerçekten eski bir sürümden nasıl yükseltebilirim? Bir adımda mı yoksa birkaç adımda mı?

MediaWiki sürümü:
1.4

Şuna bağlıdır: MediaWiki 1.4 veya daha eski bir sürümden yükseltme yapıyorsanız, önce MediaWiki 1.5'e yükseltmelisiniz. 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. Latin-1 vikiniz için bir veritabanı dökümü yapmak istiyorsanız (örn. MySQL), text tablosundaki old_text alanının türünün mediumblob olduğundan emin olun. Karakter kodlaması sorunlarını önlemek için mediumtext.

MediaWiki sürümleri:
1.5 – 1.35

MediaWiki 1.5 veya daha yeni bir sürümden 1.35'e yükseltme yapıyorsanız, eski sürümünüzden en son kararlı sürüme yükseltme yapabilirsiniz. Raporların büyük çoğunluğu ve otomatik test, tek adımda yapmanın gayet iyi çalıştığını gösterir. Buna inanmakta güçlük çekiyorsanız, bu posta gönderme listesini okuyun. Bununla birlikte, eski sürümlerden güncelleme yaptığınızda, PHP hatalarıyla karşılaşma olasılığının, doğrudan yeni sürüme önceki sürümden yükselttiğinizden daha büyük olduğunu lütfen unutmayın. Sürümleri atlamamış olsaydınız, yine de bu hataları alırdınız, ancak hatalar her bir güncellemeyle ilişkilendirilirdi. Bunun yerine, birkaç sürümü aynı anda güncellerseniz, aynı anda aynı hata grubunu alırsınız. Bu, yükseltmeyi daha zor hale getirecektir, ancak atladığınız ara sürümleri güncelleme konusunda sorun yaşamadığınızı unutmayın!

MediaWiki sürümü:
1.35

MediaWiki 1.36 veya daha yenisine yükseltiyorsanız, yalnızca son iki LTS sürümünden yükseltmeler desteklenecektir (phab:T259771). Bu, çok eski sürümler için önce MediaWiki 1.35'e yükseltmeniz ve ardından 1.36'ya yükseltmeniz anlamına gelir.

Önce yedek almalı mıyım?

Kısa cevap: Evet.

Uzun cevap: Bu a) verilerinize ne kadar değer verdiğinize, b) yedek oluşturmanın ne kadar zor olduğuna ve c) MySQL'in bakımı ve yönetiminden ne kadar emin olduğunuza bağlıdır.

Güncelleme hatası, veritabanınızı iki sürüm arasında tutarsız bir durumda bırakabilir. Bir PHP veya MySQL hatası, güncelleme sırasında veritabanınızı kısmen güncellemiş olabilir. Bu gibi bir durumlarda, bu sorunu elle bir şekilde düzeltmek mümkün olabilir. Bununla birlikte, update.php ile çalıştırmadan önce bir veritabanı yedeklemesini almak ve bundan sonra çalışmayı sürdürmek daha kolay olacaktır. Aksi halde, saatlerce gereksiz yere uğraşmak zorunda kalabilirsiniz.

Kurtarma işlemi genellikle karmaşıktır. Eğer güncelleme işlemine başlamadan önce bir yedekleme yapmayı ihmal ederseniz ve ardından güncellemeye ilişkin hatadan kurtulmak için yardıma ihtiyacınız olursa; destek forumundaki gönüllüler bu konuda yardım etmek için pek istekli olmayacaklardır. Daha iyi bir sonuç, yedeğinize geri dönebilmeniz ve ardından yükseltme sürecinde bozulmaya neden olan hatayı ilgili MediaWiki projesine karşı rapor etmeniz olacaktır.

LocalSettings.php dosyamı saklayabilir miyim?

Evet, ancak küçük değişiklikler yapmak zorunda kalabilirsiniz. LocalSettings.php biçimi büyük ölçüde geriye dönük olarak uyumludur. LocalSettings.php uyumluluğunu bozan değişiklikler, sürüm notlarının "yapılandırma değişiklikleri" bölümünde belirtilmiştir.

Viki sayfam güncellenirken çevrimiçi kalabilir mi?

Genellikle evet, ancak Git geçici olarak (birkaç saniye boyunca) kesilebilir.

Eğer MediaWiki'nin küçük sürümleri arasında güncelleme yapıyorsanız, yapmanız gereken tek şey kaynak dosyalarını güncellemektir.

Not: Aşağıda, komut satırına erişiminiz olduğu varsayılmaktadır. Eğer MediaWiki'nin büyük sürümleri arasında yükseltme yapıyorsanız, tercih edilen prosedür aşağıdaki gibidir:

  1. MediaWiki'nin yeni sürümünü yeni bir dizine açın
  2. Yeni dizini hazırlayın: geçerli LocalSettings.php'nizi eski dizinden kopyalayın, yüklü uzantıları ve özel kaplamaları (varsa) kopyalayın. LocalSettings.php içindeki $wgLogo ve $wgLogos ayarlarını kontrol edin ve gerekirse logo dosyasını eski dizinden yeni dizine kopyalayın.
  3. Yeni sürümün sürüm notlarında LocalSettings.php üzerinde herhangi bir değişiklik yapılması gerekip gerekmediğine bakın.
  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.41.1';
  5. Yeni dizindeki betik güncelleme veya web güncelleyiciyi çalıştırın.
  6. Görüntüler alt dizinindeki görüntüleri eski dizinden yeni dizine kopyalayın.
  7. Eski dizini ve yeni dizini değiştirin. (This will make the database writable again, because $wgReadOnly was only set in the old directory's LocalSettings.php.)

Neden güncelleme?

Yeni sürümler hakkında bilgilendirilmek için mediawiki-announce listesine abone olunuz.

Yeni sürümler, vikinizi ve sunucunuzu vandalizmden korumak için güvenlik düzeltmelerini içerir. (bkz. Sürüm yaşam döngüsü ). Bu güncelleme yapmanız için iyi bir sebeptir!

Yeni büyük sürümler, kullanmak isteyebileceğiniz yeni özelliklerle birlikte gelir: ayrıntılar için sürüm notlarına bakın. Patronlarınızı oldukça eski bir sürümden yükseltmenize izin vermeye ikna etmek için ek argümanlara ihtiyacınız varsa, işte bir özet:

Ayrıca bakınız