مجهول

تغييرات

من ويكي أضِف
سطر 1: سطر 1:  
هذه الوصفة تسعى لإنشاء خادوم يقدم إستيثاق مركزي بإستخدام LDAP، خادم تخزين مركزي وخوادم بنية شبكة (إعداد شبكة تلقائي وخادم أسماء) تستخدم إل داب.
 
هذه الوصفة تسعى لإنشاء خادوم يقدم إستيثاق مركزي بإستخدام LDAP، خادم تخزين مركزي وخوادم بنية شبكة (إعداد شبكة تلقائي وخادم أسماء) تستخدم إل داب.
 +
 +
== إعداد خادم خبيئة الحزم ==
 +
 +
هناك عدّة خيارات لإعداد خادم خبيئة الحزم (package caching)، لكننا سنستخدم squid-deb-proxy المعد مسبقا للعمل مع اوبونتو (ويمكن تعديل الإعدادات ليشمل مخازن حزم deb اخرى)
 +
{{puppet-manifest|manifest=package {
 +
    'squid-deb-proxy-client':
 +
        ensure => installed
 +
}|manifest-name=squid-deb-proxy}}
 +
sudo apt-get install squid-deb-proxy
 +
 +
وعلى الأجهزة "الزبونة" والخوادم الأخرى، يفضل تثبيت الحزمة squid-deb-proxy-client حيث أنها تسمح بالإستكشاف التلقائي لخادم خبيئة الحزم!
 +
 +
sudo apt-get install squid-deb-proxy-client
    
== إعداد خادم الدليل - إل داب ==
 
== إعداد خادم الدليل - إل داب ==
سطر 31: سطر 44:  
  mkdir /tmp/ldif_output
 
  mkdir /tmp/ldif_output
   −
  while read line; do slapcat -f /tmp/schema_convert -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
+
  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
 
  cd /tmp/ldif_output/cn=config/cn=schema
سطر 37: سطر 50:     
  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\=config/cn\=schema/ && ls | sort -V | while read line ; do sudo ldapadd -Y EXTERNAL -H ldapi:/// -f $line ; 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>
 +
 +
حمّل الملف إلى قاعدة بيانات إل داب:
 +
 +
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 فالخطأ يشير أنها موجودة مسبقا
 +
 +
نقوم بعدها بتعريف النطاق الرئيسي:
 +
<pre>
 +
# 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
 +
</pre>
 +
تستطيعون الآن البدء بإنشاء مدخلات إل داب، لفعل ذلك عليكم إختيار أداة مناسبة، هناك العشرات من المشاريع التي تسعى إلى ذلك، بعضها يفترض هيكلية معيّنة ل إل داب، أدوات اخرى تتطلب فهما وتمكنا من صيغ إل داب بينما تعاني اخرى من مشاكل أداء وثبات و/أو توطين، نقترح هنا إستخدام أداة 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)==
 
==خادم إعداد الشبكة التلقائي (DHCP)==
−
apt-get install dhcpd-ldap
+
لإعداد خادم إعداد الشبكة التلقائي متكامل مع 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"
 
  sudo sh -c "zcat /usr/share/doc/isc-dhcp-server-ldap/dhcp.schema.gz > /etc/ldap/schema/dhcp.schema"
   سطر 46: سطر 145:     
  sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /tmp/ldif_output/cn\=config/cn\=schema/cn\=\{0\}dhcp.ldif
 
  sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /tmp/ldif_output/cn\=config/cn\=schema/cn\=\{0\}dhcp.ldif
 +
=== أوامر مفيدة ===
 +
لإستكشاف عناوين الأيبي الحالية بإستخدام avahi ووضعها في ملف /usr/local/etc/hosts.camp
 +
 +
for i in lab{1..3}-pc{1..12}.local ;
 +
do avahi-resolve -n -4 $i ;
 +
done |  sed -e 's/\(.*\).local/\1 \1.adefcamps.org/' | awk '{print $3,$2,$1}' > /usr/local/etc/hosts.camp
 +
 +
لبناء قائمة بعناوين MAC ADDRESS من هذه القائمة:
 +
cat /usr/local/etc/hosts.camp |  cut -f1 -d\ | xargs -l ping -c 1
 +
 +
لإنشاء مدخلات LDAP ذات علاقة:
 +
CONTAINER_DN="cn=labs,cn=DHCP Config,ou=Services,dc=adefcamps,dc=org"
 +
arp -n | awk '{print $1,$3}'| while read -d' ' a b ; do echo -e "dn: $(avahi-resolve -a $b|cut -f2|cut -f1 -d.),$CONTAINER_DN\ncn: name2\nobjectClass: top\nobjectClas: dhcpHost\ndhcpHWAddress: ethernet $a\ndhcpStatements:fixed-address $b\n\n" ; done
 +
 +
== إعداد الإدارة المركزية للحزم بإستخدام puppetmaster ==
 +
 +
لتثبيت خادم puppet master قم بإستخدام الأمر:
 +
 +
sudo apt-get install puppetmaster
 +
 +
=== إعداد puppet على أجهزة المستخدمين (الزبون|client) ===
 +
 +
قم بتثبيت الحزمة puppet :
 +
sudo apt-get install puppet
 +
 +
قم بتفعيل الخدمة بتعديل السطر في الملف /etc/default/puppet إلى:
 +
SRART=yes
 +
 +
قم بإستيثاق الجهاز الزبون على الخادم (قم بتشغيل الأمر التالي على الخادم):
 +
puppetca --sign clientname
 +
 +
 +
<NOINCLUDE>
 +
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
 +
</NOINCLUDE>
 +
 +
=== دفع التغيرات إلى الأجهزة الزبون إختيارا ===
 +
 +
لفعل ذلك نحتاج إلى إستخدام الأمر puppet kick على الخادم، ولكن قبل ذلك، يجب تعديل إعدادات puppet على الزبون ليقوم بالتنصت لأوامر الخادم وذلك يحتاج إلى إضافة تصريح
 +
 +
{{TODO}}
 +
 +
=== معلومات ذات علاقة ===
 +
* [[وصفات puppet master المستخدمة في معسكر 2013]]
 +
* [http://arabdigitalexpression.org/wiki/%D8%AE%D8%A7%D8%B5:%D9%85%D8%A7%D8%B0%D8%A7_%D9%8A%D8%B5%D9%84_%D9%87%D9%86%D8%A7/%D9%82%D8%A7%D9%84%D8%A8:Puppet-manifest صفحات تحتوي على وصفات puppet master]
 +
 +
== إعداد خادم سامبا المتكامل مع إل داب ==
 +
بعد إعداد خادم إل داب بالشكل الموصوف أعلاه، قم على خادم سامبا بتثبيت الآتي:
 +
sudo apt-get install samba samba-doc smbldap-tools
 +
 +
تأكد أن إسم خادم ال داب مضاف إلى /etc/hosts أو يمكن قراءته من خادم الأسماء، ثم في ملف /etc/samba/smb.conf إبحث عن :
 +
passdb backend = tdbsam
 +
 +
قم بتعليقها، وإضف الآتي:
 +
 +
<pre>
 +
#  passdb backend = tdbsam
 +
 +
# LDAP Settings
 +
  passdb backend = ldapsam:ldap://hostname
 +
  ldap suffix = dc=example,dc=com
 +
  ldap user suffix = ou=People
 +
  ldap group suffix = ou=Groups
 +
  ldap machine suffix = ou=Computers
 +
  ldap idmap suffix = ou=Idmap
 +
  ldap admin dn = cn=adefadmin,dc=adefcamps,dc=org
 +
  ldap ssl = start tls#
 +
  ldap ssl = off#
 +
  ldap passwd sync = yes
 +
...
 +
  add machine script = sudo /usr/sbin/smbldap-useradd -t 0 -w "%u"
 +
</pre>
 +
الخطوات: https://help.ubuntu.com/lts/serverguide/samba-ldap.html#samba-ldap-samba-configuration
 +
 +
 +
== إعداد خادم NFS ==
 +
[[التجهيز التقني#المجلدات المشتركة]]
 +
===إعداد automount على الجهاز الزبون===
 +
# sudo apt-get install autofs
 +
sudo apt-get install autofs libgssglue1 libnfsidmap2 libtirpc1 nfs-common rpcbind
 +
 +
echo  "/adefcamps /etc/auto.adefcamps --ghost" | sudo tee -a  /etc/auto.master
 +
 +
 +
echo "SAN -fstype=nfs 10.0.0.16:/export/SAN" | sudo tee -a /etc/auto.adefcamps
 +
 +
sudo mkdir /adefcamps
 +
 +
sudo /etc/init.d/autofs restart
 +
    +
* ملاحظة : ليعمل نظام السموحات بشكل جيد، يجب أن يكون كلا من الخادم والجهاز الزبون مطلعين على ذات المجموعة من المستخدمين ومجموعاتهم (عبر إستخدام إل داب)
    
==kvm==
 
==kvm==
 +
apt-get install qemu-kvm libvirt-bin
 
===network bridge===
 
===network bridge===
   سطر 64: سطر 255:  
         bridge_maxwait 0
 
         bridge_maxwait 0
   −
[[تصنيف:معسكرات التعبير الرقمي العربي]]
+
== خادم الإقلاع من الشبكة ==
−
[[تصنيف:تقنية]]
+
{{:خادم الإقلاع من الشبكة}}
−
[[تصنيف:البنية الرقمية لمعسكرات التعبير الرقمي]]
+
[[تصنيف:البنية الرقمية للمعسكرات]]
بيروقراطيون، checkuser، smwadministrator، smwcurator، staff، إداريون، تقنيون
2٬074

تعديل