Sales6 min read1315 words

Ldap Nedir ? OpenLDAP Nedir ? OpenLDAP ile Multi Master Replikasyonu Nasıl Yapılır ?

Fatih Çevik

Fatih Çevik

PlusClouds Author

Cloud & SaaS

OpenLDAP Multi Master Replikasyonu Nasıl Yapılır?

تكوين تكرار OPENLDAP متعدد الأسياد



قبل أن نبدأ مقالتنا، دعونا نتحدث قليلاً عن المتطلبات.
  • جهازان افتراضيان على الأقل مُثبّتان بـ openLDAP. سنستخدم Debian 10 في هذه المقالة. يُنصح بشدة باستخدام نفس التوزيعة.
  • تم تثبيت خادم NTP وتشغيله بشكل متزامن على جميع الأجهزة الافتراضية التي سنستخدمها.

ما هو LDAP؟


بروتوكول الوصول إلى الدليل الخفيف ، أو LDAP (بروتوكول الوصول إلى الفهرس البسيط)، هو بروتوكول طبقة التطبيق المستخدم للاستعلام عن خدمات الفهرس وتعديلها أثناء تشغيلها عبر TCP/IP.

يُستخدم هذا البروتوكول بواسطة خوادم الفهرس مثل OpenLDAP وSun Directory Server وMicrosoft Active Directory. بدايةً، يُمكن القول إنه ذو بنية مشابهة لقاعدة البيانات، ولكن الفرق الرئيسي بينها وبين قواعد البيانات هو أنها ليست هرمية.

بروتوكول LDAP هو بروتوكول موجه للرسائل. هذا يعني أن العميل يُنشئ رسالة LDAP تحتوي على الطلب، ويرسلها إلى الخادم، الذي يُعالج الطلب ويُرسل الاستجابة الناتجة إلى العميل كرسالة LDAP واحدة أو أكثر.

لأن LDAP بروتوكول قائم على الرسائل، يمكن للعميل إرسال طلبات متعددة في آنٍ واحد. على سبيل المثال، يمكن للعميل إجراء بحثين في آنٍ واحد. هذه القدرة على إجراء عمليات متعددة في آنٍ واحد تجعل LDAP بروتوكولًا أكثر مرونة وكفاءة من HTTP والبروتوكولات المشابهة، التي لا تسمح بذلك.


ما هو OpenLDAP؟


OpenLDAP هو تطبيق لـ LDAP، طوّره مشروع OpenLDAP. يستخدم ترخيصًا مشتقًا من BSD يُعرف باسم ترخيص OpenLDAP العام. وهو بروتوكول مستقل عن النظام الأساسي. تتضمن العديد من توزيعات Linux الحالية برنامج OpenLDAP لدعم LDAP.


ما هو NTP؟


بروتوكول NTP هو نظام توزيع زمني متسلسل مع ميزة التكرار. تقيس خوارزمياته التأخيرات على كلٍّ من الشبكة والجهاز المستهدف. باستخدام هذه التقنيات، يُمكنه مزامنة الساعات لأقرب ميلي ثانية. تُضبط إعدادات بروتوكول NTP إما في ملف /etc/ntp.conf أو /etc/xntp.conf، حسب التوزيع المُستخدم.

تحتوي معظم ملفات ntp.conf الأساسية على اسمين للخادم: أحدهما للخادم الذي ترغب في ضبط الوقت عليه، والآخر لعنوان IP وهمي.
يُستخدم عنوان IP المُزيّف في حالة وجود مشاكل في الشبكة أو في حالة تعطل خادم NTP. سيعيد تطبيق NTP الخاص بالنظام ضبط ساعة النظام إلى خادم NTP البعيد بعد إعادة تشغيله. يعمل الخادم الأول كخادم رئيسي، بينما يعمل الثاني كخادم احتياطي. يجب أيضًا تحديد موقع ملف الوجهة. بمرور الوقت، سيتعلم NTP معدل الخطأ في ساعة النظام ويضبط نفسه وفقًا لذلك.



الآن يمكننا بدء التهيئة. قبل البدء، لنبدأ بتثبيت openldap.

apt -y install slapd ldap-utils

١. سنبدأ بإعداد خادم NTP. إذا لم تُهيأ خوادم NTP وتُزامن بنفس الإعداد على جميع الأجهزة التي سنستخدمها، فلن يحدث التكرار.
apt -y install ntp
الآن، سنقوم بتكوين خوادم NTP التي ثبّتناها للمزامنة مع بعضها البعض. في هذه المقالة، سنستخدم خوادم NTP الآسيوية.
nano /etc/ntp.conf
الخادم 0.asia.pool.ntp.org iburst
الخادم 1.asia.pool.ntp.org iburst
server 2.asia.pool.ntp.org iburst
server 3.asia.pool.ntp.org iburst
بعد تحرير ملف conf، نقوم بحفظه وإعادة تشغيل خدمة NTP.
/etc/init.d/ntp إعادة التشغيل
2. يجب على جميع مقدمي العروض أن يعرفوا بعضهم البعض

يجب أن تتعرف جميع الخوادم التي نستخدمها على بعضها البعض وتتواصل بسلاسة. يمكنك استخدام نظام أسماء النطاقات المحلي (DNS) إن وُجد. في مثالنا، بما أننا لا نملك خادم DNS، سنقوم بتكوين ملف المضيفين.
nano /etc/hosts
10.0.0.1 ldap1.master.com ldap1
10.0.0.2 ldap2.master.com ldap2
لا تنس أن جميع التكوينات التي سنقوم بها يجب أن تتم بشكل كامل على كافة الخوادم.
يمكنك تجربة ping الآن.

3. نحتاج إلى تعديل تكوين slapd الافتراضي.

يجب أن يحتوي ملف /etc/default/slapd على إدخالات تطابق أسماء مضيفات الخوادم. إذا لم تفعل ذلك، فمن المرجح أن تتلقى خطأً في العثور على تطابق في معرف الخادم/عنوان URL لـ read_config.
nano /etc/default/slapd
خدمات SLAPD="ldapi:/// ldap://ldap1.master.com"
nano /etc/default/slapd
خدمات SLAPD="ldapi:/// ldap://ldap2.master.com"
4. تكوين تكرار cn=config

أنصح بشدة بفتح ملف ldif جديد لكل خطوة. سيكون هذا مفيدًا جدًا لسهولة الاستخدام ومعرفة ما يفعله وما لا يفعله. أولًا، سنبدأ بتثبيت وحدة syncprov.
*nano syncprov.ldif*
dn: cn=module{0},cn=config
changetype: تعديل
إضافة: olcModuleLoad
olcModuleLoad: syncprov
ldapmodify -Y خارجي -H ldapi:/// -f syncprov.ldif
نضيف إعداداتنا إلى خادمنا باستخدام ldapmodify. تذكر، يجب اتباع نفس الخطوات على جميع الخوادم.

الآن، نحتاج إلى تهيئة قاعدة البيانات على جميع الخوادم للتكرار. غيّر قيمة olcServerID لكل خادم على حدة. على سبيل المثال، 1 للخادم الأول و2 للخادم الثاني.
nano olcserverID.ldif
dn: cn=config
changeType: تعديل
إضافة: olcServerID
معرف خادم olc: 1
بعد هذه الخطوة، ستحتاج إلى تعيين كلمة مرور، إن لم تكن قد فعلت ذلك بالفعل. يمكنك القيام بذلك باستخدام الأمر slappasswd.
ldappasswd
كلمة المرور الجديدة:
أعد إدخال كلمة المرور الجديدة:
{SSHA}Sg545Nmjhedxfdd5895fMRD6d4RcLkslkeD8
من الضروري تنفيذ هذه الخطوة على جميع الخوادم. حتى لو استخدمتَ كلمة مرور واحدة ، لا تنسخ المفتاح أبدًا ؛ افعل ذلك لكل خادم على حدة. الآن، أضف كلمة مرورك إلى ملف التكوين.
dn: cn=config
changeType: تعديل
dn: olcDatabase={0}config,cn=config
إضافة: olcRootPW
olcRootPW: {SSHA}Sg545Nmjhedxfdd5895fMRD6d4RcLkslkeD8

إذا اتبعت جميع الخطوات بشكل صحيح، يمكنك الاتصال بقاعدة البيانات باستخدام ldapmodify. إذا أدخلت كلمة مرور خاطئة، فستظهر لك رسالة خطأ. إذا أدخلتها بشكل صحيح وكانت تعمل بشكل صحيح، فلن يحدث شيء.


سنضيف الآن إعدادات التكرار لجميع الخوادم. سنفعل ذلك باستخدام قيم olcServerID التي حددناها سابقًا.

nano measure.ldif
dn: cn=config
changetype: تعديل
استبدال: olcServerID
olcServerID: 1 ldap://ldap1.master.com
olcServerID: 2 ldap://ldap2.master.com
ldapmodify -Y خارجي -H ldapi:/// -f olc.ldif

الآن سوف نقوم بإضافة تكوين syncprov إلى كافة الخوادم.

nano syncprovconf.ldif
dn: olcOverlay=syncprov، olcDatabase={0}config، cn=config
نوع التغيير: إضافة
objectClass: olcOverlayConfig
objectClass: olcSyncProvConfig
olcOverlay: syncprov
ldapmodify -Y خارجي -H ldapi:/// -f syncprovconf.ldif

الخطوة الأخيرة هي إضافة تكوين SyncRepl بين الخوادم.

nano syncrepl.ldif
dn: olcDatabase={0}config,cn=config
changetype: تعديل
إضافة: olcSyncRepl
olcSyncRepl: rid=001 provider=ldap://ldap1.master.com binddn="cn=admin,cn=config" bindmethod=simple credentials=*Your Password* searchbase="cn=config" type=refreshAndPersist retry="5 5 300 5" timeout=1
olcSyncRepl: rid=002 provider=ldap://ldap2.master.com binddn="cn=admin,cn=config" bindmethod=simple credentials=*Your Password* searchbase="cn=config" type=refreshAndPersist retry="5 5 300 5" timeout=1
-
إضافة: olcMirrorMode
وضع olcMirror: صحيح
ldapmodify -Y خارجي -H ldapi:/// -f syncrepl.ldif

إذا قمتَ بتكوين الخادم بشكل صحيح وكامل، يمكنكَ اختبار الاتصال بين الخوادم باستخدام أمر netstat. إذا لم يعمل، فعليكَ تثبيت خدمة net-tools.

apt -y install net-tools
بعد
netstat -a | egrep ":ldap"
tcp 0 0 0.0.0.0:ldap 0.0.0.0:* استماع
tcp 0 0 ldap.master.com:57116 ldap1.master.com:ldap تم التأسيس
tcp 0 0 ldap.master.com:ldap ldap1.master.com:35382 تم التأسيس
tcp 0 0 ldap.master.com:57120 ldap1.master.com:ldap تم التأسيس
tcp 0 0 ldap.master.com:ldap ldap1.master.com:35388 تم التأسيس
tcp6 0 0 [::]:ldap [::]:* استمع
يجب أن تحصل على إخراج مثل الموجود أعلاه إذا كان هناك اتصال.


ملاحظة: هذا لا يثبت أن التكرار يعمل؛ بل يظهر فقط أن الخوادم تتواصل مع بعضها البعض.

الآن حان وقت اختبار عمل التكرار. يمكننا القيام بذلك بإضافة مُعرِّف خادم olc مُزيَّف إلى ملف التكوين. سنتحقق من التكوين المُزيَّف الذي أضفناه من الجهاز الأول على الخادم الثاني. يُمكننا التحقق من ذلك بسهولة باستخدام أمر slapcat. نُنشئ ملف ldif التالي على ldap1 ونُحدِّث ملف التكوين.

نانو وهمية.ldif
dn: cn=config
changetype: تعديل
استبدال: olcServerID
olcServerID: 1 ldap://ldap1.master.com
olcServerID: 2 ldap://ldap2.master.com
olcServerID: 3 ldap://fake.ldap.com
ldapmofiy -Y EXTERNAL -H ldapi:/// -f fake.ldif

إذا كان التكرار يعمل، فسنرى العنوان المزيف على الخادم الثاني. نُشغّل الأمر التالي على خادم ldap2 ونفحص النتيجة.

slapcat -b "cn=config" > dump
تفريغ القطط | egrep "olcServerID"
olcServerID: 1 ldap://ldap1.master.com
olcServerID: 2 ldap://ldap2.master.com
olcServerID: 3 ldap://fake.ldap.com

إذا وجدنا العنوان المزيف، فهذا يعني اكتمال تهيئة cn=config. يمكننا الانتقال إلى الخطوة التالية، وهي تهيئة قاعدة البيانات الأخرى.


5. التكرار إلى قواعد بيانات أخرى

بما أننا نفّذنا تكرار الخادم في الخطوة السابقة، فإنّ تنفيذ الخطوات التالية على خادم واحد يكفي لتحديث الخوادم الأخرى. الآن، كما في السابق، سنضيف وحدة syncprov إلى قاعدة بيانات MDB.

نانو mdb.ldif
dn: olcOverlay=syncprov، olcDatabase={1}mdb، cn=config
نوع التغيير: إضافة
objectClass: olcOverlayConfig
objectClass: olcSyncProvConfig
olcOverlay: syncprov
ldapmodify -Y خارجي -H ldapi:/// -f mdb.ldif

الآن نضيف تكوين syncrepl.

nano syncrepl.ldif
nano dn:olcDatabase={1}mdb,cn=config
changetype: تعديل
إضافة: olcSyncRepl
olcSyncRepl: rid=003 provider=ldap://ldap1.master.com binddn="cn=admin,dc=master,dc=com" bindmethod=simple credentials=*Your Password* searchbase="dc=master,dc=com" type=refreshAndPersist interval=00:00:00:10 retry="5 5 300 5" timeout=1
olcSyncRepl: rid=004 provider=ldap://ldap2.master.com binddn="cn=admin,dc=master,dc=com" bindmethod=simple credentials=*Your Password* searchbase="dc=master,dc=com" type=refreshAndPersist interval=00:00:00:10 retry="5 5 300 5" timeout=1
ldapmodify -Y خارجي -H ldapi:/// -f syncrepl.ldif

الآن نقوم بإعداد الفهرس لـMDB.

nano indexmdb.ldif
dn: olcDatabase={1}mdb,cn=config
changetype: تعديل
إضافة: olcDbIndex
olcDbIndex: entryCSN eq
olcDbIndex: entryUUID eq
ldapmodify -Y خارجي -H ldapi:/// -f Indexmdb.ldif

إذا تم إكمال جميع الخطوات حتى هذه النقطة بشكل صحيح، فسيكون تكرار قاعدة بياناتك الرئيسية نشطًا على كلا الخادمين. للتحقق من تكرار قاعدة بيانات MDB بشكل صحيح، لنفتح ملف ldif، ونضيفه، ونتحقق منه على الخادم الآخر.

قاعدة نانو.ldif
dn:ou=الأشخاص، dc=الرئيسي، dc=com
objectClass:organizationUnit
أوو: الناس
dn: ou=Group,dc=master,dc=com
objectClass:organizationUnit
أوو:المجموعة
ldapadd -x -W -D "cn=admin,dc=master,dc=com" -f base.ldif

الآن، لننتقل إلى خادم ldap2 ونُشغّل أمر slapcat . إذا رأينا قيم المجموعة والأشخاص المُضافة حديثًا، فهذا يعني اكتمال عملية التكرار وبدء تشغيلها.

الأسئلة الشائعة

OpenLDAP multi-master replikasyonu nedir ve hangi önkoşullar gerekir?

Multi-master replikasyonu, birden fazla OpenLDAP sunucusunun veritabanını eş zamanlı olarak güncellediği yapıdır. En az iki OpenLDAP kurulu sanal makine ve hepsinde kurulu ve senkronize çalışan NTP sunucusu gereklidir; Debian 10 kullanılması şiddetle tavsiye edilir.

NTP konfigürasyonu neden bu kadar önemli ve nasıl uygulanır?

Zaman senkronizasyonu replikasyonun güvenilir çalışması için kritiktir; makineler aynı konfigürasyonda ve senkronize olmalıdır. NTP kurulumu için apt -y install ntp komutunu kullanıp /etc/ntp.conf dosyasını Asia pool ntp serverlarıyla düzenleyin ve ardından /etc/init.d/ntp restart ile servisi yeniden başlatın.

OpenLDAP kurulumunda temel adımlar nelerdir?

Önce slapd ve ldap-utils paketlerini kurun: apt -y install slapd ldap-utils. Daha sonra konfigürasyona geçmeden önce sizden kurulumun tamamlanması istenir ve sonraki adımlarda temel yapılandırma yapılır.

Syncprov modu nedir ve nasıl eklenir?

Syncprov, replikasyonu sağlayan bir modüldür. İlk olarak syncprov.ldif dosyası oluşturulur ve ldapmodify -Y EXTERNAL -H ldapi:/// -f syncprov.ldif komutuyla modüle yüklenir; bu işlem tüm sunucularda uygulanır.

OlcServerID nedir ve nasıl ayarlanır?

olcServerID, replikasyonda her sunucunun sahip olması gereken benzersiz bir kimlik bilgisidir; örnekte birinci sunucu için 1, ikinci için 2 değeri kullanılır. Her sunucu için ayrı olcServerID ldif dosyası hazırlanır ve uygun şekilde ldapmodify ile uygulanır; ayrıca her sunucuda kendi olcRootPW ile şifreler güvenli olarak ayarlanır.

Replikasyon için olc konfigürasyonu nasıl uygulanır ve hangi dosyalar kullanılır?

İlk olarak olcServerID değerleri belirlendikten sonra olc.ldif dosyasına sunucular arası bağlantılar eklenir ve ldapmodify -Y EXTERNAL -H ldapi:/// -f olc.ldif ile uygulanır. Ardından SyncProv konfigürasyonu için syncprovconf.ldif ve syncrepl.ldif dosyaları oluşturulup uygulanır; bu adımlar tamamlandığında sunucular arasındaki replikasyon yapılandırması tamamlanır.

MDB veritabanı için replikasyon adımları nelerdir ve nasıl test edilir?

MDB için syncprov modu MDB veritabanı için de eklenir (mdb.ldif) ve ardından syncrepl.ldif ile replikasyonlar konfigüre edilir; indexmdb.ldif ile MDB için index ayarları yapılır. Test etmek için base.ldif ile örnek veriler ekleyip diğer sunucuda slapcat ile kayıtların görünüp görünmediğini kontrol edin; bu, replikasyonun çalıştığını gösterir.

قراءة ذات صلة

المنشورات الموسومة بـ:

أفضل 11 قالب بريد إلكتروني لتوليد العملاء المحتملين بين الشركات (B2B)
Sales

أفضل 11 قالب بريد إلكتروني لتوليد العملاء المحتملين بين الشركات (B2B)

يظل البريد الإلكتروني البارد واحدًا من أكثر القنوات عائدًا على الاستثمار في مبيعات B2B، ولكن فقط عندما يتم استخدامه بشكل صحيح. القالب الخاطئ، أو النبرة الخاطئة، أو التوقيت غير المناسب قد يؤدي إلى حذف رسالتك فورًا، أو إلغاء الاشتراك، أو الأسوأ من ذلك، وضعها في قائمة الرسائل المزعجة. من ناحية أخرى، يمكن أن يفتح قالب البريد الإلكتروني الصحيح لتوليد العملاء المحتملين في B2B الأبواب أمام صفقات مع مؤسسات كبرى، وشراكات استراتيجية، وخط مبيعات لا ينضب أبدًا. في هذا الدليل، نقوم بتفصيل 11 قالبًا مجربًا وفعالًا للبريد الإلكتروني لتوليد العملاء المحتملين في B2B، ونشرح سبب نجاح كل واحد منها، ونوضح لك كيف يمكن للأدوات الذكية الحديثة مثل Eaglet وLeadOcean من PlusClouds أتمتة العملية بالكامل حتى يعمل تواصلك على مدار الساعة، حتى أثناء نومك.

أتمتة WhatsApp: الطريقة الجديدة لتحويل العملاء المحتملين إلى مبيعات
Sales

أتمتة WhatsApp: الطريقة الجديدة لتحويل العملاء المحتملين إلى مبيعات

Dijital dünyada rekabet artık sadece “daha fazla lead toplamak” üzerinden ilerlemiyor. Asıl fark yaratan, elde ettiğiniz lead’lere ne kadar hızlı, doğru ve kişiselleştirilmiş şekilde ulaştığınız. Bu noktada WhatsApp, yüksek etkileşim oranlarıyla en güçlü iletişim kanallarından biri olurken; n8n gibi araçlar sayesinde bu süreci tamamen otomatik ve ölçeklenebilir hale getirmek mümkün. Bu yazıda, n8n kullanarak WhatsApp otomasyonu kurmayı, Eaglet ve Leadocean gibi platformlardan gelen lead’leri satışa dönüştürmeyi ve bu süreci nasıl optimize edebileceğinizi detaylı şekilde ele alıyoruz.

الدخل التابع مع واتساب في عام 2026
Sales

الدخل التابع مع واتساب في عام 2026

2026 itibarıyla affiliate marketing artık sadece trafik üretmekle ilgili değil. Asıl farkı yaratan şey, o trafiği doğrudan satışa dönüştürebilmek. İşte burada WhatsApp devreye giriyor. 2026’da WhatsApp ile Affiliate Gelir nasıl elde edilir? E-posta açılma oranları düşerken, WhatsApp mesajlarının okunma oranı %90’ların üzerinde. Yani doğru stratejiyle WhatsApp, affiliate gelir için en güçlü “son temas noktası” haline geliyor. Ama burada kritik fark şu: Manuel mesaj atanlar değil, otomasyon kuranlar kazanıyor.

2026’da Instagram ve TikTok’tan Affiliate Gelir Üretmek
Sales

2026’da Instagram ve TikTok’tan Affiliate Gelir Üretmek

2026’da tüketici davranışı kökten değişti. İnsanlar artık bir ürünü Google’a yazıp uzun uzun araştırmıyor. Karşılarına çıkan, sorunlarını anlayan ve onları ikna eden bir videodan tek tıkla satın alıyor. Bu yeni düzene Sosyal Ticaret (Social Commerce) diyoruz. Ve bu oyunun iki ana sahnesi var: Instagram ve TikTok. Ancak burada da eski dönem kapandı. Sadece video paylaşarak, “takipçi kasarak” para kazanma dönemi bitti. Bugün Instagram ve TikTok’ta gerçekten kazananlar, kendini influencer olarak değil; affiliate odaklı dijital yayıncı olarak konumlandıranlar. Bu yazıda, Instagram ve TikTok’u bir vitrin olmaktan çıkarıp affiliate gelir üreten satış makinelerine nasıl dönüştürebileceğinizi adım adım ele alıyoruz.