كيفية استخدام خادم 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من خلال الواجهة مع IP192.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 على أساس كل مضيف ، بحيث يمكنك التحكم بشكل كامل في كل إعداد موقع افتراضي.





