الفرق بين المراجعتين لصفحة «خادوم المعسكرات المتقدم»

من ويكي أضِف
اذهب إلى التنقل اذهب إلى البحث
سطر 47: سطر 47:
 
  for i in * ; do head -n -7 $i > $i.tmp ; mv $i.tmp $i ; done
 
  for i in * ; do head -n -7 $i > $i.tmp ; mv $i.tmp $i ; done
  
−
  cd /tmp/ldif_output/cn=schema,cn=config && ls | sort -V | while read line ; do sudo ldapadd -Y EXTERNAL -H ldapi:/// -f $line ; done
+
  cd /tmp/ldif_output/cn\=config/cn\=schema/ && ls | sort -V | while read line ; do sudo ldapadd -Y EXTERNAL -H ldapi:/// -f $line ; done
 
للبدء في إنشاء مدخلات إل داب ضع الآتي في ملف مطبقا التغييرات التي تحتاجها:
 
للبدء في إنشاء مدخلات إل داب ضع الآتي في ملف مطبقا التغييرات التي تحتاجها:
  

مراجعة 03:32، 10 أغسطس 2013

هذه الوصفة تسعى لإنشاء خادوم يقدم إستيثاق مركزي بإستخدام LDAP، خادم تخزين مركزي وخوادم بنية شبكة (إعداد شبكة تلقائي وخادم أسماء) تستخدم إل داب.

إعداد خادم خبيئة الحزم

هناك عدّة خيارات لإعداد خادم خبيئة الحزم (package caching)، لكننا سنستخدم squid-deb-proxy المعد مسبقا للعمل مع اوبونتو (ويمكن تعديل الإعدادات ليشمل مخازن حزم deb اخرى)

sudo apt-get install squid-deb-proxy

وعلى الأجهزة "الزبونة" والخوادم الأخرى، يفضل تثبيت الحزمة squid-deb-proxy-client حيث أنها تسمح بالإستكشاف التلقائي لخادم خبيئة الحزم!

sudo apt-get install squid-deb-proxy-client

إعداد خادم الدليل - إل داب

لتثبيت أوبن إل داب[1]:

sudo apt-get install slapd ldap-utils

لتثبيت ربط إل داب بسامبا:

sudo apt-get install samba-doc smbldap-tools
sudo cp /usr/share/doc/samba-doc/examples/LDAP/samba.schema.gz /etc/ldap/schema/
sudo gzip -d /etc/ldap/schema/samba.schema.gz


cat << EOF > /tmp/schema_convert.conf
include /etc/ldap/schema/core.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/inetorgperson.schema
include /etc/ldap/schema/collective.schema
include /etc/ldap/schema/corba.schema
include /etc/ldap/schema/duaconf.schema
include /etc/ldap/schema/dyngroup.schema
include /etc/ldap/schema/java.schema
include /etc/ldap/schema/misc.schema
include /etc/ldap/schema/openldap.schema
include /etc/ldap/schema/ppolicy.schema
include /etc/ldap/schema/samba.schema
EOF
mkdir /tmp/ldif_output
while read line; do slapcat -f /tmp/schema_convert.conf -F /tmp/ldif_output -n0 -s "cn={$count}`echo $line | cut -f5 -d\/`,cn=schema,cn=config" ; count=`expr $count + 1`; done < /tmp/schema_convert.conf
cd /tmp/ldif_output/cn=config/cn=schema
sed -i "s/\(dn: cn=.*\)/\1,cn=schema,cn=config/g" * 
for i in * ; do head -n -7 $i > $i.tmp ; mv $i.tmp $i ; done
cd /tmp/ldif_output/cn\=config/cn\=schema/ && ls | sort -V | while read line ; do sudo ldapadd -Y EXTERNAL -H ldapi:/// -f $line ; done

للبدء في إنشاء مدخلات إل داب ضع الآتي في ملف مطبقا التغييرات التي تحتاجها:

# Load dynamic backend modules
dn: cn=module,cn=config
objectClass: olcModuleList
cn: module
olcModulepath: /usr/lib/ldap
olcModuleload: back_hdb

# Database settings
dn: olcDatabase=hdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcHdbConfig
olcDatabase: {1}hdb
olcSuffix: dc=adefcamps,dc=org
olcDbDirectory: /var/lib/ldap
olcRootDN: cn=adefadmin,dc=adefcamps,dc=org
olcRootPW: secret
olcDbConfig: set_cachesize 0 2097152 0
olcDbConfig: set_lk_max_objects 1500
olcDbConfig: set_lk_max_locks 1500
olcDbConfig: set_lk_max_lockers 1500
olcDbIndex: objectClass eq
olcLastMod: TRUE
olcDbCheckpoint: 512 30
olcAccess: to attrs=userPassword by dn="cn=adefadmin,dc=adefcamps,dc=org" write by anonymous auth by self write by * none
olcAccess: to attrs=shadowLastChange by self write by * read
olcAccess: to dn.base="" by * read
olcAccess: to * by dn="cn=adefadmin,dc=adefcamps,dc=org" write by * read

حمّل الملف إلى قاعدة بيانات إل داب:

sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /tmp/file.bleh

لو واجهت خطأ كالآتي:

adding new entry "cn=module,cn=config"
ldap_add: Other (e.g., implementation specific) error (80)
	additional info: <olcModuleLoad> handler exited with 1

فقم بإزالة المدخلة المذكورة cn=module,cn=config فالخطأ يشير أنها موجودة مسبقا

نقوم بعدها بتعريف النطاق الرئيسي:

# Create top-level object in domain
dn: dc=example,dc=com
objectClass: top
objectClass: dcObject
objectclass: organization
o: Example Organization
dc: Example
description: LDAP Example 

# Admin user.
dn: cn=admin,dc=example,dc=com
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator
userPassword: secret

تستطيعون الآن البدء بإنشاء مدخلات إل داب، لفعل ذلك عليكم إختيار أداة مناسبة، هناك العشرات من المشاريع التي تسعى إلى ذلك، بعضها يفترض هيكلية معيّنة ل إل داب، أدوات اخرى تتطلب فهما وتمكنا من صيغ إل داب بينما تعاني اخرى من مشاكل أداء وثبات و/أو توطين، نقترح هنا إستخدام أداة lat المتوفرة للينكس على أمل إيجاد أداة متكاملة مستقبلا!

إدارة وإنشاء المدخلات في إل داب

قوموا بتثبيت lat بإستخدام:

sudo apt-get install lat

شغل lat وإختر connect من قائمة server، أدخل عنوان أي بي الخادم، ادخل المعطيات مثلا:

BaseDN: dc=adefcamps,dc=org
Username: cn=admin,dc=adefcamps,dc=org

قوموا بعدها بإختيار Populate for samba

ستحتاجون لقيمة ل sid، للحصول عليها، على الخادم طبّقوا الأمر التالي:

sudo net getlocalsid

خادم إعداد الشبكة التلقائي (DHCP)

لإعداد خادم إعداد الشبكة التلقائي متكامل مع ldap على خادم dhcp طبّق الآتي:

apt-get install isc-dhcp-server-ldap
sudo sh -c "zcat /usr/share/doc/isc-dhcp-server-ldap/dhcp.schema.gz > /tmp/dhcp.schema"
scp /tmp/dhcp.schema adefadmin@ldap-server-address:/etc/ldap/schema/dhcp.schema

في حال تم تثبيت الملف على خادم LDAP يمكن إستخدام الأمر :

sudo sh -c "zcat /usr/share/doc/isc-dhcp-server-ldap/dhcp.schema.gz > /etc/ldap/schema/dhcp.schema"

fix/edit the output file, then:

sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /tmp/ldif_output/cn\=config/cn\=schema/cn\=\{0\}dhcp.ldif

إعداد الإدارة المركزية للحزم بإستخدام puppetmaster

لتثبيت خادم puppet master قم بإستخدام الأمر:

sudo apt-get install puppetmaster

إعداد puppet master على الأجهزة الزبون

قم بتثبيت الحزمة puppet :

sudo apt-get install puppet

قم بتفعيل الخدمة بتعديل السطر في الملف /etc/default/puppet إلى:

SRART=yes

قم بإستيثاق الجهاز الزبون على الخادم (قم بتشغيل الأمر التالي على الخادم):

puppetca --sign clientname


for i in openshot pitivi audacity lmms mixxx ardour jack vocproc hydrogen gimp inkscape pencil stopmotion rosegarden blender soundconverter winff hydrogen ubuntu-restricted-extras vlc soundconverter synfigstudio fonts-arabeyes fonts-hosny-amiri fonts-hosni-thabit k3b ; do /bin/echo -e "package {\n '$i': \n ensure => installed \n}\n" ; done >> /etc/puppet/manifests/site.pp


دفع التغيرات إلى الأجهزة الزبون إختيارا

لفعل ذلك نحتاج إلى إستخدام الأمر puppet kick على الخادم، ولكن قبل ذلك، يجب تعديل إعدادات puppet على الزبون ليقوم بالتنصت لأوامر الخادم وذلك يحتاج إلى إضافة تصريح

قالب:TODO

kvm

apt-get install qemu-kvm libvirt-bin

network bridge

sudo apt-get install bridge-utils
auto br0
iface br0 inet static
       address 192.168.50.1
       network 192.168.50.0
       netmask 255.255.255.0
       broadcast 192.168.50.255
       bridge_ports eth1
       bridge_stp off
       bridge_fd 0
       bridge_maxwait 0