## راهاندازی سرور مستقل Apache با میزبانی مجازی مبتنی بر نام و گواهینامه SSL
راهاندازی یک سرور Apache بهصورت مستقل همراه با میزبانی مجازی (Virtual Hosting) و پشتیبانی از گواهینامه SSL، از مهمترین مراحل برای میزبانی امن و چنددامنهای وبسایتها روی یک سرور واحد است. در این مقاله، مرحلهبهمرحله روش انجام این کار را توضیح میدهیم.
### پیشنیازها
* یک سرور لینوکس (ترجیحاً Ubuntu 20.04 یا جدیدتر)
* دسترسی root یا کاربر دارای sudo
* دامنههای ثبتشده (مثلاً `example.com` و `example2.com`)
* آدرس IP ثابت برای سرور
---
## مرحله اول: نصب Apache
ابتدا مطمئن شوید Apache روی سرور نصب است:
```bash
sudo apt update
sudo apt install apache2 -y
```
برای فعالسازی و راهاندازی Apache:
```bash
sudo systemctl enable apache2
sudo systemctl start apache2
```
بررسی وضعیت:
```bash
sudo systemctl status apache2
```
---
## مرحله دوم: فعالسازی ماژولهای مورد نیاز
برای پشتیبانی از میزبانی مجازی و SSL، ماژولهای زیر باید فعال باشند:
```bash
sudo a2enmod ssl
sudo a2enmod rewrite
sudo a2enmod headers
sudo a2enmod vhost_alias
```
سپس Apache را ریاستارت کنید:
```bash
sudo systemctl restart apache2
```
---
## مرحله سوم: تنظیم میزبانی مجازی مبتنی بر نام
فایل پیکربندی برای دامنه اول ایجاد کنید:
```bash
sudo nano /etc/apache2/sites-available/example.com.conf
```
محتوای زیر را در فایل قرار دهید:
```apache
<VirtualHost *:80>
ServerAdmin admin@example.com
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public_html
ErrorLog ${APACHE_LOG_DIR}/example.com_error.log
CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined
</VirtualHost>
```
برای دامنه دوم نیز مشابه عمل کنید.
سپس دایرکتوری وبسایت را بسازید:
```bash
sudo mkdir -p /var/www/example.com/public_html
```
و یک فایل ساده برای تست قرار دهید:
```bash
echo "<h1>Welcome to example.com</h1>" | sudo tee /var/www/example.com/public_html/index.html
```
تغییر مالکیت و دسترسی:
```bash
sudo chown -R www-data:www-data /var/www/example.com
sudo chmod -R 755 /var/www
```
فعالسازی سایت:
```bash
sudo a2ensite example.com.conf
```
ریلود Apache:
```bash
sudo systemctl reload apache2
```
---
## مرحله چهارم: فعالسازی SSL با Let’s Encrypt (اختیاری ولی توصیهشده)
نصب Certbot:
```bash
sudo apt install certbot python3-certbot-apache -y
```
دریافت و نصب خودکار گواهی SSL:
```bash
sudo certbot --apache -d example.com -d www.example.com
```
اگر همه چیز درست باشد، Certbot به صورت خودکار پیکربندی SSL را اضافه میکند و سایت را روی HTTPS بالا میآورد.
---
## مرحله پنجم: بررسی و تست
حالا با باز کردن `http://example.com` یا `https://example.com` در مرورگر، باید صفحهای که ایجاد کردهاید را ببینید.
برای بررسی تمدید خودکار گواهی:
```bash
sudo certbot renew --dry-run
```
---
## جمعبندی
در این مقاله یاد گرفتیم چگونه یک سرور Apache مستقل راهاندازی کنیم، چند دامنه را بهصورت name-based روی آن میزبانی کنیم، و گواهی SSL رایگان برای هر دامنه فعال کنیم. این روش هم مقرونبهصرفه است و هم امنیت وبسایتها را تضمین میکند.