تكنولوجيا

كيفية استخدام خادم Apache واحد لاستضافة مواقع ويب متعددة – CloudSavvy IT

استضافة افتراضية Apache هي ميزة تسمح لك باستضافة عدة مواقع مستقلة من تثبيت Apache واحد. يحتوي كل موقع على دليل نظام الملفات الخاص به واسم المجال. يمكنك توفير مواقع مختلفة للزوار المختلفين بناءً على المجال الذي يستخدمونه.

المضيف الظاهري يستخدم التوجيهات في ملف تكوين Apache.عادة ما يتم تخزينها في ملفات sites-out there الدليل في موقع تثبيت Apache.في أنظمة دبيان ، عادةً ما يكون /and so forth/apache2؛ قد تستخدم التوزيعات الأخرى /and so on/httpd.

نفترض أنك قمت بالفعل بتشغيل Apache. سننشئ مضيفين افتراضيين منفصلين ، a.example.com مع b.illustration.com. لا يوجد حد لعدد المضيفات الظاهرية التي يمكنك استخدامها – إذا كنت بحاجة إلى أكثر من عشرة مواقع على خادم واحد ، فإن Apache سيتولى الالتزام.

تكوين الموقع

يحتاج كل موقع إلى دليل نظام الملفات الخاص به. ستضع ملفات موقع الويب الخاص بك (مثل HTML و CSS وجافا سكريبت) في هذا الدليل.تسمى DocumentRoot تم توفيره بواسطة Apache ، لأنه أصل توفير الوثائق.

يمكنك العثور على الموقع في أي مكان على النظام.سترى غالبًا مضيفات افتراضية مخزنة فيه /var/www، كل موقع له مجلده الخاص:

sudo mkdir -p /var/www/a.instance.com
sudo mkdir -p /var/www/b.example.com

/var/www عادة بواسطة root، لذلك نحن نستخدم sudo إنشاء الدلائل الفرعية. بعد ذلك ، قم بتغيير ملكية الدليل الجذر للمستند إلى المستخدم الخاص بك وقم بتعيين الأذونات المناسبة. سيسمح هذا لأباتشي بقراءة الملف مع منحك حق الوصول للكتابة حتى تتمكن من إضافة المحتوى.

sudo chown -R $Person:$User /var/www/a.illustration.com
sudo chown -R $User:$Person /var/www/b.case in point.com
sudo chmod -R 755 /var/www

انسخ ملفات موقع الويب الخاص بك إلى الدليل.سوف نستخدم اثنين بسيط index.html ملف:

a.instance.com/index.html


    
        

a.instance.com

b.case in point.com/index.html


    
        

b.example.com

تكوين Apache

الآن يمكنك تكوين المضيف الظاهري. قم بإنشاء ملف مضيف افتراضي جديد لكل موقع. الملف المسمى ليس مهما. وفقًا للاتفاقية ، عادةً ما يتطابق مع اسم مضيف موقع الويب الخاص بك.

يحتاج كل مضيف افتراضي إلى الإعلان عن سمتين على الأقل:

  • ServerName – سيتم توفير اسم المضيف (المجال) للموقع من.
  • DocumentRoot -موقع نظام الملفات الذي سيخدمه هذا المضيف الظاهري.

هذا نموذج تكوين لموقعينا:

/and so on/apache2/web-sites-available/a.example.com.conf


    ServerName a.instance.com
    DocumentRoot /var/www/a.example.com

/and many others/apache2/websites-readily available/b.instance.com.conf


    ServerName b.example.com
    DocumentRoot /var/www/b.case in point.com

هذا الإعداد الأساسي كافٍ لجعل كلا الموقعين يعملان بشكل صحيح!هذا *:80 هذا يعني أن Apache سينظر في استخدام هذا المضيف الظاهري للتعامل مع أي طلبات تصل إلى المنفذ 80. ServerName بيان.

تمكين المضيف الظاهري

أضف مضيفًا افتراضيًا إلى internet sites-out there منجز صالح للإستعمال لكنها غير نشطة. تحتاج إلى تمكين كل موقع تريد استخدامه يدويًا.يجب ربط تكوين المضيف الظاهري المُمكّن بـ /and so forth/apache2/sites-enabled (أو /and so forth/httpd/internet sites-enabled).

في أنظمة دبيان ، يمكنك استخدام ملفات a2ensite أمر لتبسيط هذه الخطوة:

a2ensite a.case in point.com
a2ensite b.example.com

في التوزيعات الأخرى ، يرجى استخدام ln أمر لإنشاء ارتباط رمزي يدويًا.

sudo ln -s /etcetera/httpd/web pages-readily available/a.example.com.conf /and many others/httpd/web-sites-enabled/a.case in point.com.conf
sudo ln -s /and many others/httpd/web-sites-accessible/a.case in point.com.conf /and many others/httpd/websites-enabled/b.instance.com.conf

أخيرًا ، أعد تشغيل Apache لتطبيق التكوين الجديد.بعد إضافة تغييرات المضيف الظاهري إلى المضيف الظاهري ، يجب إعادة تشغيل الخادم internet sites-enabled.

sudo apache2ctl restart

الآن ، يجب أن تكون قادرًا على رؤية Apache يخدم موقعين مختلفين.إذا لم تقم بحل DNS للخادم ، فيمكنك تعديل النظام /and many others/hosts ملف لاختبار الإعدادات الخاصة بك.

أضف السطر التالي إلى /and so forth/hosts:

127...1 a.example.com
127...1 b.instance.com

سيؤدي ذلك إلى إجبار كلا المجالين على العودة إلى نظامك. يمكنك الآن الوصول إليها في متصفحك لعرض صفحتين مختلفتين “استضافة افتراضية”.

الاسم المستعار للموقع

أذا أردت تطابق الموقع على مجالات متعددة ، الرجاء استخدام ServerAlias تعليمات في المضيف الظاهري. عندما يطابق Apache المضيفين الظاهريين بالطلبات الواردة ، سيتم النظر في كل اسم مستعار.إذا طلب Host رأس يطابق واحد ServerAlias أو ServerName.


    ServerName a.instance.com
    ServerAlias instance.com
    ServerAlias www.instance.com
    DocumentRoot /var/www/a.illustration.com

هذا المثال سيكون a المواقع على ثلاثة مجالات دون تكرار أي تفاصيل التكوين.أنت يجب أن استعمال ServerAlias تحديد مجالات متعددة – تكرار ServerName ربما ، لكنها ستغطي الاستخدامات المبكرة.

خيارات التكوين الأخرى

يمكن استخدام العديد من خيارات تكوين خادم Apache مع المضيفين الظاهريين. عندما يستخدم Apache مضيفين افتراضيين لمعالجة الطلبات ، فإنهم سيتجاوزون إعدادات الخادم العالمية.


    ServerName a.instance.com
    DocumentRoot /var/www/a.instance.com
    DirectoryIndex my-index.html

    
        AllowOverride All
        Possibilities -Indexes
        Need all granted
    

    ErrorLog $APACHE_LOG_DIR/error.log
    CustomLog $APACHE_LOG_DIR/entry.log merged

سيتم تطبيق المزيد من الإعدادات على هذا المضيف الظاهري. my-index.html يتم توفيره بشكل افتراضي ، لا index.html، واستخدام موقع تسجيل مخصص.بالإضافة إلى ذلك ، استخدم Directory ممنوع. .htaccess السماح بالتغطية (AllowOverride All) ، ويتم تعطيل صفحة قائمة دليل Apache الافتراضية (Possibilities -Indexes).

مضيف عنوان IP

بالإضافة إلى المضيفات القائمة على الأسماء التي رأيناها حتى الآن ، يدعم Apache أيضًا المضيفات المستندة إلى IP. عندما يكون للخادم واجهات متعددة للشبكة (مثل الشبكة الداخلية للشركة والإنترنت العام) ، فإن المضيف المستند إلى IP هو الخيار الأمثل. يمكنك تقديم خدمات لمواقع أخرى بناءً على واجهة الشبكة المستخدمة.


    ServerName a.case in point.com
    DocumentRoot /var/www/a



    ServerName b.example.com
    DocumentRoot /var/www/b



    ServerName a.illustration.com
    DocumentRoot /var/www/a2

في هذا المثال، a.example.com من خلال الواجهة مع IP 192.168.0.1 ستتلقى محتوى مختلفًا عن المحتوى المرسل عبر 172.17.0.1.بالإضافة إلى ذلك ، سيتمكن مستخدمو IP الأخير من الوصول b.example.com.لن يتعرض الموقع للمستخدمين الذين يتصلون عبر 192.168.0.1.

تتيح لك هذه الطريقة استخدام خادم لشبكة الإنترانت الخاصة بالشركة والمواقع العامة. اربط الموقع الداخلي بـ LAN IP الخاص بالخادم ؛ قم بتشغيل المضيف العام بناءً على عنوان WAN الخاص به.

مطابقة المضيف الظاهري

إجراءات حل مضيف Apache الافتراضية موثقة جيدًا وبسيطة جدًا.

عادة ، سيحاول Apache المطابقة Host عنوان الطلب المستهدف ServerName أو ServerAlias الحقول في تكوين المضيف الظاهري.إذا كان هناك العديد من التطابقات ، فسيستخدم Apache ملفات أولا يطابق المضيف الظاهري الذي تم العثور عليه.

يتم فرز المضيفين الظاهريين بترتيب اسم الملف.اذا أنت يحتاج موقع يجب مطابقته أولاً ، يرجى إعادة تسمية ملف التكوين الخاص به بحيث يتم فرزه قبل الموقع الهدف.يمكنك إضافة بادئة رقم ، على سبيل المثال 000-a.example.com.conf. في معظم الحالات ، هذا غير ضروري - إذا كانت جميع مواقعك تحتوي على مجالات فريدة ، فلن تواجه أبدًا أي تعارضات.

ختاما

تسمح لك استضافة أباتشي الافتراضية بتحليل التكوين متعدد المواقع إلى ملفات تعريف مستقلة.يمكنك تمكين وتعطيل كل موقع بشكل مستقل عن طريق ربطه بكل موقع sites-enabled.

تتوفر العديد من خيارات التكوين للمضيفين الظاهريين. يمكنك تجاوز بعض إعدادات خادم Apache على أساس كل مضيف ، بحيث يمكنك التحكم بشكل كامل في كل إعداد موقع افتراضي.

مقالات ذات صلة

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى