<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>وثائق لينوكس العربية &#187; dns</title>
	<atom:link href="http://www.linuxdocs-ar.com/html/tag/dns/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.linuxdocs-ar.com/html</link>
	<description>أكبر موقع وثائق عربي مختص باللينوكس</description>
	<lastBuildDate>Thu, 03 Jun 2010 11:57:41 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>ar</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>إعداد خادم أسماء نطاقات (DNS) محلي بدون تعقيد</title>
		<link>http://www.linuxdocs-ar.com/html/2009/06/%d8%a5%d8%b9%d8%af%d8%a7%d8%af-%d8%ae%d8%a7%d8%af%d9%85-%d8%a3%d8%b3%d9%85%d8%a7%d8%a1-%d9%86%d8%b7%d8%a7%d9%82%d8%a7%d8%aa-dns-%d9%85%d8%ad%d9%84%d9%8a-%d8%a8%d8%af%d9%88%d9%86-%d8%aa%d8%b9%d9%82/</link>
		<comments>http://www.linuxdocs-ar.com/html/2009/06/%d8%a5%d8%b9%d8%af%d8%a7%d8%af-%d8%ae%d8%a7%d8%af%d9%85-%d8%a3%d8%b3%d9%85%d8%a7%d8%a1-%d9%86%d8%b7%d8%a7%d9%82%d8%a7%d8%aa-dns-%d9%85%d8%ad%d9%84%d9%8a-%d8%a8%d8%af%d9%88%d9%86-%d8%aa%d8%b9%d9%82/#comments</comments>
		<pubDate>Wed, 03 Jun 2009 17:29:36 +0000</pubDate>
		<dc:creator>مسلم عادل</dc:creator>
				<category><![CDATA[dns]]></category>
		<category><![CDATA[خوادم الويب]]></category>
		<category><![CDATA[bind]]></category>
		<category><![CDATA[chroot]]></category>
		<category><![CDATA[dns chrooted]]></category>
		<category><![CDATA[domain]]></category>
		<category><![CDATA[fqdn]]></category>

		<guid isPermaLink="false">http://www.linuxdocs-ar.com/html/?p=358</guid>
		<description><![CDATA[في هذا الموضوع سأقوم بشرح كيفية إعداد خادم DNS بإستخدام Bind9 على CentOS 5.3
لن أخوض في تفاصيل كيفية تركيب CentOS 5.3 كما أني لن أخوض في شرح الـ DNS أيضا (أقوم حاليا بتحضير شرح من أ الى ي خاص بالـ DNS)

كل ما سأقوم بشرحه هنا هو كيفية عمل الإعدادات الأساسية التي تحتاجها لعمل الـ DNS [...]]]></description>
			<content:encoded><![CDATA[<p>في هذا الموضوع سأقوم بشرح كيفية إعداد خادم DNS بإستخدام Bind9 على CentOS 5.3<br />
لن أخوض في تفاصيل كيفية تركيب CentOS 5.3 كما أني لن أخوض في شرح الـ DNS أيضا (أقوم حاليا بتحضير شرح من أ الى ي خاص بالـ DNS)</p>
<p><span id="more-358"></span></p>
<p>كل ما سأقوم بشرحه هنا هو كيفية عمل الإعدادات الأساسية التي تحتاجها لعمل الـ DNS ومن ثم تنفيذ سكريبت خاص قمت بعمله لهذه المهمة.</p>
<p class="note">
<strong>ملاحظة:</strong> لا تقم بإستخدام هذا السكريبت على جهاز عليه خادم DNS لأنه سيقوم بحذف كافة الملفات والإعدادات وعمل كل شيء من الصفر.
</p>
<p>الى العمل:</p>
<p>بعد تركيب CentOS يجب علينا القيام بالإعدادات الأساسية الخاصة بالشبكة حتى تعمل خدمة الـ DNS بشكل صحيح، لهذا السبب فإنني سأفترض المعلومات التالية:</p>
<div dir="ltr" align="left">
IP address: 172.16.1.1<br />
Netmask address: 255.255.0.0<br />
Gateway address: 172.16.1.254<br />
Hostname: nameserver.iac.lan
</div>
<p>ولضمان أن كل شيء سيعمل على أكمل وجه سأقوم بإيقاف كل من الجدار الناري و SELinux (سأقوم بشرحهم في وقت آخر)</p>
<p>&nbsp;</p>
<p><strong>أولا: إيقاف الجدار الناري و SELinux</strong></p>
<div dir="ltr" align="left"><code>[root@localhost ~]# service iptables stop<br />
[root@localhost ~]# chkconfig iptables off<br />
[root@localhost ~]# nano /etc/sysconfig/selinux<br />
</code></div>
<p>الان غير محتوى الملف من:</p>
<div dir="ltr" align="left">
<blockquote><p>
# This file controls the state of SELinux on the system.<br />
# SELINUX= can take one of these three values:<br />
#       enforcing &#8211; SELinux security policy is enforced.<br />
#       permissive &#8211; SELinux prints warnings instead of enforcing.<br />
#       disabled &#8211; SELinux is fully disabled.<br />
<strong>SELINUX=enforcing</strong><br />
# SELINUXTYPE= type of policy in use. Possible values are:<br />
#       targeted &#8211; Only targeted network daemons are protected.<br />
#       strict &#8211; Full SELinux protection.<br />
SELINUXTYPE=targeted
</p></blockquote>
</div>
<p>الى:</p>
<div dir="ltr" align="left">
<blockquote><p>
# This file controls the state of SELinux on the system.<br />
# SELINUX= can take one of these three values:<br />
#       enforcing &#8211; SELinux security policy is enforced.<br />
#       permissive &#8211; SELinux prints warnings instead of enforcing.<br />
#       disabled &#8211; SELinux is fully disabled.<br />
<strong>SELINUX=disabled</strong><br />
# SELINUXTYPE= type of policy in use. Possible values are:<br />
#       targeted &#8211; Only targeted network daemons are protected.<br />
#       strict &#8211; Full SELinux protection.<br />
SELINUXTYPE=targeted
</p></blockquote>
</div>
<p>&nbsp;</p>
<p><strong>ثانيا: إعداد عنوان الآي بي (IP)</strong></p>
<div dir="ltr" align="left"><code>[root@localhost ~]# cat << EOF > /etc/sysconfig/network-scripts/ifcfg-eth0<br />
> DEVICE=eth0<br />
> BOOTPROTO=static<br />
> ONBOOT=yes<br />
> TYPE=Ethernet<br />
> IPADDR=172.16.1.1<br />
> NETMASK=255.255.0.0<br />
> GATEWAY=172.16.1.254<br />
> EOF<br />
</code></div>
<p>&nbsp;</p>
<p><strong>ثالثا: إعداد إسم الجهاز (Hostname)</strong></p>
<div dir="ltr" align="left"><code>[root@localhost ~]# cat << EOF > /etc/sysconfig/network<br />
> NETWORKING=yes<br />
> NETWORKING_IPV6=no<br />
> HOSTNAME=nameserver.iac.lan<br />
> EOF<br />
</code></div>
<div dir="ltr" align="left"><code>[root@localhost ~]# cat << EOF > /etc/hosts<br />
> 127.0.0.1	localhost.localdomain	localhost<br />
> 172.16.1.1	nameserver.iac.lan	nameserver<br />
> EOF<br />
</code></div>
<p>أعد تشغيل الجهاز.<br />
بعد إعادة التشغيل تأكد من التالي:<br />
1- عنوان الجهاز (IP) هو الذي الذي قمنا باختياره، تستطيع معرفته باستخدام الأمر ifconfig</p>
<div dir="ltr" align="left"><code>[root@nameserver ~]# ifconfig eth0<br />
eth0      Link encap:Ethernet  HWaddr 00:0C:29:7B:CF:02<br />
          inet addr:<strong>172.16.1.1</strong>  Bcast:172.16.255.255  Mask:255.255.0.0<br />
          inet6 addr: fe80::20c:29ff:fe7b:cf02/64 Scope:Link<br />
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1<br />
          RX packets:78 errors:0 dropped:0 overruns:0 frame:0<br />
          TX packets:53 errors:0 dropped:0 overruns:0 carrier:0<br />
          collisions:0 txqueuelen:1000<br />
          RX bytes:11534 (11.2 KiB)  TX bytes:8914 (8.7 KiB)<br />
          Interrupt:67 Base address:0x2000<br />
</code></div>
<p>2- البوابة الافتراضية هي التي قمنا باختيارها، تستطيع معرفتها باسخدام الامر route </p>
<div dir="ltr" align="left"><code>[root@nameserver ~]# route -n<br />
Kernel IP routing table<br />
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface<br />
172.16.0.0      0.0.0.0         255.255.0.0     U     0      0        0 eth0<br />
0.0.0.0         <srong>172.16.0.254</strong>    0.0.0.0         UG    0      0        0 eth0<br />
</code></div>
<p>4- إسم الجهاز صحيح، وتستطيع أن تتأكد من هذا باستخدام الامر: hostname والأمر uname -n (يجب أن يكون مخرجات الامرين متساويين)</p>
<div dir="ltr" align="left"><code>[root@nameserver ~]# hostname<br />
<strong>nameserver.iac.lan</strong><br />
[root@nameserver ~]# uname -n<br />
<strong>nameserver.iac.lan</strong><br />
</code></div>
<p>5- تستطيع ان تعمل ping على اسم الجهاز، ويرد عليك على العنوان (IP) الصحيح</p>
<div dir="ltr" align="left"><code>[root@nameserver ~]# ping -c4 nameserver.iac.lan<br />
PING nameserver.iac.lan (172.16.1.1) 56(84) bytes of data.<br />
64 bytes from <strong>nameserver.iac.lan</strong> (<strong>172.16.1.1</strong>): icmp_seq=1 ttl=64 time=0.037 ms<br />
64 bytes from <strong>nameserver.iac.lan</strong> (<strong>172.16.1.1</strong>): icmp_seq=2 ttl=64 time=0.956 ms<br />
64 bytes from <strong>nameserver.iac.lan</strong> (<strong>172.16.1.1</strong>): icmp_seq=3 ttl=64 time=0.181 ms<br />
64 bytes from <strong>nameserver.iac.lan</strong> (<strong>172.16.1.1</strong>): icmp_seq=4 ttl=64 time=0.041 ms<br />
</code></div>
<p>&nbsp;</p>
<p><strong>رابعا: إستخدام سكريبت إعداد أسماء النطاقات</strong></p>
<p>بعد التاكد من كل هذه الأشياء قم بتحميل الإسكريت الذي قمت بعمله لإنهاء الباقي:</p>
<div dir="ltr" align="left"><code>[root@nameserver ~]# wget http://www.linuxdocs-ar.com/scripts/configure-bind.sh<br />
[root@nameserver ~]# chmod +x configure-bind.sh<br />
[root@nameserver ~]# ./configure-bind.sh<br />
Removing any current installation of bind and bind-chroot<br />
Loaded plugins: fastestmirror<br />
Setting up Remove Process<br />
No Match for argument: bind<br />
No Match for argument: bind-chroot<br />
No Packages marked for removal<br /> <br />
This script will start configuring your system now.<br />
Press ctrl-c now to stop and exit<br />
Do not stop this script while it's running, otherwise, it will corrupt your system!!<br />
Press enter to continue...<br />
</code></div>
<p>ستلاحظ أن السكريبت أول ما يحاول تنفيذه هو إزالة أي حزمة متعلقة بـ bind قد تكون مثبتة في الجهاز، كما أنه في نفس الوقت يقوم بحذف كافة ملفات الاعداد التي قد تكون موجودة، لذا احذر عند استخدامه على جهاز عليه خادم DNS</p>
<p>بعد إزالة كافة الحزم اضغط انتر للمتابعة</p>
<div dir="ltr" align="left"><code><br />
Step 1: Installing BIND 9 (chrooted)<br />
Loaded plugins: fastestmirror<br />
Loading mirror speeds from cached hostfile<br />
 * base: centose-msync-dvd.centos.org<br />
 * updates: centose.centos.org<br />
 * addons: centosq2-msync-dvd.centos.org<br />
 * extras: centosm3.centos.org<br />
Setting up Install Process<br />
Parsing package install arguments<br />
Resolving Dependencies<br />
 Running transaction check<br />
 Package bind-chroot.i386 30:9.3.4-10.P1.el5 set to be updated<br />
 Processing Dependency: bind = 30:9.3.4-10.P1.el5 for package: bind-chroot<br />
 Running transaction check<br />
 Package bind.i386 30:9.3.4-10.P1.el5 set to be updated<br />
 Finished Dependency Resolution<br />
Dependencies Resolved<br />
==================================================================================================================<br />
 Package                     Arch                 Version                              Repository            Size<br />
==================================================================================================================<br />
Installing:<br />
 bind-chroot                 i386                 30:9.3.4-10.P1.el5                   base                  42 k<br />
Installing for dependencies:<br />
 bind                        i386                 30:9.3.4-10.P1.el5                   base                 953 k<br />
Transaction Summary<br />
==================================================================================================================<br />
Install      2 Package(s)<br />
Update       0 Package(s)<br />
Remove       0 Package(s)<br />
Total size: 995 k<br />
Downloading Packages:<br />
Running rpm_check_debug<br />
Running Transaction Test<br />
Finished Transaction Test<br />
Transaction Test Succeeded<br />
Running Transaction<br />
  Installing     : bind                                              [1/2]<br />
  Installing     : bind-chroot                                       [2/2]<br />
Installed: bind-chroot.i386 30:9.3.4-10.P1.el5<br />
Dependency Installed: bind.i386 30:9.3.4-10.P1.el5<br />
Complete!<br />
Installation of BIND 9 (chrooted) completed!<br />
Press enter to continue...<br />
</code></div>
<p>تم إنهاء تركيب الحزم الان اضغط انتر للمتابعة:</p>
<div dir="ltr" align="left"><code><br />
Step 2: Fixing permissions, ownerships, etc...<br />
Fixing permissions, ownerships, etc... completed!<br />
Press enter to continue...<br />
</code></div>
<p>اضغط انتر للمتابع:</p>
<div dir="ltr" align="left"><code><br />
Step 3: Create a master forward zone<br />
Please enter the zone name (ex: iac.lan): myhome.lan<br />
Stopping named:                                            [  OK  ]<br />
Starting named:                                            [  OK  ]<br />
</code></div>
<p>في هذه الخطوة طلب منك ادخال اسم النطاق الذي تريده، وقد قمت باختيار الاسم myhome.lan<br />
ستلاحظ ان السكريبت قام باعادة تشغيل خدمة bind وانتهى.</p>
<p>الان للتأكد أن كل شيء يعمل كما يجب، قم بتنفيذ الأمر التالي:</p>
<div dir="ltr" align="left"><code>[root@nameserver ~]# dig myhome.lan<br />
; <<>> DiG 9.3.4-P1 <<>> myhome.lan<br />
;; global options:  printcmd<br />
;; Got answer:<br />
;; ->>HEADER<<- opcode: QUERY, status: <strong>NOERROR</strong>, id: 9873<br />
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0<br />
;; QUESTION SECTION:<br />
;myhome.lan.                    IN      A<br />
;; ANSWER SECTION:<br />
myhome.lan.             86400   IN      A       172.16.1.1<br />
;; AUTHORITY SECTION:<br />
myhome.lan.             86400   IN      NS      nameserver.iac.lan.<br />
;; Query time: 3 msec<br />
;; SERVER: 172.16.1.1#53(172.16.1.1)<br />
;; WHEN: Wed Jun  3 22:47:07 2009<br />
;; MSG SIZE  rcvd: 73<br />
</code></div>
<p>لاحظ الكلمة المظللة NOERROR هذا دليل أنه تم انشاء النطاق بصورة صحيحة، يمكنك أن تتأكد منه أيضا بعمل ping عليه:</p>
<div dir="ltr" align="left"><code>[root@nameserver ~]# ping -c4 myhome.lan<br />
PING myhome.lan (172.16.1.1) 56(84) bytes of data.<br />
64 bytes from nameserver.iac.lan (172.16.1.1): icmp_seq=1 ttl=64 time=0.801 ms<br />
64 bytes from nameserver.iac.lan (172.16.1.1): icmp_seq=2 ttl=64 time=0.042 ms<br />
64 bytes from nameserver.iac.lan (172.16.1.1): icmp_seq=3 ttl=64 time=0.046 ms<br />
64 bytes from nameserver.iac.lan (172.16.1.1): icmp_seq=4 ttl=64 time=0.046 ms<br />
</code></div>
<div dir="ltr" align="left"><code>[root@nameserver ~]# dig nameserver.myhome.lan<br />
; <<>> DiG 9.3.4-P1 <<>> nameserver.myhome.lan<br />
;; global options:  printcmd<br />
;; Got answer:<br />
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 8793<br />
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0<br />
;; QUESTION SECTION:<br />
;nameserver.myhome.lan.         IN      A<br />
;; ANSWER SECTION:<br />
nameserver.myhome.lan.  86400   IN      A       172.16.1.1<br />
;; AUTHORITY SECTION:<br />
myhome.lan.             86400   IN      NS      nameserver.iac.lan.<br />
;; Query time: 4 msec<br />
;; SERVER: 172.16.1.1#53(172.16.1.1)<br />
;; WHEN: Wed Jun  3 23:03:42 2009<br />
;; MSG SIZE  rcvd: 84</p>
<p></code></div>
<p>الان في حال أحببت إضافة المزيد من الأسماء الى اسم النطاق الخاص بك، فقط قم بتحرير الملف:</p>
<div dir="ltr" align="left">
/var/named/chroot/var/named/forward-zones/myhome.lan.conf
</div>
<p>وإعادة تحميل named بإستخدام الأمر:</p>
<div dir="ltr" align="left"><code>[root@nameserver ~]# service named reload</code></div>
]]></content:encoded>
			<wfw:commentRss>http://www.linuxdocs-ar.com/html/2009/06/%d8%a5%d8%b9%d8%af%d8%a7%d8%af-%d8%ae%d8%a7%d8%af%d9%85-%d8%a3%d8%b3%d9%85%d8%a7%d8%a1-%d9%86%d8%b7%d8%a7%d9%82%d8%a7%d8%aa-dns-%d9%85%d8%ad%d9%84%d9%8a-%d8%a8%d8%af%d9%88%d9%86-%d8%aa%d8%b9%d9%82/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>اعداد خادم ويب (الجزء الثاني)</title>
		<link>http://www.linuxdocs-ar.com/html/2008/09/%d8%a7%d8%b9%d8%af%d8%a7%d8%af-%d8%ae%d8%a7%d8%af%d9%85-%d9%88%d9%8a%d8%a8-%d8%a7%d9%84%d8%ac%d8%b2%d8%a1-%d8%a7%d9%84%d8%ab%d8%a7%d9%86%d9%8a/</link>
		<comments>http://www.linuxdocs-ar.com/html/2008/09/%d8%a7%d8%b9%d8%af%d8%a7%d8%af-%d8%ae%d8%a7%d8%af%d9%85-%d9%88%d9%8a%d8%a8-%d8%a7%d9%84%d8%ac%d8%b2%d8%a1-%d8%a7%d9%84%d8%ab%d8%a7%d9%86%d9%8a/#comments</comments>
		<pubDate>Sat, 13 Sep 2008 17:48:32 +0000</pubDate>
		<dc:creator>مسلم عادل</dc:creator>
				<category><![CDATA[خوادم الويب]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[dns]]></category>
		<category><![CDATA[ip based]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[name based]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[virtual host]]></category>
		<category><![CDATA[webhost]]></category>
		<category><![CDATA[webserver]]></category>

		<guid isPermaLink="false">http://www.linuxdocs-ar.com/html/?p=239</guid>
		<description><![CDATA[
 يفضل أن تقوم بقراءة الجزء الاول من هذا المقال قبل المتابعة


&#160;
الاستضافة الافتراضية &#8211; Virtual Hosts
&#160;
كما سبق ان ذكرنا، apache يدعم الاستضافة الافتراضية (virtual hosts)، والتي بفضلها يمكن استضافة مئات (ان لم يكن الاف) المواقع مع عنوانين نطاق (domain names) مختلفة على سيرفر واحد وباستخدام عنوان IP واحد فقط. الحدود الوحيدة التي قد تقف في [...]]]></description>
			<content:encoded><![CDATA[<p class="note">
 <a href="http://www.linuxdocs-ar.com/html/2008/09/%d8%a7%d8%b9%d8%af%d8%a7%d8%af-%d8%ae%d8%a7%d8%af%d9%85-%d9%88%d9%8a%d8%a8-%d8%a7%d9%84%d8%ac%d8%b2%d8%a1-%d8%a7%d9%84%d8%a7%d9%88%d9%84/">يفضل أن تقوم بقراءة الجزء الاول من هذا المقال قبل المتابعة</a>
</p>
<p><span id="more-239"></span></p>
<p>&nbsp;</p>
<h4>الاستضافة الافتراضية &#8211; Virtual Hosts</h4>
<p>&nbsp;</p>
<p>كما سبق ان ذكرنا، apache يدعم الاستضافة الافتراضية (virtual hosts)، والتي بفضلها يمكن استضافة مئات (ان لم يكن الاف) المواقع مع عنوانين نطاق (domain names) مختلفة على سيرفر واحد وباستخدام عنوان IP واحد فقط. الحدود الوحيدة التي قد تقف في وجه apache وعدد المواقع التي بامكانه استضافتها، هي الامور المتعلقة بعتاد الخادم و سرعة الاتصال بالانترنت وكميتها (bandwidth quota) عدا هذا، apache يمكنه استضافة عدد غير محدد من المواقع.</p>
<p>عند استخدام الاستضافة الافتراضية (virtual hosts) فإن محتويات كل موقع (الملفات والمجلدات والصور الخ&#8230;) تكون في مجلد خاص بها، منفصلة عن باقي المواقع ويتعهد apache بتوجيه زوار المواقع الى المجلد الصحيح حسب عنوان الموقع.</p>
<p>بشكل عام، موارد الجهاز (الاقراص الصلبة، الذاكرة، المعالج، الخ&#8230;) تكون موزعة على المواقع المستضافة، لهذا السبب يتم اعداد الخادم بحيث تعطى &#8220;حصص&#8221; (quotas) لكل موقع حتى لا يستغل احدهم موارد الجهاز على حساب باقي المواقع.<br />
وفي العادة، يتم تزويد المستخدمين بحسابات ftp او sftp (وفي بعض الاحيان ssh) ليتمكنوا من وضع ملفاتهم في الموقع، بالاضافة الى اعطاء المستخدمين قاعدة بيانات واحدة على الاقل. كما أنه يتم اعطائهم (في العادة) دعم للغات برمجية مختلفة مثل PHP, Ruby, Perl, Java, Python, etc&#8230;</p>
<p>عند استضافة اكثر من موقع، فانك ستحتاج الى اعداد خادم DNS ليستجيب على طلبات المواقع و حتى يتمكن apache من العمل بشكل صحيح. وحتى اوضح هذه النقطة تأمل المثال التالي:</p>
<p>لديك خادم عليه apache وعنوان الـ IP الخاص بهذا الخادم هو 111.222.333.444 وفي هذا الخادم تستضيف مواقع كثيرة من بينها موقع اسمه www.me.com.</p>
<p>الان أتى أحد الزوار ويريد زيارة www.me.com ماذا سيحدث؟<br />
عند طباعة العنوان في المتصفح، يتم ارسال الطلب هذا الى خوادم الـ dns الموجودة في العالم الى ان يصل الطلب الخادم الخاص بك، فيكون الرد:<br />
 www.me.com => 111.222.333.444 </p>
<p>الان وبعد ان حصل متصفح الزائر على العنوان الـ IP يقوم بتوجيه نفسه الى السيرفر الخاص بك، والذي سيتلقى الطلب ويحوله الى apache. ويعمل الاخير على قراءة الـ header الخاص بالطلب (في هذه الحالة الـ packet القادم) ويستخرج منه اسم الموقع الذي تريد زيارته، ويعمل على تحويلك الى المجلد الصحيح لهذا الموقع.</p>
<p class="note">
كل هذا يحصل في اقل من ثانية، سبحان من علم الانسان ما لم يعلم
</p>
<p>&nbsp;</p>
<h4>أنواع الاستضافة الافتراضية</h4>
<p>&nbsp;</p>
<p>يوجد نوعين من الـ virtual hosts، الأول هو IP Based Virtual Host و الثاني هو Name Based Virtual Host</p>
<p>النوع الأول (IP Based Virtual Host) يتطلب وجود أكثر من عنوان IP متوفر في السيرفر وهو أمر قد لا يتوفر دائما، لهذا السبب ساترك شرح هذا النوع الى الاخير.</p>
<p>النوع الثاني (Name Based Virtual Host) لا يتطلب وجود أكثر من عنوان IP، بل يكفيه واحد فقط ولكنه يتطلب وجود خادم DNS. وليس بالضرورة وجود خادم الـ DNS على نفس السيرفر، بل يمكنه أن يكون أي جهاز في الشبكة المحلية أو حتى على شبكة الإنترنت.</p>
<p>يتبع،،،،</p>
]]></content:encoded>
			<wfw:commentRss>http://www.linuxdocs-ar.com/html/2008/09/%d8%a7%d8%b9%d8%af%d8%a7%d8%af-%d8%ae%d8%a7%d8%af%d9%85-%d9%88%d9%8a%d8%a8-%d8%a7%d9%84%d8%ac%d8%b2%d8%a1-%d8%a7%d9%84%d8%ab%d8%a7%d9%86%d9%8a/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>اعداد خادم ويب (الجزء الاول)</title>
		<link>http://www.linuxdocs-ar.com/html/2008/09/%d8%a7%d8%b9%d8%af%d8%a7%d8%af-%d8%ae%d8%a7%d8%af%d9%85-%d9%88%d9%8a%d8%a8-%d8%a7%d9%84%d8%ac%d8%b2%d8%a1-%d8%a7%d9%84%d8%a7%d9%88%d9%84/</link>
		<comments>http://www.linuxdocs-ar.com/html/2008/09/%d8%a7%d8%b9%d8%af%d8%a7%d8%af-%d8%ae%d8%a7%d8%af%d9%85-%d9%88%d9%8a%d8%a8-%d8%a7%d9%84%d8%ac%d8%b2%d8%a1-%d8%a7%d9%84%d8%a7%d9%88%d9%84/#comments</comments>
		<pubDate>Fri, 12 Sep 2008 04:14:27 +0000</pubDate>
		<dc:creator>مسلم عادل</dc:creator>
				<category><![CDATA[خوادم الويب]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[dns]]></category>
		<category><![CDATA[ip based]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[name based]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[virtual host]]></category>
		<category><![CDATA[webhost]]></category>
		<category><![CDATA[webserver]]></category>

		<guid isPermaLink="false">http://www.linuxdocs-ar.com/html/?p=205</guid>
		<description><![CDATA[يمكن اعتبار خادم صفحات الانترنت apache الاكثر استخداما في العالم بحسب دراسات الموقع الشهير NetCraft وغالبية الخوادم التي يعمل عليها apache هي أنظمة لينوكس.
في هذا الموضوع سنلقي نظرة عليه.


يمكن اعتبار هذا الموضوع متممة لموضوعي: بناء سيرفر لينوكس 100% والذي بالمناسبة ساقوم بتحديثه واكماله قريبا.

&#160;
تعريف Apache
Apache عبارة عن برنامج يقوم بعرض صفحات الانترنت، ويعتبر من أقدم [...]]]></description>
			<content:encoded><![CDATA[<p>يمكن اعتبار خادم صفحات الانترنت apache الاكثر استخداما في العالم بحسب دراسات الموقع الشهير <a href="http://news.netcraft.com/archives/web_server_survey.html">NetCraft</a> وغالبية الخوادم التي يعمل عليها apache هي أنظمة لينوكس.<br />
في هذا الموضوع سنلقي نظرة عليه.</p>
<p><span id="more-205"></span></p>
<p class="note">
يمكن اعتبار هذا الموضوع متممة لموضوعي: <a href="http://www.linuxac.org/forum/showthread.php?t=728">بناء سيرفر لينوكس 100%</a> والذي بالمناسبة ساقوم بتحديثه واكماله قريبا.
</p>
<p>&nbsp;</p>
<h4>تعريف Apache</h4>
<p>Apache عبارة عن برنامج يقوم بعرض صفحات الانترنت، ويعتبر من أقدم البرامج في هذا المجال ومن اكثرهم امانا ايضا. كما أن مبدأ عمله بسيط جدا، إذ لا يتعدى عمله عرض صفحات html فقط وهذا هو عمله الى يومنا هذا.<br />
ولكن Apache يدعم امكانية تزويده بالاضافات. الامر الذي يجعله يتعدى دور عرض html فقط ليتمكن من عرض برامج مكتوبة بلغات مختلفة مثل PHP, Perl, Ruby, Python</p>
<p>عدا عن امكانيته في دعم الاضافات، فانه يدعم ما يسمى بـ &#8220;الاستضافة الافتراضية&#8221; (Virtual Hosts) وهي امكانية استضافة مواقع كثيرة جدا على سيرفر واحد (Shared Server) وهذا هو حال اغلب الانترنت، حيث ان سيرفر واحد فقط بامكانه استضافة مئات المواقع وغالبية مواقع الانترنت تعمل بهذا الاسلوب.</p>
<p>&nbsp;</p>
<h4>تركيب و تشغيل Apache</h4>
<div dir="ltr" align="left"><code>root@laptop:~# apt-get install apache2 apache2-utils</code></div>
<div dir="ltr" align="left"><code>root@laptop:~# /etc/init.d/apache2 start</code></div>
<p>الان افتح أي متصفح إنترنت عندك، وقم بكتابة التالي في شريط العنوان:<br />
<span dir="ltr">http://localhost</span><br />
أو<br />
<span dir="ltr">http://127.0.0.1</span></p>
<p>يجب ان تظهر الصفحة الافتراضية لـ apache.</p>
<p>كما قلت في تقديم apache، هو الان لا يعمل اكثر من عمله البسيط الاصلي وهو عرض صفحات html فقط.</p>
<p>&nbsp;</p>
<h4>فهم ملفات الاعداد Apache</h4>
<p>Apache ومثل اغلب برامج لينوكس يمكن اعداده من خلال ملف اعداد خاص اسمه httpd.conf. وهذا الملف يحتوي على جميع خياراته.<br />
ولكن في التوزيعات المبنية على ديبيان، تم تقسيم هذا الملف الى ملفات ومجلدات بطريقة منطقية بحيث تسهل علينا التعامل مع apache والوصول الى الخيارات المرادة بسهولة ويسر.</p>
<p>تأمل الصورة التالية:</p>
<p><img src="http://www.linuxdocs-ar.com/images/apache2_01.png" alt="اباتشي 2" /></p>
<p>ستجد ان جميع الملفات والمجلدات موجودة داخل دليل واحد اسمه apache2، والذي كما هو في الصورة يحتوي على 5 مجلدات فرعية هي:</p>
<p>sites-available و sites-enabled الذي يحتوي على معلومات &#8220;الاستضافة الافتراضية&#8221; للمواقع.<br />
mods-available و mods-enabled الذي يحتوي على معلومات الاضافات (plug-ins) التي يمكن اضافتها الى apache.<br />
conf.d الذي يحتوي على اعدادات للبرامج الخارجية مثل phpmyadmin وغيره.<br />
أيضا يوجد الملف ports.conf الذي يحتوي على البوابة الافتراضية التي سيعمل عليها البرنامج.</p>
<p>كما ذكرت سابقا، بامكان apache استضافة مئات المواقع وكل موقع يمكن اعداده عن طريق انشاء ملف خاص به ووضعه داخل المجلد sites-available وتفعيله بانشاء اختصار له داخل الدليل sites-enabled او باستخدام الامر:</p>
<div dir="ltr" align="left"><code>root@laptop:~# a2ensite linuxdocs-ar</code></div>
<p>لتفعيل الموقع الجديد</p>
<p>او</p>
<div dir="ltr" align="left"><code>root@laptop:~# a2dissite linuxdocs-ar</code></div>
<p>لايقاف الموقع</p>
<p>ولو تابعنا نفس الفكرة، فانه بامكاننا استخدام الامر </p>
<div dir="ltr" align="left"><code>root@laptop:~# a2enmod php5</code></div>
<p>لتفعيل plug-in خارجي (في هذه الحالة الخاص بـ php)</p>
<p>او تنفيذ</p>
<div dir="ltr" align="left"><code>root@laptop:~# a2dismod php5</code></div>
<p>لايقاف تفعيل الـ plug-in</p>
<p>في حالات تفعيل/ايقاف الوحدات الاضافية plug-ins فانك تحتاج الى اعادة تشغيل خدمة apache والا لن تدخل التعديلات حيز التنفيذ.</p>
<div dir="ltr" align="left"><code>root@laptop:~# /etc/init.d/apache2 restart</code></div>
<p>اما في حال تفعيل/ايقاف المواقع لا تحتاج الى اعادة التشغيل، بل فقط اعادة التحميل (reload)</p>
<div dir="ltr" align="left"><code>root@laptop:~# /etc/init.d/apache2 reload</code></div>
<p>يتبع،،،،،،</p>
]]></content:encoded>
			<wfw:commentRss>http://www.linuxdocs-ar.com/html/2008/09/%d8%a7%d8%b9%d8%af%d8%a7%d8%af-%d8%ae%d8%a7%d8%af%d9%85-%d9%88%d9%8a%d8%a8-%d8%a7%d9%84%d8%ac%d8%b2%d8%a1-%d8%a7%d9%84%d8%a7%d9%88%d9%84/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>إعداد خادم DHCP</title>
		<link>http://www.linuxdocs-ar.com/html/2008/09/%d8%a5%d8%b9%d8%af%d8%a7%d8%af-%d8%ae%d8%a7%d8%af%d9%85-dhcp/</link>
		<comments>http://www.linuxdocs-ar.com/html/2008/09/%d8%a5%d8%b9%d8%af%d8%a7%d8%af-%d8%ae%d8%a7%d8%af%d9%85-dhcp/#comments</comments>
		<pubDate>Tue, 09 Sep 2008 02:52:16 +0000</pubDate>
		<dc:creator>مسلم عادل</dc:creator>
				<category><![CDATA[DHCP]]></category>
		<category><![CDATA[arabian]]></category>
		<category><![CDATA[broadcast]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[dns]]></category>
		<category><![CDATA[dynamic]]></category>
		<category><![CDATA[gateway]]></category>
		<category><![CDATA[IP]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.linuxdocs-ar.com/html/?p=87</guid>
		<description><![CDATA[Dynamic Host Configuration Protocol (DHCP) عبارة عن برنامج يقوم بتزويد اجهزة الكمبيوتر الموصلة باالشبكة بالمعلومات الأساسية للاتصال مثل عنوان IP خاص بها، عنوان خوادم الأسماء (DNS name servers)، العبارة الافتراضية للشبكة (gateway)، الخ&#8230;. دون الحاجة ان تذهب لكل جهاز واعداده يدويا.

من الناحية العملية، أعتبر وجود خادم DHCP في الشبكة أمر أساسي لما فيه راحة لمدير [...]]]></description>
			<content:encoded><![CDATA[<p><span dir="ltr">Dynamic Host Configuration Protocol (DHCP)</span> عبارة عن برنامج يقوم بتزويد اجهزة الكمبيوتر الموصلة باالشبكة بالمعلومات الأساسية للاتصال مثل عنوان IP خاص بها، عنوان خوادم الأسماء (DNS name servers)، العبارة الافتراضية للشبكة (gateway)، الخ&#8230;. دون الحاجة ان تذهب لكل جهاز واعداده يدويا.</p>
<p><span id="more-87"></span></p>
<p>من الناحية العملية، أعتبر وجود خادم DHCP في الشبكة أمر أساسي لما فيه راحة لمدير الشبكة وأيضا لما يقلل من المشاكل التي تحصل جراء الإعدادات اليدوية.</p>
<p>&nbsp;</p>
<p><strong>1. تركيب خادم DHCP</strong></p>
<div dir="ltr" align="left"><code>root@server:~# apt-get install dhcp3-server</code></div>
<p>&nbsp;</p>
<p><strong>2. الاعدادات</strong></p>
<p>ملف الاعدادات الخاص بـ dhcp موجود داخل الدليل <span dir"ltr">/etc/dhcp3</span>.<br />
لن نقوم بتحرير الملف الأصلي مباشرة، بل سنعطيه اسم اخر وننشيء ملف اعدادات جديد كالاتي:</p>
<div dir="ltr" align="left"><code>root@server:~# cd /etc/dhcp3<br />
root@server:~# mv dhcpd.conf dhcpd.conf.original<br />
root@server:~# touch dhcpd.conf<br />
root@server:~# nano dhcpd.conf</code></div>
<p>اضف التالي:</p>
<div dir="ltr" align="left">
<blockquote><p>
ddns-update-style none;<br />
default-lease-time 600;<br />
max-lease-time 7200;<br />
authoritative;<br />
subnet 172.16.1.0 netmask 255.255.0.0 {<br />
range 172.16.1.100 172.16.1.201;<br />
option routers 172.16.1.1;<br />
option domain-name-servers 172.16.1.1;<br />
option broadcast-address 172.16.1.255;<br />
}
</p></blockquote>
</div>
<p>في هذا الملف، اكثر خيار يهمنا معرفته هو السطر الذي يبدأ بالكلمة range</p>
<p>لاحظ انه يحتوي على الاي بي 172.16.1.100 والاي بي 172.16.1.201</p>
<p>هاذين العنوانين يعنيان ان اي جهاز في الشبكة عندما يحصل على ip فانه سيحصل على ip واقع ضمن 172.16.1.100-172.16.1.201</p>
<p>بعد ان تحفظ الملف، قم بتحرير الملف <span dir="ltr">/etc/default/dhcp3-server</span></p>
<p>ابحث عن INTERFACES وغيرها ليتناسب مع بطاقة الشبكة التي عندك</p>
<div dir="ltr" align="left">
<blockquote>INTERFACES=&#8221;eth1&#8243;</p></blockquote>
</div>
<p>&nbsp;</p>
<p><strong>3. تشغيل الخدمة</strong></p>
<div dir="ltr" align="left"><code>root@server:~# /etc/init.d/dhcp3-server restart</code></div>
<p>&nbsp;</p>
<p><strong>4. ربط عنوان IP مع عنوان MAC</strong></p>
<p>في بعض الأحيان تحتاج ان يحصل جهاز ما من اجهزة الشبكة على عنوان IP ثابت غير متغير وهذا الاحتياج ياتي أحيانا من طبيعة الدور الذي يلعبه الجهاز في الشبكة.<br />
DHCP يوفر لنا امكانية ربط عنوان IP بعنوان الـ MAC بجهاز معين في الشبكة بحيث يحصل الجهاز على نفس الـ IP دائما.<br />
لعمل هذا أضف التالي الى ملف اعداد dhcp</p>
<div dir="ltr" align="left">
<blockquote><p>
host backups {<br />
hardware ethernet 00:14:2A:F5:44:FB;<br />
fixed-address 172.16.1.7;<br />
}
</p></blockquote>
</div>
<p>الكلمة backups هي عبارة عن وصف للجهاز.</p>
<p>بهذه الاضافة فإن صيغة ملف الاعداد النهائية ستكون كالاتي:</p>
<div dir="ltr" align="left">
<blockquote><p>
ddns-update-style none;<br />
default-lease-time 600;<br />
max-lease-time 7200;<br />
authoritative;<br />
subnet 172.16.1.0 netmask 255.255.0.0 {<br />
range 172.16.1.100 172.16.1.201;<br />
option routers 172.16.1.1;<br />
option domain-name-servers 172.16.1.1;<br />
option broadcast-address 172.16.1.255;<br />
}</p>
<p>host backups {<br />
hardware ethernet 00:14:2A:F5:44:FB;<br />
fixed-address 172.16.1.7;<br />
}
</p></blockquote>
</div>
<p>وفي النهاية لا تنسى من اعادة تشغيل الخدمة حتى تدخل التعديلات حيز التنفيذ:</p>
<div dir="ltr" align="left"><code>root@server:~# /etc/init.d/dhcp3-server restart</code></div>
]]></content:encoded>
			<wfw:commentRss>http://www.linuxdocs-ar.com/html/2008/09/%d8%a5%d8%b9%d8%af%d8%a7%d8%af-%d8%ae%d8%a7%d8%af%d9%85-dhcp/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
