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