Bu yazıda; bildiğimiz açık kaynaklı wordpress blog uygulamasını, hem multisite (blogger.com veya blogcu.com gibi, tek sunucuda, tek kurulumda ve tek veritabanında çok sayıda blog) olarak kullanma hem de kullanıcı yetkilendirmesini LDAP'a yönlendirme anlatılacaktır.
Aşağıdaki sürüm ve yapılandırmaları sanal işletim sistemi (Proxmox üzerinde VZ kullanarak) üzerinde birebir iki kere deneyerek kontrol ettim, tamamı çalışıyordu. Ancak uygulama sırasında farklı sorunlar çıkabilir, mesuliyet kabul etmem. Bu yazıdaki amacım, satır satır uygulandığında çalışan bir sistem kurdurmak değil, üniversite için uygun bir kişisel web sunucusu konusunda çalışmak yapmaktır. Farklı tipte uygulamalar da olabilir. Fikir veren olursa, şimdiden teşekkür ederim.
Kullanılan (tümü açık kaynaklı) yazılımlar:
- Debian GNU/Linux Squeeze (6.0)
- WordPress-3.0.5-tr
- WordPress için LDAP eklentisi: Simple LDAP Authentication v1.0.4 (by RedGecko)
- OpenLDAP 2.4.23-7
- Apache 2.2.16-6
- PHP 5.3.3-7
- MySQL 5.1.49-3
- phpLDAPadmin 1.2.0.5-2
Temel kurulumlar:
- Normal WordPress kurulumunu yap.
- OpenLDAP ve saz arkadaşlarını kur:
aptitude install slapd ldap-utils phpldapadmin - LDAP üzerinde kullanıcılarını aç. İstersen konsoldan ldif dosyası kullan, istersen phpLDAPadmin kullan.
- LDAP'ın kimlik doğrulama işini yapıp yapamadığını test et:
ldapsearch -x -W -D 'uid=murat.ozalp,ou=personel,dc=bilecik,dc=edu,dc=tr' -b "" -s base
İnce ayarlar:
- WordPress'i LDAP'a yönlendir. Simple LDAP Authentication eklentisi bu WP sürümünde çalıştı. Bunun haricinde 3-5 tane daha denedim, çalıştıramadım. Başka bir tarayıcıdan login olarak LDAP yetkilendirmesinin çalışıp çalışmadığını dene. Eklentiyi tekrar devredışı bırak. Aşağıda yeniden etkinleştireceğiz.
- WordPress'i multisite haline getir. (Kaynak: http://codex.wordpress.org/Create_A_Network) Burada .htaccess dosyası kullanırsan, Apache yapılandırmasında "AllowOverride" None kısmını "AllowOverride ALL" olarak düzenle.
- Simple LDAP Authentication eklentisini etkinleştir. Ağ olarak etkinleştirme ama, sadece "etkinleştir" seçeneğini kullan.
Kullanım:
- WP üzerinde yeni bir site açıldığında, buna dair kullanıcıyı otomatik olarak oluşturuyor zaten. LDAP'taki kullanıcılarla eşleştirmek için iki yol var:
- Aynı isimde kullanıcıyı LDAP'ta da açmak
- LDAP'taki kullanıcı adının aynısını WP üzerinde de açmak. Eğer WP'de yeni kullanıcı açarsan, ilgili siteye erişim yetkilerini vermeyi unutma.
- WP login sayfasında, kullanıcı adı ve parola ikilisi önce LDAP'a gönderiliyor.
- LDAP olumlu yanıt verirse, WP'de tanımlanan yetkilerine göre doğrudan içeri alınıyor.
- LDAP olumsuz yanıt verirse, bu durumda WP kendi üzerindeki kullanıcı veritabanına (mysql) bakıyor. Buradaki parola uyarsa yine içeri alıyor. Yani bir kullanıcının iki farklı parolası (LDAP & WP) olabilir.
- Bizim sistemde kullanıcı adları murat.ozalp şeklinde. WP üzerinde de subdir biçiminde noktalı isimlere izin vermiyor, murat-ozalp şeklinde açılıyor. Benzeri uygulamalar için ya bir dönüştürme betiği gibi birşey yazılabilir veya her bir kullanıcı açıldığında yeniden ayar çekmek gerekebilir.
- Simple LDAP Authentication seçeneklerinde, "Automatically create accounts for any…" diye bir seçenek var. Bu seçenek işaretlenirse, LDAP üzerinde kayıtlı olan bir kullanıcı oturum açmak istediğinde, bu kullanıcı WP'de kaytılı olmasa bile bu isimde bir hesap oluşturuluyor.
- LDAP üzerinde gruplar ayarlanmışsa, Simple LDAP Authentication seçeneklerindeki "Role Equivalent Groups" kullanılarak; LDAP üzerindeki gruplar, WP üzerindeki yetki tipleri ile eşleştirilebilir. Denemedim.
Şimdilik bukadar. Daha detaylı satır satır komutlarla anlatılan bir PDF hazırlığı var. Meraklıları takip edebilir.
Ekleme (20.05.2011): PDF'ten bahsetmiştim. Çok detaylı olmada da hazırladım sonunda. Şu adresten indirilebilir:
http://web.bilecik.edu.tr/murat-ozalp/files/2011/05/Murat-Özalp-Sunu-s2.pdf
Yorumu formunu geç ↓
1907
24 Mayıs 2011, 08:08 (UTC 2) Bu yoruma bağlantı
çok teşekkürler hocam kaç gündür arıyordum
murat
10 Ağustos 2011, 20:02 (UTC 2) Bu yoruma bağlantı
Çok teşekkürler engin bilgileriniz için..
Serdar
12 Ağustos 2011, 21:48 (UTC 2) Bu yoruma bağlantı
Hocam gerçekten harikasınız elinize sağlık
Mert
12 Ağustos 2011, 22:27 (UTC 2) Bu yoruma bağlantı
tam aradığım bir mevzuydu. teşekkür ederim.
seo
19 Ağustos 2011, 14:47 (UTC 2) Bu yoruma bağlantı
tam aradığım konuydu teşekkürler hocam
selçuk erdem
23 Ağustos 2011, 14:17 (UTC 2) Bu yoruma bağlantı
Ellerinize Sağlık. Güzel anlatım…
Hasan Hüseyin Çakır
10 Kasım 2011, 20:41 (UTC 2) Bu yoruma bağlantı
anlatım çok iyi olmuş, elinize sağlık
Osman
09 Aralık 2011, 13:42 (UTC 2) Bu yoruma bağlantı
Sade anlaşılır ve güzel anlatım olmuş.
Mehmet Ali SAMLI
14 Ocak 2012, 00:45 (UTC 2) Bu yoruma bağlantı
Konu çok güzel bir dille, anlaşılır şekilde hazırlanmış, teşekkürler…
Havai Fişek
17 Ocak 2012, 12:41 (UTC 2) Bu yoruma bağlantı
LDAP ile WordPress çoklu site kurmakta zorlanmıştım baya ama sayenizde sıkıntımı giderdim. Çoook teşekkürler.
ahmet
25 Şubat 2012, 20:40 (UTC 2) Bu yoruma bağlantı
Ellerinize sağlık…
ekrem
27 Nisan 2012, 00:19 (UTC 2) Bu yoruma bağlantı
Yazınızda bahsetmiş olduğunuz daha detaylı anlatımı sabırsızlıkla bekliyorum. Elinize sağlık gerçekten çok emek vermişssiniz.
Murat Özalp
27 Nisan 2012, 05:25 (UTC 2) Bu yoruma bağlantı
Çok detaylı olmasa da bir belge hazırlayıp yazının sonuna eklemiştim zaten. İlginiz için teşekkür ederim.
kenan
29 Aralık 2012, 08:13 (UTC 2) Bu yoruma bağlantı
selamlar murat bey, ben LDAP siz kurdum çalışıyor ama eklenen sitelerin yönetim paneline girmiyor kırık döngüye girdiğini söylüyor neden olabilir acaba link aşağıda http://web.alparslan.edu.tr/kenan/wp-admin/
Murat Özalp
29 Aralık 2012, 09:13 (UTC 2) Bu yoruma bağlantı
Sizin WP'de CSS klasörleriniş de bulamıyor sanırım. Adresin sonundaki wp-admin kısmını silince, sayfa geliyor ama CSS yüklenemediği için tasarım kötü geliyor. WP'yi indirdiktren sonra zip içinden .htaccess isminde bir dosya da çıkması lazım. Siz WP klasörünü web klasörüne taşırken bu dosyayı atlamış olabilir misiniz? "." ile başladığı için gizli dosyadır ve ben neredeyse her seferinde unuturum bunu da taşımayı.
kenan
29 Aralık 2012, 11:29 (UTC 2) Bu yoruma bağlantı
evet .htaccess dosyasını hatta düzenledim şimdi sorunu buldum kurarken .htaccess için verdiği kodu ben eklemiştim oysa tamamen değiştirmek gerekiyormuş murat bey çok Teşekkür ediyorum.
İsmail Savran
06 Şubat 2013, 13:49 (UTC 2) Bu yoruma bağlantı
Yorumunuz…Yazı güzel olmuş. Daha öncede okumuştum ama kullanmak bugüne nasipmiş. Başarılar, devamını bekleriz.
İsmail Savran
06 Şubat 2013, 13:51 (UTC 2) Bu yoruma bağlantı
Yorumunuz…Ayrıca Bütün alt blogları Ana Blog sayfasında nasıl gösterebilirim. "Latest Sites/Blogs" yada "Newest Sites/Blogs"gibi :).
Murat Özalp
06 Şubat 2013, 15:29 (UTC 2) Bu yoruma bağlantı
Bunun için eklenti kullanmışız biz. Çok oldu kuralı, pek hatırlamıyorum. Hatırlamak için baktığımda, şu widget'ları eklediğimizi gördüm: 1. Diamond Bloglist 2. Diamond Recent Posts http://web.bilecik.edu.tr adresi bizim ana blog adresimiz. Bu sayfadaki "aktif bloglar" ve "son yazılar" kısmı dinamik olarak alt bloglardan toplanıyor. Bunu yapan da yukarıda belirttiğim widget'lar. Kurmanıza sevindim. Güzel bir araç. İlginiz için de ayrıca teşekkür ederim.
Paylaşım Alemi
17 Şubat 2013, 01:35 (UTC 2) Bu yoruma bağlantı
Çok teşekkürler.Güzel paylasimuz…
SEO
23 Kasım 2013, 14:45 (UTC 2) Bu yoruma bağlantı
Gerçektende faydalı bir yazı olmuş ilk okuduğumda anlayamadım ama bir daha üzerinden geçince net olarak anlatılmak istenilenleri anladım. Sayfanızı sık kullanılanlara ekledim sizi takip etmeye devam edeceğim. Böyle güzel makalelerinizin devamını dilerim. Elinize sağlık.
Anonim
10 Nisan 2015, 15:46 (UTC 2) Bu yoruma bağlantı
teşekkür ederim hocam