سلام به همراهان گرامی روکسو در این مقاله قصد داریم با میزبانی مجازی در وب سرور Apache آشنا شویم.
وب سرور آپاچی یکی از محبوب ترین وب سرورها در اینترنت است که بیش از ۵۰ درصد وب سایت های فعال در اینترنت را شامل می شود و بسیار قدرتمند و انعطاف پذیر است. Apache عملکرد و اجزای خود را به واحدهای فردی تقسیم می کند که می تواند مستقل و سفارشی شود. واحد اصلی که یک سایت یا دامنه خاص را تولید می کند، یک Virtual Host است.
این نامگذاریها به مدیر اجازه میدهد تا با استفاده از مکانیزم تطبیق، از یک سرور برای میزبانی چندین دامنه یا سایت خارج از یک رابط یا IP استفاده کند. این مربوط به هرکسی است که به دنبال میزبانی بیش از یک سایت از یک سرور واحد است.
هر دامنه ای که پیکربندی می شود، بازدیدکننده را به دایرکتوری خاصی هدایت می کند که اطلاعات آن سایت را در خود نگه می دارد و هرگز نشان نمی دهد که همان سرور مسئول سایت های دیگر نیز است. تا زمانی که سرور شما بتواند بارگذاری را تحمل کند، این طرح بدون محدودیت نرم افزاری قابل گسترش است.
در این آموزش، نحوه راه اندازی هاست مجازی آپاچی در سرور اوبونتو را به شما آموزش خواهیم داد. در طی این فرآیند، یاد خواهید گرفت که چگونه محتوای مختلف را به بازدیدکنندگان مختلف بسته به دامنههایی که درخواست میکنند ارائه دهید.
اگر به دلیل کمبود منابع سیستم نمی توانید سیستم عامل اوبونتو را در مجازی ساز نصب کنید پیشنهاد من به شما سیستم عامل لوبونتو می باشد این سیستم عامل منابع کمتری را مصرف می کند
قبل از شروع این دو دستور را برای نصب Apache وارد کنید:
sudo apt-get update sudo apt-get install apache2
اولین قدمی که میخواهیم برداریم، ساختن یک ساختار دایرکتوری است که دادههای سایتی را که به بازدیدکنندگان ارائه میکنیم، نگه میدارد.
ریشه سند ما (دایرکتوری سطح بالایی که آپاچی برای یافتن محتوایی برای ارائه به آن نگاه می کند) روی دایرکتوری های جداگانه در دایرکتوری var/www/ تنظیم می شود. ما در اینجا یک دایرکتوری برای هر دو هاست مجازی که قصد ساخت آن ها را داریم ایجاد می کنیم.
در هر یک از این دایرکتوری ها، ما یک پوشه public_html ایجاد می کنیم که فایل های واقعی ما را در خود نگه می دارد. این به ما انعطاف پذیری در میزبانی ما می دهد.
برای این کار دستورات زیر را وارد کنید:
sudo mkdir -p /var/www/example.com/public_html sudo mkdir -p /var/www/test.com/public_html
اکنون ما ساختار دایرکتوری فایل های خود را داریم، اما آنها متعلق به کاربر اصلی ما هستند. اگر میخواهیم کاربر معمولی ما بتواند فایلها را در فهرستهای وب ما تغییر دهد، میتوانیم مالکیت را با وارد کردن دستورات زیر تغییر دهیم:
sudo chown -R $USER:$USER /var/www/example.com/public_html sudo chown -R $USER:$USER /var/www/test.com/public_html
متغیر USER$ مقدار کاربری را که در حال حاضر وارد شده است، میگیرد. با انجام این کار، کاربر معمولی ما اکنون دارای زیرشاخه های public_html است که در آن محتوای خود را ذخیره می کنیم.
همچنین باید مجوزهای خود را کمی تغییر دهیم تا اطمینان حاصل کنیم که دسترسی خواندن به فهرست وب عمومی و همه فایلها و پوشههای موجود در آن مجاز است تا بتوان صفحات را به درستی ارائه کرد:
sudo chmod -R 755 /var/www
در این قدم می خواهیم برای هر سایت، یک صفحه index.html ایجاد کنیم و یک پیام ساده در آن به نمایش بگذاریم.
در قدم اول در پوشه دامنه site.io یک فایل index.html ایجاد می کنیم:
nano /var/www/site.io/public_html/index.html
و دستورت زیرا وارد می کنیم:
<html> <head> <title>site.io</title> <style> body:{ font-size:30px; } </style> </head> <body> <center><h1>Hello welcome to site.io</h1></center> </body> </html>
و همچنین در پوشه دامنه site.ir یک فایل index.html ایجاد می کنیم:
nano /var/www/site.ir/public_html/index.html
و دستورات زیر را وارد می کنیم:
<html> <head> <title>site.ir</title> <style> body:{ font-size:30px; } </style> </head> <body> <center><h1>Hello welcome to site.ir</h1></center> </body> </html>
این دو فایل ایجاد شده را ذخیره می کنیم.
فایلهای میزبان مجازی فایلهایی هستند که پیکربندی واقعی میزبانهای مجازی ما را مشخص میکنند و نحوه پاسخگویی وب سرور آپاچی به درخواستهای دامنه مختلف را دیکته میکنند.
ما با یک دامنه شروع میکنیم، آن را پیکربندی میکنیم، آن را برای دومین دامنه خود کپی میکنیم و سپس تنظیمات بیشتری را انجام میدهیم. پیکربندی پیشفرض اوبونتو مستلزم آن است که هر فایل میزبان مجازی به conf. ختم شود
به مسیر /etc/apache2/sites-available/ بروید:
cd /etc/apache2/sites-available/
در این مسیر دو فایل با نام های site.io.conf و site.ir.conf ایجاد کنید و با ویرایشگر خود آن را تغییر دهید:
sudo nano site.ir.conf
برای فایل site.ir.conf دستورات زیر را وارد کنید:
<VirtualHost *:80> ServerName site.ir # نام دامنه هر نام دلخواهی می تواند باشد ServerAlias www.site.ir # نام جایگزین ServerAdmin admin@site.ir # ایمیل ادمین سایت DocumentRoot /var/www/site.ir/public_html # مسیر دایرکنوری ErrorLog ${APACHE_LOG_DIR}/error_site.ir.log CustomLog ${APACHE_LOG_DIR}/access_site.ir.log combined </VirtualHost>
فایل را ذخیره کنید و فایل site.io.conf را باز کنید و دستورات زیر را وارد کنید:
<VirtualHost *:80> ServerName site.io ServerAlias www.site.io ServerAdmin admin@site.io DocumentRoot /var/www/site.io/public_html ErrorLog ${APACHE_LOG_DIR}/error_site.io.log CustomLog ${APACHE_LOG_DIR}/access_site.io.log combined </VirtualHost>
اکنون که فایل های میزبان مجازی (Virtual Host) خود را ایجاد کرده ایم، باید آن ها را فعال کنیم. آپاچی شامل ابزارهایی است که به ما این امکان را می دهد.
ما میتوانیم از ابزار a2ensite برای فعال کردن هر یک از سایتهایمان مانند زیر استفاده کنیم:
sudo a2ensite site.io.conf sudo a2ensite site.ir.conf
سپس سایت پیش فرض تعریف شده در 000-default.conf را غیرفعال کنید:
sudo a2dissite 000-default.conf
وقتی کارتان تمام شد، باید Apache را مجددا راه اندازی کنید تا این تغییرات اعمال شوند:
sudo systemctl restart apache2
در این آخرین قدم باید فایل etc/hosts/ را ویرایش کرد:
sudo nano /etc/hosts
و مقدار زیر را در آخر فایل اضافه کنید:
127.0.0.1 site.ir 127.0.0.1 site.io
فایل را ذخیره کنید در مرورگر به آدرس site.ir و site.io بروید.
منبع: وب سایت digitalocean
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.