Manual:Yükseltme

From mediawiki.org
Jump to navigation Jump to search
This page is a translated version of the page Manual:Upgrading and the translation is 100% complete.

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

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

  • PHP 7.4.9+
  • ve aşağıdakilerden biri:
    • MySQL 5.5.8+ (veya eşdeğer MariaDB)
    • PostgreSQL 9.2+
    • SQLite 3.8+

Sürüm 1.36'dan bu yana, MediaWiki yalnızca iki LTS sürümünden önceki yükseltmeleri desteklemeyi taahhüt eder (phab:T259771 sayfasına bakın). MediaWiki'nin eski sürümlerinden yükseltmelerin birden çok adımda gerçekleştirilmesi gerekecektir. Bu, 1.23'ten veya önceki sürümlerden 1.36'ya yükseltmek istiyorsanız, öncelikle 1.23 vikinizi 1.27'ye (veya 1.35'e) yükseltmeniz gerekeceği ve 1.27'den (veya 1.35'ten) 1.36'ya yükseltebileceğiniz anlamına gelir.

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:Installation requirements 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.36/mediawiki-1.36.1.tar.gz tar -xvzf mediawiki-1.36.1.tar.gz rm mediawiki-1.36.1.tar.gz

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

$ gzip -dc mediawiki-1.36.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 örneğine 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.

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.

MediaWiki sürümü:
1.18

Eğer profil kullanmıyorsanız, ancak MediaWiki kök klasörünüzde bir StartProfiler.php dosyası varsa, /includes/Profiler.php bağlı hataları alabilirsiniz. StartProfiler.php dosyasının silinmesi veya yeniden adlandırılması bu hatayı çözer. MediaWiki kök klasöründe bulunan StartProfiler.sample dosyası gelecekte profil oluşturmayı etkinleştirmeniz durumunda bir şablon görevi görebilir.

MediaWiki sürümü:
1.23

MediaWiki 1.23 temel görünüm dosyalarının otomatik görünüm bulma mekanizmasını kaldırır. Bu sürüme yükselttikten sonra, doğrudan skins/ dizinindeki Chick.php, Nostalgia.php, Simple.php ve Standard.php eski dosyalarının yanı sıra skins/ dizinindeki ilgili alt klasörlerin kaldırıldığından emin olmalısınız. MediaWiki, hatırlamanıza yardımcı olacak herhangi biri hala bulunursa uyarıları kaydeder. (Benzer bir kurala uymak için özel kaplamaları da ayarlamanız gerekir.) Ayrıntılar için Manual:Skin autodiscovery bölümüne bakın.

MediaWiki sürümü:
1.24

MediaWiki 1.24 çekirdek kabuk dosyalarının yollarını değiştirdi. Bu sürüme geçtikten sonra, eski CologneBlue.php, Modern.php, MonoBook.php ve Vector.php dosyalarının doğrudan skins/ dizininde artık bulunmadığından emin olmanız gerekir.

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'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'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.

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 maintenance dizinine geçin ve betik güncellemesini komutunu yürütün:

$ php update.php

Bir Linux sunucusunda hata alırsanız root (sudo php update.php) 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.

PHP sürümünüzün çok eski olduğunu ve MediaWiki'nin daha yeni bir sürüme ihtiyacı olduğunu belirten bir mesaj görebilirsiniz. Bu mesajdan sonra güncelleme iptal edilir. Bu hatanın nedeni, komut satırının, web sunucusundan MediaWiki'yi çalıştırdığınızda sahip olduğunuzdan farklı bir PHP sürümü kullanabilmesidir. Bu mesajı aldığınızda, farklı bir komut kullanarak kabukta daha yeni bir PHP sürümünü çalıştırıp çalıştıramayacağınızı kontrol etmelisiniz: Bu, ör. php5 veya php56 olabilir. Başka bir sürüm varsa ve öyleyse, hangi ad altında, sunucunuzun kurulumuna bağlıdır. İşe yaramazsa, sunucunuza sorun; mutlaka bilecekler.

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.

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)
  • Başarısız olanı bulmak için update.php çalışana kadar uzantıları yerel ayarlarda tek tek yorumlayı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.

"Beklenmeyen T_STRING" hatası durumunda ne yapmalı

Komut satırından update.php çalıştıran kişiler aşağıdaki hatayla karşılaşabilir:

syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' \
in ~/maintenance/commandLine.inc on line 13

Bu hata, update.php php4'ten çalıştırıldığında oluşur.

Sitelerini hem php4 hem de php5 sağlayan sağlayıcılar tarafından barındırılan kişiler aşağıdaki adımları atmalıdır:

  1. komut satırından 'whereis php5' komutunu girin
  2. php5 yolunun yerini belirledikten sonra php5/bin dizininin içeriğini listeleyin
  3. php yürütülebilir dosyasının adını (php veya php5) belirledikten sonra, update.php dosyasını yürütmek için tüm yolu yazın

Aşağıda bir örnek verilmiştir:

$ command -v php5
$ ls -la /usr/local/php5/bin
$ /usr/local/php5/bin/php update.php

= '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/ gidin. Örneğin, vikiniz http://example.org/w/index.php adresindeyse http://example.org/w/mw-config/ adresine gidin.
  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ı 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.35.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ı?

Bu duruma göre değişir: MediaWiki 1.4 veya daha eski bir sürümden yükseltme yapıyorsanız, önce MediaWiki 1.5 sürümüne geçmelisiniz. Latin-1 vikiden yükseltme yapıyorsanız, veritabanının ilgili bölümlerini UTF-8'e dönüştürmek için upgrade1_5.php (MediaWiki 1.5'te bulunur) kullanın ve bunun çalışması için LocalSettings.php ayarlarınızda $wgUseLatin1 değerinin true olarak ayarlanması gerekir. Ardından update.php dosyasını çalıştırın ve LocalSettings.php dosyasındaki $wgLegacyEncoding seçeneğini daha önce wiki tarafından kullanılan kodlamaya ayarlayın (örn. Windows-1252). Temel olarak Wikipedia ve diğer Wikimedia Foundation siteleri MediaWiki 1.4'ten 1.5'e yükseltildi - ilgili ayarlar dosyasına (uyarı: büyük sayfa!) Ve bazı Wikitech'teki ilgili notlara bakın. upgrade1.5 betiğini çalıştırmadan önce MediaWiki 1.4'e yükseltmeniz gerekebilir. 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 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 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. Eski dizindeki LocalSettings.php dosyasına aşağıdaki değişkeni ekleyerek veritabanını salt okunur moda getirin; kullanıcılar yükseltme işlemi sırasında düzenleme yapmaya çalışırlarsa bu iletiyi görürler:
    $wgReadOnly = 'Upgrading to MediaWiki 1.36.1';
  5. * Bu, güncelleme betiğin çalıştırılmasını da engelleyen MediaWiki 1.27'den beri çalışmıyor. MediaWiki 1.27 sürümünden bu yana geçici bir çözüm Manual:$wgReadOnly içinde bulunabilir. Ayrıca bkz. görev T151833.
  6. Yeni dizindeki betik güncelleme veya web güncelleyiciyi çalıştırın.
  7. Görüntüler alt dizinindeki görüntüleri eski dizinden yeni dizine kopyalayın.
  8. Eski dizini ve yeni dizini değiştirin.

Neden güncelleme?

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

Çünkü küçük bir adım atarak mevcut sürümünüzden en son sürüme geçmek genellikle çok kolaydır ve üstelik bunu web arayüzünü kullanarak yapabilirsiniz.

Yeni sürümler, vikinizi ve sunucunuzu vandalizmden korumak için güvenlik düzeltmelerini içerir. (bkz. Version lifecycle ). 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:

  • 1.5 sürümünden itibaren, değişiklikler farklı olarak kaydedilmeden önce önizleme yapılabilir.
  • 1.9 sürümünden itibaren, bir geri alma düğmesi mevcuttur.
  • 1.12 sürümünden itibaren, devriye gezisi Special:NewPages sayfasında çok daha kolaydır.
  • 1.13 sürümünden beri, dosyaları yeniden adlandırabilirsiniz (taşıyabilirsiniz).
  • 1.14 sürümünden beri, çifte yönlendirmeleri otomatik olarak düzeltebilirsiniz.
  • 1.16 sürümünden beri, InstantCommons kullanılabilir.
  • Uygun önbelleğe alma işlemine sahipseniz, 1.17 ResourceLoader sayfa yükleme hızlarını çok optimize ettiğinden.
  • 1.17 sürümünden itibaren, kategori sıralama mantığı geliştirildi (özellikle İngilizce olmayan harfler için); 1.21 sürümünden itibarense bu özellik 68 dile genişletildi.
  • 1.18 ve 1.19 sürümünden itibaren, tüm dillerdeki ve cinsiyetlerdeki kullanıcılar arayüz ve etkinlik günlükleri tarafından doğru bir şekilde kaydedilmektedir. (1.15 sürümün öncesinde, cinsiyet bilgisi yoktur).
  • 1.19 sürümünde kabuk sistemi; kendi kabuklarınızda mevcut kabuk parçalarını tekrar kullanmayı kolaylaştırmak için yeniden düzenlendi.
  • 1.20 sürümünden itibaren, farklar daha anlaşılır yapıdadır.
  • 1.21 ve 1.23 sürümlerinde, e-posta bildirimleri daha net ve daha öngörülebilir hale gelirken, wiki'niz daha etkili hale getirdi.
  • 1.22, sürümünden itibaren, vandalizme mücadele (devriye kontrolü) daha az zaman almaktadır.
  • 1.24 sürümünde, daha iyi güvenlik sağlamak için şifre deposu geliştirildi.
  • 1.25 sürümünden beri, geliştirilmiş son değişiklikler mevcuttur
  • 1.26 sürümünde, "ResourceLoader" mekanizması geliştirildi.
  • 1.27 sürümünde, oturum yönetimi ve kullanıcı kimlik doğrulama yönetimi tamamen modernize edildi. InstantCommons artık yerel dosyalar gerektirmez.
  • 1.28 sürümünden beri, madde sayfalarının işlenmiş HTML önbelleği iyileştirildi.
  • 1.29 sürümünden itibaren, Action API'sı yeniden çalışıldı ve geliştirildi. Ayrıca kullanıcı grubu atamaları belirli bir süre için seçilebilir yapıldı. IP aralığını engellemeye izin verin.

1.30 sürümünden beri, engellenen kullanıcılar e-postalarını değiştiremez. Special:Contributions sayfasında bir IP aralığında katkı arama yeteneği eklendi.

  • 1.31 sürümünden bu yana, OATHAuth , MultimediaViewer , Nuke gibi bazı uzantılar artık çekirdeğin bir parçası. Skin:Timeless tanıtıldı. Tüm kullanıcılar için 90 düzenleme/dakikalık varsayılan düzenleme hızı sınırı ekleyin.
  • MediaWiki 1.32 sürümünden beri 350 üzerinde dili desteklemektedir.
  • MediaWiki, 1.33 sürümünden beri, IP'lerin ve hesapların belirli sayfaları veya ad alanlarını düzenlemesinin kısıtlanabileceği "kısmi engelleri" destekler.
  • 1.34 sürümünden beri, daha fazla uzantı çekirdeğin bir parçası: Scribunto (Lua modülleri için), TextExtracts , PageImages .
  • 1.35 sürümünden beri (uzun vadeli istikrarlı bir destek sürümü), VisualEditor çekirdeğin bir parçasıdır. "İzle" özelliği, bitiş tarihleriyle geliştirilebilir.

Ayrıca, MediaWiki 1.18 sürümünde, daha iyi bir editör ve anti-vandalizm araçları olan ConfirmEdit ve Nuke gibi bazı çok önemli eklentileri paketlemeye başladık; daha sonraki sürümlerde bu eklentilerden daha fazla eklenmiştir.

Ayrıca bakınız