سؤال

أخطط للحصول على VPS قريبًا ولدي موقعان أريد استضافة. لدي إعداد VHosts المحلي لبيئة التطوير الخاصة بي باستخدام ملف المضيف لتنفيذها بشكل صحيح.

من المأمول أن يكون سؤالي بسيطًا: عند الإعداد مع مجالين منفصلين يشيران إلى خادم VPS واحد ، يكون Apache Smart بما فيه الكفاية ، مثل البيئة المحلية ، لتصفية أي طلبات لـ Domain.com تلقائيًا إلى VHOST الصحيح كما يفعل محليًا؟ أود فقط أن أتأكد :)

شكرًا!

مثال على ما أطلبه:

Say Domain1.com و Domain2.com كلاهما على VPS.

عندما يطلب شخص ما www.domain1.com ، يرى Apache هذا وينقله إلى ملف Domain1.com VHost. عندما يطلب شخص ما www.domain2.com ، يرى Apache هذا وينقله إلى ملف Domain2.com VHost.

هل كانت مفيدة؟

المحلول

الجواب البسيط هو "نعم" ، أباتشي هو ذكي. إذا كنت معتادًا على استخدام ملف VHOST المحلي بالتزامن مع ملف المضيفين لمحاكاة المجالات المحلية ، فيمكن تطبيق نفس التقنية بالضبط على VPS. الجزء الذي تقوم به مع ملف المضيفين هو إنشاء خادم أسماء محلي بشكل أساسي ، بخلاف ذلك ، لا يعرف Apache الفرق. ما عليك سوى تعيين توجيه ServerName لكل VHOST المسمى ويجب أن تجدها تعمل بنفس القدر كما هو الحال محليًا.

نصائح أخرى

إعادة إجابتي من استضافة مجالين باستخدام VPS واحد فقط؟ كما هو الحال هنا أكثر صلة.

كمبتدئين كاملة ، كنت أحاول استضافة مجالات متعددة على Apache VPs. كان لدى البرامج التعليمية الكثير من المعلومات التي تقودني إلى الارتباك.

أدناه أصف ، للمبتدئين الكاملين ، كيفية استضافة مجالات متعددة على خادم VPS واحد مع Ubuntu و Apache.

مهم! تحتاج إلى استخدام حساب الجذر لتنفيذ معظم العمليات.

مهم! إذا كنت تحاول إجراء بعض التغييرات على تكوين Apache من قبل ، قم بإزالةها.

إنشاء VirtualHosts

قم بإنشاء مجلدات لنطاقاتك على الخادم. فمثلا:

/home/apache/domain1

/home/apache/domain2

ضع ملف index.html في كل مجلد مع أي نص.

This is domain1
This is domain2

اذهب إلى /etc/apache2/sites-available مجلد.

إنشاء ملف domain1.conf

sudo nano domain1.conf

<VirtualHost *:80>
DocumentRoot /home/apache/domain1
ServerName domain1.com
ServerAlias www.domain1.com
</VirtualHost>

إنشاء ملف domain2.conf

sudo nano domain2.conf

<VirtualHost *:80>
DocumentRoot /home/apache/domain2
ServerName domain2.com
ServerAlias www.domain2.com
</VirtualHost>

يمكنك إنشاء نطاقات فرعية نفس الطريقة.

sudo nano blog.conf

<VirtualHost *:80>
DocumentRoot /home/apache/blog
ServerName blog.domain.com
ServerAlias www.blog.domain.com
</VirtualHost>

تمكين المواقع التي تم إنشاؤها

sudo a2ensite domain1.conf
sudo a2ensite domain2.conf

أعد تشغيل Apache

sudo service apache2 reload

إعادة توجيه المجال إلى الخادم

لن تعمل VirtualHosts التي تم إنشاؤها إلا إذا قمت بإعادة توجيه اسم المجال الخاص بك إلى IP Server. المجالات هي مجرد أسماء يمكن ترجمتها إلى أرقام IP.

الكمبيوتر المحلي

لاختبار التكوين الخاص بك على الجهاز المحلي ، تحتاج إلى تحرير ملف المضيفين.

sudo nano /etc/hosts

يجب أن تبدو هذه.

127.0.0.1       localhost domain1.com domain2.com

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

مهم! إذا قمت بإنشاء إدخال في ملف المضيفين للمجال الحالي ، على سبيل المثال

127.0.0.1       stackoverflow.com

سوف تفقد الوصول إلى هذا الموقع.

الخادم

من أجل إعادة توجيه المجال إلى خادم الويب الخاص بك ، تحتاج إلى إنشاء أو تعديل سجل DNS من النوع لنطاق معين إلى عنوان IP الخاص بالخادم الخاص بك. يمكنك القيام بذلك عن طريق التحكم في اللوحة المقدمة من مسجل المجال الخاص بك.

إذا كنت لا تعرف عنوان IP الخاص بالخادم الخاص بك ، فقم بتسجيل الدخول إلى هذا الخادم واكتب سطر الأوامر:

ifconfig
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top