Virtual Hossts یک دستورالعمل پیکربندی Apache است که به شما امکان می دهد بیش از یک وب سایت را روی یک سرور واحد اجرا کنید. با Virtual Hossts ، می توانید ریشه سند سایت (دایرکتوری حاوی پرونده های وب سایت) را مشخص کنید ، یک سیاست امنیتی جداگانه برای هر سایت ایجاد کنید ، از گواهینامه های SSL مختلف و موارد دیگر استفاده کنید. در این مقاله ، نحوه تنظیم Virtual Hossts Apache در Ubuntu 20.04 توضیح داده شده است. با ما در شتابان هاست همراه باشيد.
اطمینان حاصل کنید که قبل از شروع كردن شرایط زیر را رعایت کرده اید:
root دایرکتوری است که فایل های وب سایت برای نام دامنه در پاسخ به درخواست ها در آن ذخیره و سرو می شوند. می توانید سند root را در هر مکانی که می خواهید تنظیم کنید؛ در این مثال از ساختار فهرست زیر استفاده خواهیم کرد:
/var/www/ ├── domain1.com │ └── public_html ├── domain2.com │ └── public_html
هر دامنه ای که در سرور هاست باشد ، سند root خود را بر روی / var / www / <domain_name> / public_html تنظیم مي کند.
با ایجاد فهرست اصلی برای دامنه شروع کنید:
sudo mkdir -p /var/www/domain1.com/public_html
ما همچنین یک فایل index.html را در فهرست سند root دامنه ایجاد خواهیم کرد که هنگام بازدید از دامنه در مرورگر شما نشان داده می شود:
<!DOCTYPE html> <html lang="en" dir="ltr"> <head> <meta charset="utf-8"> <title>Welcome to domain1.com</title> </head> <body> <h1>Success! domain1.com home page!</h1> </body>
</html>
از آنجا که دستورات فوق به عنوان کاربر sudo اجرا می شوند ، پرونده ها و دایرکتوری های تازه ایجاد شده متعلق به root هستند. برای جلوگیری از هرگونه مجوز ، مالکیت دایرکتوری root و کلیه پرونده های موجود در فهرست را به کاربر apache تغییر دهید:
sudo chown -R www-data: /var/www/domain1.com
در سیستم های اوبونتو ، پرونده های پیکربندی Virtual Hossts در فهرست / etc / apache2 / سایت های موجود قرار دارند. آنها را می توان با ایجاد پیوندهای نمادین به فهرست / etc / apache2 / سایت های فعال شده از سایت ، که آپاچی در هنگام راه اندازی خوانده است ، فعال کنید.
ویرایشگر متن مورد نظر خود را باز کنید و فایل پیکربندی اولیه Virtual Hosst زیر را ایجاد کنید:
<VirtualHost *:80> ServerName domain1.com ServerAlias www.domain1.com ServerAdmin webmaster@domain1.com DocumentRoot /var/www/domain1.com/public_html
<Directory /var/www/domain1.com/public_html> Options -Indexes +FollowSymLinks AllowOverride All </Directory>
ErrorLog ${APACHE_LOG_DIR}/domain1.com-error.log CustomLog ${APACHE_LOG_DIR}/domain1.com-access.log combined </VirtualHost>
ErrorLog
, CustomLog:
موقعیت مکانی برای پرونده های log را مشخص می کند.می توانید پرونده پیکربندی را مطابق دلخواه خود نامگذاری کنید ، اما بهترین روش استفاده از نام دامنه به عنوان نام فایل پیکربندی Virtual Hossts است.
برای فعال کردن پرونده Virtual Hossts جدید ، از اسکریپت a2ensite استفاده کنید که یک پیوند نمادین از پرونده Virtual Hosst به فهرست دایرکتوری سایت ها ایجاد می کند:
sudo a2ensite domain1.com
گزینه دیگر این است که بطور دستی مانند سیم کارت مانند شکل زیر ایجاد کنید:
sudo ln -s /etc/apache2/sites-available/domain1.com.conf /etc/apache2/sites-enabled/
پس از اتمام ، برای جلوگيري از هرگونه خطاي احتمالي عبارت را تايپ كنيد:
sudo apachectl configtest
در صورت عدم خطا ، خروجی زیر را مشاهده خواهید کرد:
Syntax OK
برای اعمال تغییرات ، سرویس Apache را مجدداً راه اندازی کنید:
sudo systemctl restart apache2
در آخر برای تأیید اینکه همه چیز مطابق آنچه انتظار می رود کار مي کند ، http://domain1.com را در مرورگر خود باز کنید و محتوای صفحه index.html را مشاهده خواهید کرد.
شما آموخته اید که چگونه یک Virtual Hosst در apache ایجاد کنید تا هاست چندین دامنه بر روی یک سرور Ubuntu باشد. ما را در شتابان هاست دنبال كنيد.