WordPress Mediawiki Entegrasyonu

Nette bununla ilgili kaynak çok az ya da çok eski. mudadost.org‘a Mediawiki eklemek istediğimde işte bu sorunlarla karşılaştım. Ama sonunda bununla ilgili bulduğum eski birkaç yazı bu sorunu çözmeme yardımcı oldu. Halihazırdaki wordpress pluginleri de ihtiyacı karşılamakta yetersiz kalıyor. Bir tanesi vardı ama o da ücretli.

Temelde Mediawiki AuthPlugin’ini kullanıyorsunuz. WordPress tarafında hiçbir şey yapmıyorsunuz. PHP gurusu sayılmam; o yüzden yanlış yaptığım birşey varsa yorumlarla seslenin hemen.

Kullandığım WordPress versiyonu: 3.3.2; Mediawiki versiyonu da: 1.19.0.

Öncelikle wiki (WordPress ana klasörünün hemen içine yani) klasörüne Mediawiki’nin normal kurulumunu gerçekleştiriyorsunuz. Sonra buradan AuthWordpress.php’yi indiriyorsunuz:
AuthWordpress.php

Bu dosyayı da Mediawiki extensions klasörünün içine atıyorsunuz:

wiki/extensions/AuthWordpress.php

Dosyada ufak bir değişiklik yapmanız gerekiyor. Çünkü Mediawiki AuthPlugin.php’yi AuthWordpress.php ile aynı klasörde gibi düşünüp çağırmayı deniyor. Ama extensions içinde değil includes içinde dosya. O yüzden bu kodu:

require_once('AuthPlugin.php');

Bununla değiştirmelisiniz:

require_once('includes/AuthPlugin.php');

Ardından da MediaWiki LocalSettings.php dosyasına şu kodları eklemelisiniz.

require_once( 'extensions/AuthWordpress.php' );
$wgAuth = new AuthWordpress();
$wgAuth->setAuthWordpressTablePrefix('wp_'); // wp-config.php'deki db önekiyle uyuşmalı
$wgAuth->setAuthWordpressDBServer ('localhost'); // wordpress host (örnek: localhost)
$wgAuth->setAuthWordpressDBName('DB_ADI'); // wordpress database
$wgAuth->setAuthWordpressUser('DB_KULLANICI_ADI'); // wordpress db kullanıcı adı
$wgAuth->setAuthWordpressPassword('DB_PAROLASI'); // wordpress db parolası

Yukarıdaki bilgilerin wp-config.php’dekilerle aynı olduğuna emin olun.

Mediawiki’den kayıt olunmasını engellemek için aşağıdaki kodu da LocalSettings.php’ye ekleyin. Sonuçta giriş için WordPress kullanıcı bilgilerini kullacaksınız.

$wgGroupPermissions['*']['createaccount'] = false;

Mediawiki .htaccess dosyası da aşağıdaki gibi olmalı:

Options FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?title=$1 [L,QSA]

Hepsi bu kadar. Çalışan örneğini buradan görebilirsiniz: www.mudadost.org
Bir sorunla karşılaşırsanız yazın; birlikte çözelim.

  • Siteniz Çok güzel teşekkürler paylaşımlarınız için. Başarılar..