با سلام 🙂 در ادامه با آموزش مرحله به مرحله طریقه راه اندازی Apache Virtual Hosts روی Ubuntu 18.0.4 در خدمتتون هستم.
هاست مجازی آپاچی به شما این اجازه را می دهد که بیش از یک وبسایت را روی یک ماشین بالا بیاورید.
پیش نیاز اصلی نصب بودن آپاچی روی لینوکس شما هست. در این آموزش من قصد دارم دامین asemanexpress.ir رو بیارم بالا.
به ساختار زیر توجه کنید:
/var/www/
├── domain1.com
│ └── public_html
به ازای هر دامنه شما باید ساختاری مانند بالا داشته باشیم (در پایین مثال ساختاری سه دامنه آورده شده است)
/var/www/
├── domain1.com
│ └── public_html
├── domain2.com
│ └── public_html
├── domain3.com
│ └── public_html
پس برای هر دامنه ای که میخواهیم روی سرورمان میزبانی کنیم ما باید دایرکتوری جداگانه ای در دایرکتوری /var/www داشته باشیم. داخل هر دایرکتوری نیز دایرکتوری با نام public_html داریم که داخل آن فایل های وبسایت را نگهداری می کنیم.
قدم اول :
ساخت دایرکتوری برای دامنه جدیدمان، از این به بعد، مثالمان asemanexpress.ir می باشد:
sudo mkdir -p /var/www/asemanexpress.ir/public_html
برای تست کردن در آینده نیاز به یک فایل Html ساده نیز داریم. فایلرا با نام index.html و در مسیر زیر می سازیم :
nano /var/www/asemanexpress.ir/public_html/index.html
محتوای فایل را مانند زیر بسازید:
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title>Welcome to AsemanExpress.ir</title>
</head>
<body>
<h1>Success! AsemanExpress.ir now is run and acceptable!</h1>
</body>
</html>
برای جلوگیری از پیشامد های permission ها، صاحب دایرکتوری اصلی دامنه را به کاربر آپاچی (www-data) تغییر می دهیم:
sudo chown -R www-data: /var/www/asemanexpress.ir
قدم دوم :
ساخت هاست های مجازی، بصورت پیشفرض در اوبونتو، فایل های کانفیگ هاست های مجازی در دایرکتوری /etc/apache2/sites-available ذخیره شده اند. و باید در دایرکتوری /etc/apache2/sites-enabled فعال شوند.
پس به دایرکتوری /etc/apache2/sites-available رفته و فایل asemanexpress.ir.conf را بسازید.
/sudo nano etc/apache2/sites-available/asemanexpress.ir.conf
محتوای فایل را به صورت زیر بسازید:
<VirtualHost *:80>
ServerName asemanexpress.ir
ServerAlias www.asemanexpress.ir
ServerAdmin webmaster@asemanexpress.ir
DocumentRoot /var/www/asemanexpress.ir/public_html
<Directory /var/www/asemanexpress.ir/public_html>
Options -Indexes +FollowSymLinks
AllowOverride All
</Directory>
ErrorLog ${APACHE_LOG_DIR}/asemanexpress.ir-error.log
CustomLog ${APACHE_LOG_DIR}/asemanexpress.ir-access.log combined
</VirtualHost>
قدم سوم : فعال کردن هاست مجازی
برای enable کردن هاست مجازی از a2ensite می شود استفاده کرد:
sudo a2ensite asemanexpress.ir
روش دیگه به صورت دستی و Manual است :
sudo ln -s /etc/apache2/sites-available/asemanexpress.ir.conf /etc/apache2/sites-enabled/
خب حالا که هاست را فعال کردید، با دستور زیر چک کنید اروری نداشته باشید:
sudo apachectl configtest
خروجی باید به صورت زیر باشد:
Syntax OK
حال آپاچی سرویس را ریست کنید و بعدش از دامنه جدیدتون که بالا اومده فیض ببرید
sudo systemctl restart apache2
http://asemanexpress.ir
ارسال پاسخ