الفرق بين المراجعتين لصفحة «خادوم المعسكرات المتقدم»
(←إعداد خادم الدليل - إل داب: typo) |
|||
| سطر 46: | سطر 46: | ||
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 | ||
| + | |||
| + | للبدء في إنشاء مدخلات إل داب ضع الآتي في ملف مطبقا التغييرات التي تحتاجها: | ||
| + | |||
| + | <pre> | ||
| + | # 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 | ||
| + | </pre> | ||
==خادم إعداد الشبكة التلقائي (DHCP)== | ==خادم إعداد الشبكة التلقائي (DHCP)== | ||
مراجعة 01:26، 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
للبدء في إنشاء مدخلات إل داب ضع الآتي في ملف مطبقا التغييرات التي تحتاجها:
# 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
خادم إعداد الشبكة التلقائي (DHCP)
apt-get install dhcpd-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 على الزبون ليقوم بالتنصت لأوامر الخادم وذلك يحتاج إلى إضافة تصريح
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