البدء مع Windows IIS (خدمات المعلومات على الإنترنت)

المواقع الإلكترونية هي أكثر أنواع المحتوى شيوعًا على الإنترنت اليوم. ولكن لضمان رؤية موقع الويب الخاص بك لأوسع جمهور ممكن، ستحتاج إلى استضافة موقع الويب الخاص بك على خادم ويب. كيف؟ قد تفكر في اللجوء إلى خدمات معلومات الإنترنت لنظام التشغيل Windows (Windows IIS)، وهو اختيار شائع لاستضافة مواقع الويب.

في هذا البرنامج التعليمي، ستتعلم أساسيات البدء في إدارة تطبيقات الويب باستخدام Windows IIS عبر واجهة المستخدم الرسومية أو بيئة سطر الأوامر!

تابع القراءة وارتقِ في إدارة تطبيقات الويب الخاصة بك مع Windows IIS!

المتطلبات

سيكون هذا البرنامج التعليمي عرضًا عمليًا. إذا كنت ترغب في متابعة، تأكد من أن لديك:

  • A Windows machine – This tutorial uses Windows Server 2012 since it’s stable and available at a low cost (or free). But you can also use Windows 10 for this tutorial.
  • توزيع Visual C++ مثبتًا على جهاز Windows الخاص بك. يتطلب Windows IIS توزيع Visual C++ لعرض صفحات PHP بشكل صحيح.

تثبيت Windows IIS على خادم Windows

يقدم خادم الويب IIS وظائف قوية وقابلية للتوسع لاستضافة المواقع والخدمات على أنظمة التشغيل Windows. ولكن قبل استخدام IIS، يجب عليك أولاً تثبيت هذه الأداة على جهاز Windows الخاص بك.

لتثبيت Windows IIS على خادم Windows:

1. اضغط على Ctrl+R لفتح مربع القيام بالتشغيل، اكتب ServerManager، واضغط على Enter.

يفتح هذا الإجراء لوحة معلومات الخادم. يستخدم مسؤول تكنولوجيا المعلومات هذه لوحة المعلومات الرسومية لمهام يومية متنوعة تتعلق بإدارة الخادم.

Launching the Server Manager

2. على مدير الخوادم، انقر على رابط إضافة الأدوار والميزات لفتح معالج، حيث يمكنك إضافة خدمات الأدوار والميزات إلى الخادم المحلي الخاص بك.

Initiating adding roles and features

3. بعد ذلك، اقرأ المعلومات على صفحة “قبل أن تبدأ” وانقر فوق التالي.

يمكنك أيضًا تحديد خيار “تخطي هذه الصفحة افتراضيًا” حتى لا ترى هذه الصفحة مرة أخرى في المرة القادمة التي تقوم فيها بإضافة الأدوار والميزات.

Acknowledging the welcome page

4. الآن، على صفحة نوع التثبيت، حدد الخيار الأول (تثبيت الأدوار أو الميزات بناءً على الأدوار) وانقر على التالي.

يُفضل هذا الخيار في معظم الحالات، حيث يرشدك خلال إضافة الأدوار وخدمات الأدوار والميزات المحددة بطريقة قياسية.

إذا اخترت الخيار الثاني (تثبيت خدمات سطح المكتب عن بُعد)، يتعين عليك تحديد الأدوار والخدمات والميزات المطلوبة يدويًا للتثبيت.

Selecting installation type

5. حدد الخادم الخاص بك من حوض الخوادم، وانقر على التالي.

يمكنك أيضًا تحديد عدة خوادم لتثبيت موزع، ولكن ذلك خارج نطاق هذا البرنامج التعليمي.

Selecting a destination server

6. بعد ذلك، حدد خانة اختيار خادم الويب (IIS) على صفحة أدوار الخادم لبنية تحتية قابلة للتطوير لتطبيق الويب، وانقر على التالي.

Selecting the Web Server (IIS) role to install on the destination server

7. اترك الاختيارات الافتراضية محددة، وانقر على التالي. تُخبر هذه الخطوة Windows بتثبيت جميع الخدمات الفرعية المطلوبة لدور خادم IIS، بما في ذلك ASP.NET والمحتوى الثابت والمستند الافتراضي.

Confirming default selected features

8. استعرف المزيد من المعلومات حول دور خادم الويب (IIS)، وانقر على التالي.

Reviewing more information about the Web Server Role (IIS)

9. على صفحة خدمات الدور، اترك الاختيارات الافتراضية، ولكن قم بتوسيع فئة تطوير التطبيق، حدد خانة اختيار CGI، وانقر على التالي.

هذا الخيار يثبت دعم واجهة البوابة المشتركة (CGI)، وهي طريقة قياسية لتواصل التطبيقات الخارجية مع خوادم الويب.

Selecting role services

10. بعد تكوين إعدادات التثبيت، انقر على زر التثبيت لتثبيت الأدوار والميزات المحددة.

Installing the selected roles and features

11. بعد اكتمال التثبيت، كما هو موضح أدناه، انقر على إغلاق لإنهاء وإخراج المعالج.

وها هو! لقد قمت بتثبيت Windows IIS بنجاح على خادمك.

Finishing the roles and features installation

12. في النهاية، افتح متصفح الويب المفضل لديك، وانتقل إلى http://localhost/.

إذا كان كل شيء على ما يرام، سترى صفحة IIS الافتراضية مثل الصورة أدناه، والتي تؤكد تشغيل خادم الويب الخاص بك.

Viewing the default IIS web page

تثبيت PHP وتكوين IIS للتعامل مع طلبات PHP

لقد قمت بتثبيت Windows IIS بنجاح على خادمك، ولكن لا تزال بحاجة إلى وسيلة لنشر الصفحات على خادمك. ولهذا البرنامج التعليمي، ستقوم بتثبيت PHP وتكوين IIS للتعامل مع طلبات PHP.

لتثبيت PHP على خادمك:

1. انتقل إلى صفحة التنزيل الخاصة بإصدار PHP. في وقت كتابة هذا المقال، آخر إصدار مستقر هو PHP 8.1.

قم بتنزيل حزمة ZIP غير الآمنة للموضوع الفرعي (NTS) لأن IIS يستخدم موضوعًا واحدًا للتعامل مع كل طلب. الحزمة الآمنة للموضوع (TS) مخصصة لـ IIS FastCGI، الذي يتيح لـ PHP العمل في بيئة متعددة الخيوط.

Downloading the PHP (NST) package

2. قم بفك الضغط عن أرشيف PHP المُنزّل إلى دليل PHP (C:\PHP\) على خادمك.

بعد فك الضغط عن الأرشيف، سيتعين عليك تثبيت وتكوين IIS حتى تتمكن من إدارة ونشر تطبيقات الويب.

Unzipping the downloaded PHP archive to the PHP directory

3. افتح مدير الخادم الخاص بك، واختر لوحة القيادة → الأدوات → إدارة خدمات معلومات الإنترنت (IIS). تفتح هذه الإجراءات نافذة إدارة IIS Manager، حيث يمكنك تكوين إعدادات IIS، وإنشاء وإدارة مواقع الويب، ونشر تطبيقات الويب.

Opening the IIS Manager console.

4. الآن، حدد خادم الخاص بك (لوحة الاتصالات)، وانقر نقرًا مزدوجًا فوق تعيينات المعالج للوصول إلى قائمة تعيينات المعالج المتاحة.

Accessing handler mappings

5. في صفحة تعيينات المعالج، انقر فوق إضافة تعيين وحدة (لوحة اليمين)، مما يفتح مربع حوار إضافة تعيين وحدة.

Initiating adding a module mapping

6. بعد ذلك، قم بتكوين التعيين الجديد بما يلي:

  • مسار الطلب – اكتب *.php لإخبار IIS بتوجيه جميع الطلبات التي تنتهي بـ .php إلى وحدة معالج PHP. يسمح الرمز البارز (*) لك بتوفير الوقت حيث لا يتعين عليك إضافة تعيين معالج لكل ملف PHP.
  • الوحدة – اختر FastCgiModule لتحديد أن وحدة FastCGI يجب أن تتعامل مع الطلبات.
  • القابلة للتنفيذ – أدخل المسار الكامل إلى ملف php-cgi.exe. في هذا المثال، المسار هو C:\PHP\php-cgi.exe.
  • الاسم – قدم اسمًا فريدًا لتعيين الوحدة، ولكن يستخدم هذا البرنامج التعليمي PHP_FastCGI.
  • انقر فوق محددات الطلبات لتكوين قيود الطلبات.
Adding module mapping

7. حدد مربع الاختيار، واختر الخيار ملف أو مجلد. يضمن هذا الخيار أن تطبيق تعيين المعالج ينطبق فقط على الملفات على الخادم.

Selecting the invoke handler

8. انتقل إلى علامة التصريفات، واختر خيار جميع الأفعال. يخبر هذا الخيار IIS بإعادة توجيه جميع أنواع طلبات HTTP، مثل GET و POST و HEAD، إلى وحدة معالج PHP.

Selecting all verbs to be handled

9. الآن على علامة الوصول، اختر الخيار النصي، وانقر فوق موافق. يخبر هذا الخيار IIS أن صفحات PHP هي نصوص يجب تنفيذها بدلاً من ملفات ثابتة يتم تقديمها مباشرة.

Selecting the required access by the handler

10. عد إلى إضافة تعيين الوحدة، وانقر فوق موافق لإضافة تعيين وحدة جديد.

Adding the new module mapping

11. وأخيرا، افتح PowerShell كمسؤول، وقم بتشغيل أمر IISRESET لإعادة تشغيل Windows IIS. هذا الإجراء ضروري لتفعيل تعيين المعالج الجديد.

IISRESET 
Restarting the Windows IIS server

نشر موقع الويب الخاص بك لأول مرة

الآن بعد تثبيت PHP وتكوين IIS، يأتي الجزء الأكثر إثارة — نشر موقع الويب الخاص بك. ولكن أولاً، تحتاج إلى موقع ويب لنشره. ستقوم بإنشاء ونشر صفحة PHP أساسية إلى خادم IIS الخاص بك في هذا المثال.

1. أنشئ ملف جديد index.php في محرر النص المفضل لديك في دليل جذر الموقع. في هذا المثال، دليل جذر الموقع هو C:\inetpub\wwwroot\.

الامتداد .php يخبر IIS أن ملف index.php هو صفحة PHP تحتاج إلى معالجتها بواسطة وحدة معالج PHP.

2. بعد ذلك، قم بإضافة الكود التالي إلى ملف index.php الجديد الخاص بك، احفظ التغييرات وأغلق الملف.

الكود أدناه يخبر IIS بعرض رسالة “Hello World” بسيطة على صفحة PHP في متصفحك.

<?php
header('Content-Type: text/html; charset=UTF-8');
echo '<html><head><title>Hello World</title></head><body>Hello world!</body></html>';

3. في النهاية، افتح علامة تبويب جديدة في متصفح الويب الخاص بك، وانتقل إلى http://localhost/index.php لطلب صفحتك index.php من خادم IIS المحلي. بفعل ذلك، يمكنك اختبار ما إذا كان نشر موقع الويب الخاص بك يعمل.

إذا كان كل شيء على ما يرام، سترى رسالة Hello world! على صفحة index.php، كما هو موضح أدناه.

Testing the PHP (index.php) page

إدارة IIS على نظام Windows عبر بيئة سطر الأوامر

هل أنت من محبي استخدام واجهة سطر الأوامر؟ ليس هناك مشكلة! بالإضافة إلى واجهة المستخدم الرسومية، يمكن أيضًا إدارة IIS باستخدام سطر الأوامر. باستخدام هذه الأداة، يمكنك إدارة معظم جوانب IIS، بما في ذلك المواقع، والتطبيقات، والدلائل الظاهرية، وحمامات التطبيقات، وما إلى ذلك.

في هذا البرنامج التعليمي، ستتعرف على بعض الأوامر الأساسية لإدارة IIS. ولكن للحصول على قائمة كاملة لجميع أوامر AppCmd.exe المتاحة، تفقد وثائق Microsoft الرسمية.

1. افتح موجه الأوامر كمسؤول، وقم بتشغيل الأوامر التالية لعرض جميع المواقع المتاحة في خادم IIS الخاص بك.

%systemroot%\system32\inetsrv\APPCMD list sites

سترى قائمة بجميع المواقع التي تعمل حاليًا على الخادم الخاص بك وبعض المعلومات الأساسية حول كل موقع، مثل الهوية، الحالة، إلخ.

هل هذا الشرح عام جدًا؟ لا مشكلة! يمكنك أيضًا استخدام AppCmd.exe للاستعلام عن موقع ويب معين في الخطوة التالية لتفصيل المعلومات التي تهتم بها.

Listing all the websites on your IIS server.

2. قم بتشغيل الأمر التالي للحصول على جميع المعلومات حول موقع الويب الافتراضي.

%systemroot%\system32\inetsrv\APPCMD list site "Default Web Site"
Listing all information about a specific website

3. بعد ذلك، قم بتشغيل الأوامر التالية لإيقاف موقع ويب معين وعرض جميع المواقع المتوقفة (/state:Stopped).

يمكنك استبدال حالة التوقف بحالات الموقع الأخرى، مثل البدء، التشغيل، أو الغير معروف.


%systemroot%\system32\inetsrv\APPCMD stop sites "Default Web Site"
%systemroot%\system32\inetsrv\APPCMD list sites /state:Stopped
Finding all websites that are currently stopped

4. الآن، قم بتشغيل الأمر التالي، مجمعًا بين معايير متعددة مفصولة بمسافة، لتصفية النتائج بشكل أكبر.

الأمر أدناه يقوم بعرض جميع المواقع التي في حالة التوقف (/state:Stopped) ولديها تشغيل تلقائي على مستوى الخادم (/serverAutoStart:true).

%systemroot%\system32\inetsrv\APPCMD list sites /serverAutoStart:true /state:Stopped

5. أخيرًا، قم بتشغيل الأمر التالي لبدء الموقع الذي قمت بإيقافه في الخطوة الثالثة (“موقع الويب الافتراضي”).

Starting a stopped website

الاستنتاج

لقد رأيت كيف يتيح لك Windows IIS إدارة مواقع الويب الخاصة بك. وفي هذا البرنامج التعليمي، تعلمت تثبيت وتكوين IIS على خادم Windows لنشر واختبار موقع ويب PHP أساسي. Windows IIS هو أداة متعددة الاستخدامات تتيح لك إدارة مواقع الويب الخاصة بك عبر واجهة المستخدم الرسومية وبيئة سطر الأوامر.

مع هذا المعرفة الجديدة، أنت مستعد الآن لبدء بناء مواقع الويب والتطبيقات الخاصة بك على IIS! لماذا لا تتعلم كيفية إنشاء موقع ووردبريس على IIS المقبل؟

Source:
https://adamtheautomator.com/windows-iis/