ایجاد میزبان مجازی در Apache با قابلیت فعال‌سازی/غیرفعال‌سازی در CentOS 7 پرینت


## ایجاد میزبان مجازی در Apache با قابلیت فعال‌سازی/غیرفعال‌سازی در CentOS 7

اگر می‌خواهید چند وب‌سایت را روی یک سرور Apache در CentOS/RHEL 7 میزبانی کنید، باید از قابلیت **Virtual Hosts** استفاده کنید. در این مقاله یاد می‌گیرید چگونه میزبان‌های مجازی ایجاد کرده و به‌صورت دستی فعال یا غیرفعال کنید.

---

### 🔧 پیش‌نیازها

* سرور CentOS/RHEL 7 با دسترسی root
* نصب Apache
* ثبت دامنه (مثلاً `site1.com`, `site2.com`)
* تنظیم DNS یا ویرایش فایل `/etc/hosts` برای تست محلی

---

## ۱. نصب Apache در CentOS 7

```bash
sudo yum install httpd -y
```

فعال‌سازی سرویس:

```bash
sudo systemctl start httpd
sudo systemctl enable httpd
```

بررسی وضعیت:

```bash
sudo systemctl status httpd
```

---

## ۲. ساخت ساختار دایرکتوری برای وب‌سایت‌ها

```bash
sudo mkdir -p /var/www/site1.com/public_html
sudo mkdir -p /var/www/site2.com/public_html
```

اضافه کردن محتوای ساده تستی:

```bash
echo "<h1>Site 1</h1>" | sudo tee /var/www/site1.com/public_html/index.html
echo "<h1>Site 2</h1>" | sudo tee /var/www/site2.com/public_html/index.html
```

تنظیم مالکیت و سطح دسترسی:

```bash
sudo chown -R apache:apache /var/www
sudo chmod -R 755 /var/www
```

---

## ۳. ایجاد فایل‌های Virtual Host

پیش‌فرض در CentOS مسیر خاصی برای site-available و site-enabled مثل اوبونتو وجود ندارد، اما می‌توانیم مشابه آن را پیاده‌سازی کنیم:

### 📁 ساخت دایرکتوری‌های site-available و site-enabled

```bash
sudo mkdir /etc/httpd/sites-available
sudo mkdir /etc/httpd/sites-enabled
```

ویرایش فایل پیکربندی Apache برای بارگذاری این مسیرها:

```bash
sudo nano /etc/httpd/conf/httpd.conf
```

در انتهای فایل اضافه کنید:

```apache
# Virtual hosts
IncludeOptional sites-enabled/*.conf
```

---

## ۴. ایجاد پیکربندی میزبان مجازی

### 🔧 سایت اول: `site1.com`

```bash
sudo nano /etc/httpd/sites-available/site1.com.conf
```

محتوا:

```apache
<VirtualHost *:80>
ServerAdmin admin@site1.com
ServerName site1.com
ServerAlias www.site1.com
DocumentRoot /var/www/site1.com/public_html
ErrorLog logs/site1.com_error.log
CustomLog logs/site1.com_access.log combined
</VirtualHost>
```

### سایت دوم مشابه همین است.

---

## ۵. فعال‌سازی و غیرفعال‌سازی Virtual Hostها

برای فعال‌سازی از **symlink** استفاده می‌کنیم:

```bash
sudo ln -s /etc/httpd/sites-available/site1.com.conf /etc/httpd/sites-enabled/site1.com.conf
```

برای غیرفعال‌سازی:

```bash
sudo rm /etc/httpd/sites-enabled/site1.com.conf
```

---

## ۶. تست پیکربندی و ریستارت Apache

تست کنید:

```bash
sudo apachectl configtest
```

در صورت OK بودن، Apache را ریستارت کنید:

```bash
sudo systemctl restart httpd
```

---

## ۷. افزودن دامنه به `/etc/hosts` (فقط برای تست محلی)

```bash
sudo nano /etc/hosts
```

اضافه کنید:

```
127.0.0.1 site1.com
127.0.0.1 site2.com
```

---

## ✅ نتیجه‌گیری

شما اکنون می‌توانید به‌راحتی چندین وب‌سایت را روی یک سرور CentOS با Apache راه‌اندازی کرده و به صورت دستی آن‌ها را فعال یا غیرفعال کنید. این روش مشابه مدیریت در اوبونتو است و باعث نظم بیشتر در پیکربندی میزبان‌ها می‌شود.

 


آیا این پاسخ به شما کمک کرد؟

  • 0
« برگشت