إعداد المضيفات الافتراضية الأساسي
أعدّوا المضيفات الافتراضية (أو كتل الخوادم) لاستضافة عدة مواقع على خادم واحد باستخدام أسماء نطاقات مختلفة.
إعداد المضيفات الافتراضية الأساسي درس مجاني في Linux Server Deployment & SSH Mastery على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Linux Server Deployment & SSH Mastery، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Linux Server Deployment & SSH Mastery 4 دروس في المجموع.
استضافة عدة مواقع ويب
تخيل أن لديك خادمًا قويًا واحدًا، لكنك تريد استضافة عدة مواقع ويب مختلفة، لكل منها اسم نطاق خاص به، مثل myshop.com وmyblog.com.
كيف يمكن لخادم واحد التعامل مع ذلك بكفاءة دون الحاجة إلى جهاز منفصل لكل موقع؟
ما المضيفون الافتراضيون؟
هنا يأتي دور المضيفين الافتراضيين في Apache أو كتل الخادم في Nginx!
- وهي وحدات إعداد تتيح لخادم ويب واحد استضافة عدة أسماء نطاقات.
- يمكن أن يكون لكل نطاق جذر مستندات خاص به، حيث توجد ملفاته، بالإضافة إلى سجلاته وإعداداته الخاصة.
- يوفر ذلك الموارد ويبسط إدارة الخادم.
إعداد المضيف الافتراضي في Apache
في Apache، تُخزَّن إعدادات المضيفين الافتراضيين عادةً في ملفات .conf ضمن أدلة محددة:
/etc/apache2/sites-available/: يحتوي على جميع إعدادات المضيفين الافتراضيين المتاحة./etc/apache2/sites-enabled/: يحتوي على روابط رمزية للإعدادات النشطة حاليًا.
نستخدم أوامر مثل a2ensite لتفعيلها.
Apache: المضيف الافتراضي الأساسي
فيما يلي إعداد بسيط لمضيف Apache افتراضي. يُنشأ هذا الملف في sites-available.
<VirtualHost *:80>
ServerAdmin webmaster@example.com
ServerName myfirstsite.com
ServerAlias www.myfirstsite.com
DocumentRoot /var/www/myfirstsite
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>Apache: خطوات الإعداد
لإعداد مضيف Apache افتراضي للنطاق myfirstsite.com:
- أنشئ مجلدًا لملفات موقعك.
- أنشئ ملف إعداد المضيف الافتراضي.
- فعّل الموقع وأعد تحميل Apache.
لنلقِ نظرة على أوامر الخطوتين الأوليين:
sudo mkdir -p /var/www/myfirstsite/html
sudo chown -R $USER:$USER /var/www/myfirstsite/html
sudo nano /etc/apache2/sites-available/myfirstsite.confApache: التفعيل وإعادة التحميل
بعد إنشاء ملف .conf وحفظه، استخدم هذه الأوامر لتفعيله وتطبيق التغييرات:
sudo a2ensite myfirstsite.conf: ينشئ رابطًا رمزيًا فيsites-enabled.sudo apache2ctl configtest: يتحقق من وجود أخطاء نحوية في إعداد Apache.sudo systemctl reload apache2: يطبّق الإعداد الجديد من دون إعادة تشغيل الخادم.
sudo a2ensite myfirstsite.conf
sudo apache2ctl configtest
sudo systemctl reload apache2إعداد Server Block في Nginx
يستخدم Nginx ما يُسمى Server Blocks، وهي مشابهة جدًا للمضيفين الافتراضيين في Apache. كما تستخدم بنية مجلدات مشابهة:
/etc/nginx/sites-available/: يخزّن جميع إعدادات Server Block./etc/nginx/sites-enabled/: يحتوي على روابط رمزية إلى Server Blocks النشطة.
بدلًا من استخدام أمر مساعد، ننشئ الروابط الرمزية يدويًا.
Nginx: Server Block أساسي
فيما يلي إعداد أساسي لـ Server Block في Nginx للنطاق mysecondsite.com. يُنشأ هذا الملف في sites-available.
server {
listen 80;
listen [::]:80;
root /var/www/mysecondsite/html;
index index.html index.htm;
server_name mysecondsite.com www.mysecondsite.com;
location / {
try_files $uri $uri/ =404;
}
}Nginx: خطوات الإعداد
لإعداد Server Block في Nginx للنطاق mysecondsite.com:
- أنشئ مجلدًا لملفات موقعك.
- أنشئ ملف إعداد Server Block.
- أنشئ رابطًا رمزيًا وأعد تحميل Nginx.
فيما يلي أوامر الخطوتين الأوليين:
sudo mkdir -p /var/www/mysecondsite/html
sudo chown -R $USER:$USER /var/www/mysecondsite/html
sudo nano /etc/nginx/sites-available/mysecondsiteNginx: التفعيل وإعادة التحميل
بعد إنشاء ملف Server Block وحفظه، استخدم هذه الأوامر لتفعيله وتطبيق التغييرات:
sudo ln -s /etc/nginx/sites-available/mysecondsite /etc/nginx/sites-enabled/: ينشئ الرابط الرمزي.sudo nginx -t: يختبر إعداد Nginx بحثًا عن أخطاء نحوية.sudo systemctl reload nginx: يطبّق الإعداد الجديد من دون إعادة التشغيل.
sudo ln -s /etc/nginx/sites-available/mysecondsite /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginxالتحقق من المضيف الافتراضي
لقد تعلمتم كيفية إعداد خوادم الويب لاستضافة مواقع متعددة. لنختبر مدى فهمكم.
مراجعة: مواقع متعددة، خادم واحد
أحسنتم! لقد تعلمتم أساسيات إعداد المضيفين الافتراضيين في Apache وServer Blocks في Nginx.
- تتيح لكم هذه الإعدادات استضافة مواقع ويب متعددة بكفاءة على خادم واحد.
- أصبحتم تعرفون الآن كيفية إعداد تكوينات منفصلة لأسماء نطاقات مختلفة.
- تُعد هذه مهارة أساسية لإدارة خوادم الويب ونشر تطبيقات متعددة.
الأسئلة الشائعة
هل درس «إعداد المضيفات الافتراضية الأساسي» مجاني؟
نعم — نص درس «إعداد المضيفات الافتراضية الأساسي» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Linux Server Deployment & SSH Mastery، انتقل إلى CoddyKit PRO. تتضمن دورة Linux Server Deployment & SSH Mastery 4 دروس في المجموع.
ماذا ستتعلم في «إعداد المضيفات الافتراضية الأساسي»؟
أعدّوا المضيفات الافتراضية (أو كتل الخوادم) لاستضافة عدة مواقع على خادم واحد باستخدام أسماء نطاقات مختلفة. تتمرن على Linux Server Deployment & SSH Mastery مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Linux Server Deployment & SSH Mastery؟
لا تُشترط خبرة سابقة. Linux Server Deployment & SSH Mastery على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.
كم من الوقت يستغرق درس «إعداد المضيفات الافتراضية الأساسي»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Linux Server Deployment & SSH Mastery هذا؟
نعم. كل درس في Linux Server Deployment & SSH Mastery يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- تثبيت Nginx/Apache
- استضافة المواقع الثابتة
- إعداد المضيفات الافتراضية الأساسي
- تمكين HTTPS باستخدام Let's Encrypt