مجهول

تغييرات

من ويكي أضِف
سطر 4: سطر 4:     
هناك عدّة خيارات لإعداد خادم خبيئة الحزم (package caching)، لكننا سنستخدم squid-deb-proxy المعد مسبقا للعمل مع اوبونتو (ويمكن تعديل الإعدادات ليشمل مخازن حزم deb اخرى)
 
هناك عدّة خيارات لإعداد خادم خبيئة الحزم (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
 
  sudo apt-get install squid-deb-proxy
   سطر 10: سطر 13:     
  sudo apt-get install squid-deb-proxy-client
 
  sudo apt-get install squid-deb-proxy-client
 +
 
== إعداد خادم الدليل - إل داب ==
 
== إعداد خادم الدليل - إل داب ==
   سطر 40: سطر 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
سطر 46: سطر 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"
   سطر 55: سطر 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==
سطر 74: سطر 255:  
         bridge_maxwait 0
 
         bridge_maxwait 0
    +
== خادم الإقلاع من الشبكة ==
 +
{{:خادم الإقلاع من الشبكة}}
 
[[تصنيف:البنية الرقمية للمعسكرات]]
 
[[تصنيف:البنية الرقمية للمعسكرات]]
بيروقراطيون، checkuser، smwadministrator، smwcurator، staff، إداريون، تقنيون
2٬074

تعديل