راه‌اندازی Virtual Hosts آپاچی در Ubuntu

?How To Set Up Apache Virtual Hosts on Ubuntu

How-To-Set-Up-Apache-Virtual-Hosts-on-Ubuntu

سلام به همراهان گرامی روکسو در این مقاله قصد داریم با میزبانی مجازی در وب سرور 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>

این دو فایل ایجاد شده را ذخیره می کنیم.

قدم چهارم ایجاد فایل های Virtual Host

فایل‌های میزبان مجازی فایل‌هایی هستند که پیکربندی واقعی میزبان‌های مجازی ما را مشخص می‌کنند و نحوه پاسخگویی وب سرور آپاچی به درخواست‌های دامنه مختلف را دیکته می‌کنند.

ما با یک دامنه شروع می‌کنیم، آن را پیکربندی می‌کنیم، آن را برای دومین دامنه خود کپی می‌کنیم و سپس تنظیمات بیشتری را انجام می‌دهیم. پیکربندی پیش‌فرض اوبونتو مستلزم آن است که هر فایل میزبان مجازی به conf. ختم شود

ایجاد فایل های Virtual Host

به مسیر /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

اکنون که فایل های میزبان مجازی (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

نویسنده شوید

دیدگاه‌های شما

در این قسمت، به پرسش‌های تخصصی شما درباره‌ی محتوای مقاله پاسخ داده نمی‌شود. سوالات خود را اینجا بپرسید.