OpenLDAP

OpenLDAP, LDAP (Lightweight Directory Access Protocol) ‘ın OpenLDAP Project tarafından geliştirilmiş bir uygulamasıdır. OpenLDAP Kamu Lisansı olarak bilinen BSD-türevi bir lisans kullanmaktadır. Platform bağımsız bir protokoldür. Kullanımda olan birçok Linux dağıtımı, LDAP desteği için OpenLDAP yazılımını barındırır. OpenLDAP, BSD dışında , AIX, HP-UX, Mac OS X, Solaris, Microsoft Windows ve z/OS gibi sistemlerde de çalışabilir.

Proje Gelişimi ve Çekirdek Kadro 
OpenLDAP projesi, Kurt Zeilenga tarafından 1998 yılında başlatıldı. Proje, University Of Michigan ‘ın yayınladığı LDAP referans kaynağını kullanılarak başladı. Proje geliştikçe, LDAP protokolünün gelişimi ve evrimine de katkısı oldu. 
2006 Nisan ‘ında çekirdek takımı 3 kişiden oluşuyordu;
 Howard Chu (Chief Architect)
 Pierangelo Masarati
 and Kurt Zeilenga
Daha sonra, Luke Howard, Hallvard Furuseth, Quanah Gibson-Mount, and Gavin Henry gibi birçok geliştirici ve gönüllü projeye katıldı.

OpenLDAP Bileşenleri 
Openldap 3 ana bileşene sahiptir;
 slapd
 LDAP kütüphaneleri
 İstemci yazılımı: ldapsearch, ldapadd, ldapdelete vb...
Ek olarak birçok yardımcı projeye sahiptir.
 JLDAP – LDAP : Java için sınıf kütüphaneleri
 JDBC-LDAP - Java JDBC - LDAP köprü sürücüsü
 ldapc++ - LDAP C++ sınıf kütüphaneleri

Arka plan

Genel kavram 
Tarihsel olarak OpenLDAP server mimarisi ikiye ayrılır. Ağ erişimi ve protokolün işlenmesinden oluşan bir “önplan” ve tam anlamıyla bir veri depolama ile ilgilenen “arka plan”. Bu mimari, modülerlik, değişik arka planlar ve arayüz hazırlamaya imkân tanır.

Kullanılabilir Arka planlar 
Openldap ta standart olarak 16 farklı arka plan sağlanmıştır. Ve bağımsız olarak geliştirilen üçüncü parti arka planlar olduğu bilinmektedir. Kategorilenmiş olarak aşağıdaki gibidir.

Veri deoplama arka planları;
 back-bdb: Berkeley üniversitesi tarafından geliştirilmiş ilk arka plandır.
 back-hdb: subtree renames desteği getirilmiş halidir.
 back-ldif: LDIF dosyaları üstüne inşa edilmiştir.
 back-ndb: MYSQL’in NDB cluster engine üstüne yapılmıştır.
Proxy arka planları;
 back-ldap: diğer LDAP sunucular için temel proxy
 back-meta: meta-directory özellikli proxy
 back-passwd: Unix sistemlerinin passwd ve grup verileri için kullanılan proxy
 back-relay: diğer slapd arka planlarına yönlendirme
 back-sql: SQL veritabanları için
Dinamik arka planlar;
 back-config: LDAP üzerinden slapd düzeni
 back-dnssrv: DNS üzerinde LDAP sunucuları yerleştirme
 back-monitor: LDAP üzerinden slapd iştatistikleri
 back-null: Unix /dev/null analizi
 back-perl: LDAP isteklerinde peel başvurusu
 back-shell: LDAP isteklerine Shell betikleri başvurusu
 back-sock: LDAP isteklerin IPC ‘ye yönlendirme

back-perl, back-tcl, back-ldbm gibi bazı arka planlar şu anda kullanımda olmayan openldap versyonlarındada çalışabilmektedir.
Pratikte -perl, -shell, and –sock gibi arka planlar, kabiliyete bağlı olarak diğer programlama dillerine arayüz sağlayabilir.

Yerleşim

Yerleşim Anlayışı 
Normalde bir LDAP isteği önplandan alınır ve çözümlenir. Ardından işleme için arka plana iletilir. Arka planda istek tamamlandığında sonuç önplana veya istemciye iletilir. Önplan ile arka plan arasına bir takım kodlar sıkıştırılmıştır. Bu da kesmelere ve tetiklemelere cevap vermeye olanak tanır.

Kullanılabilir Yerleşimler 
Openldap ‘ta öntanımlı olarak 20 tane yerleşim vardır. Ayrıca katkıcıların geliştirdiği 10 tane daha katkı yerleşimi vardır.
Çekirdeğe eklenmiş öntanımlı yerleşimler: 
 accesslog: LDAP veritabanındaki log sunucusu aktivitesi
 auditlog: flat metin dosyası üstündeki log sunucusu aktivitesi
 chain: belirsizliği zincirleyip önleme
 collect: X.500 gerçekleştirimi
 constraint: değer kısıtlama
 dds: dinamik veri servisi
 deref: girdiler hakkında bilgi
 dyngroup: basit dinamik grup desteği
 dynlist: daha karışık dinamik grup desteği
 memberof: aynı özellikliler grubu desteği
 pcache: önbelleğe alınmış sorgu sonuçları
 ppolicy: LDAP parola kuralları
 refint: başvursal bütünlük
 retcode: önceden belirlenmiş çeşitli görevler tanımlama
 rwm: LDAP verileri için yeni yazım
 seqmod: girdiler için serileştirme
 syncprov: Syncrepl sağlayıcı
 translucent: yarı transparan veri arttırımı
 unique: verileri benzersizleştirme
 valsort: özellikler için sıralama
Katkıcılardan gelen yerleşimler: 
 addpartial: istek ekleme ve ayarlama
 allop: tüm özellikleri geri döndürme
 autogroup: sabit grupları dinamik yönetme
 denyop: ayarlanmış isteklerin iptali
 lastmod: en son ayarlanmış duruma alma
 nops: gereksiz ayarları filtreleme
 nssov: slapd ‘den direkt olarak NSS isteklerine cevap verme
 proxyOld: kesin kodlama desteği
 smbk5pwd: Samba ve Kerberos parola korunumu
 trace: Tüm LDAP istek ve tepkilerini kayıtlama

Openldap, aynı zamanda Sun and Netscape/Fedora/RedHat mimarisini kullanan SLAPI ‘ yi de desteklemektedir.

Dış bağlantılar 
 LDAP yazılımları listesi
 OpenLDAP Resmi web sitesi
 The OpenLDAP Projesi
 The OpenLDAP Krumu
 OpenLDAP Yazılımı
 OpenLDAP Kamu Lisansı
 Using libldap, OpenLDAP istemci API 'si rehberi
 An OpenLDAP Update Marty Heyman makalesi

Bilgisayar
Özgür yazılım
Yazılım