نحوه راه اندازی Apache Virtual Hosts در CentOS 8

نحوه راه اندازی Apache Virtual Hosts در CentOS 8

سعیده مهاجری

Apache Virtual Hosts به شما امکان می دهد بیش از یک وب سایت را در یک ماشین اجرا کنید. با استفاده از Virtual Hosts ، می توانید دایرکتوری حاوی فایل های وب سایت را تعیین کنید ، برای هر سایت یک security policy جداگانه ایجاد کنید ، از گواهینامه های SSL مختلف و موارد دیگر استفاده کنید. در این مقاله با ما همراه باشید تا شما عزیزان را با نحوه راه اندازی Apache Virtual Hosts در CentOS 8 آشنا کنیم.

پیش نیازها :

قبل از ادامه این آموزش اطمینان حاصل کنید که شرایط زیر را داشته اید:

  • نام دامنه به IP سرور عمومی شما اشاره دارد.
  • Apache بر روی سیستم CentOS شما نصب شده است.
  • شما به عنوان root یا user با امتیازات sudo وارد سیستم شده اید.

ایجاد Directory Structure :

document root ، دایرکتوری است که در آن فایل های وب سایت برای یک نام دامنه ذخیره می شود و در پاسخ به درخواست ها ارائه می شود. document root را می توان روی هر مکانی که می خواهید تنظیم کنید. ما از ساختار دایرکتوری زیر استفاده خواهیم کرد:

/var/www/
├── example.com
│   └── public_html
├── example2.com
│   └── public_html
├── example3.com
│   └── public_html

برای هر دامنه hosted شده در سرور ، یک دایرکتوری جداگانه در داخل / var / www ایجاد کنید. در دایرکتوری دامنه ، ما یک پوشه public_html ایجاد خواهیم کرد که پوشه document root دامنه خواهد بود و فایل های وب سایت دامنه را ذخیره می کند. بیایید با ایجاد دایرکتوری document root برای دامنه اول ، example.com شروع کنیم:

sudo mkdir -p /var/www/example.com/public_html

یک فایل index.html در داخل دایرکتوری document root دامنه ایجاد کنید:

sudo nano /var/www/example.com/public_html/index.html

کد زیر را در فایل کپی و جایگذاری کنید:

<!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>

برای جلوگیری از بروز هرگونه مشکل ، مالکیت دایرکتوری document root دامنه را به کاربر apache تغییر دهید:

sudo chown -R apache: /var/www/example.com

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

چند راه برای راه اندازی یک virtual host وجود دارد. شما می توانید تمام دستورالعمل های virtual host را در یک فایل واحد اضافه کنید یا برای هر دستورالعمل virtual host یک فایل کانفیگ جدید ایجاد کنید. به طور کلی ، شما باید روش دوم را که بیشتر قابل نگهداری است ترجیح دهید. به طور پیش فرض ، Apache کانفیگ شده است تا تمام فایل های کانفیگ که با .conf به پایان می رسد را از دایرکتوری /etc/httpd/conf.d/ دانلود کند. برای ایجاد یک virtual host برای یک وب سایت خاص ، ویرایشگر مورد نظر خود را باز کرده و فایل اصلی کانفیگ virtual host زیر را ایجاد کنید:

<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 /var/log/httpd/example.com-error.log

    CustomLog /var/log/httpd/example.com-access.log combined

</VirtualHost>
  • ServerName: نام دامنه ای است که از کانفیگ virtual host برای آن استفاده خواهد شد. این نام دامنه شما است.
  • ServerAlias: تمام دامنه های دیگری که از کانفیگ virtual host نیز برای آنها استفاده خواهد شد ، مانند زیر دامنه www.
  • DocumentRoot: پوشه ای که Apache از آن فایل های دامنه را ارائه می دهد.
  • Options: این دستورالعمل ویژگی های سرور مربوط به هر دایرکتوری را کنترل می کند.
  • -Indexes: از لیست دایرکتوری ها جلوگیری می کند.
  • FollowSymLinks: هنگامی که این گزینه فعال باشد ، Apache پیوندهای نمادین را دنبال می کند.
  • AllowOverride: مشخص می کند که دستورالعمل های اعلام شده در فایل .htaccess می توانند دستورالعمل های کانفیگ را لغو کنند.
  • ErrorLog ، CustomLog: مکان فایل های ورود به سیستم را مشخص می کند.

فایل را با توجه به نیاز خود ویرایش کرده و ذخیره کنید. نام فایل کانفیگ باید با .conf پایان یابد. می توانید فایل کانفیگ را همانطور که دوست دارید نامگذاری کنید. بهترین روش استفاده از نام دامنه به عنوان نام فایل کانفیگ virtual host است. پس از فعال شدن کانفیگ ، در صورت درست بودن ، تست کنید:

sudo apachectl configtest

اگر خطایی وجود نداشته باشد ، خروجی زیر را مشاهده خواهید:

Syntax OK

برای فعال کردن یک virtual host تازه ایجاد شده ، سرویس Apache را مجدداً راه اندازی  کنید:

sudo systemctl restart httpd

http://example.com را در مرورگر مورد علاقه خود باز کنید و مواردی از این قبیل را مشاهده خواهید کرد:

نحوه راه اندازی Apache Virtual Hosts در CentOS 8

جمع بندی :

در این آموزش ، ما به شما نشان دادیم که چگونه می توانید کانفیگ Apache virtual host را در CentOS 8 ایجاد کنید. شما می توانید مراحل ذکر شده در بالا را تکرار کرده و virtual hosts اضافی را برای تمام دامنه های خود ایجاد کنید.

امیدواریم مطالب مورد پسند بوده و از آن بهره لازم را برده باشید. خوشحال میشویم نظرات و سوالات خود را در قسمت دیدگاه به اشتراک بگذارید و ما را در شتابان هاست همراهی کنید.😊

برچسب ها: دستورات لینوکس