Как добавить несколько сайтов в апаче?

Как я могу добавить сертификат для другого сайта к данному конфигурационному файлу для веб-сервера Apache? Я хочу добавить новый VirtualHost для второго домена с соответствующим SSL-сертификатом и ключом.
  • 6 февраля 2024 г. 8:58
Ответы на вопрос 1
Чтобы добавить новые сайты (или домены) в веб-сервер Apache, вам нужно создать конфигурацию VirtualHost для каждого из них. Для работы с SSL сертификатами нужно использовать модуль `mod_ssl`. Вот шаги, которые вам следует выполнить:

1. Создайте конфигурационные файлы для ваших сайтов в каталоге `/etc/apache2/sites-available/` (или в соответствующем конфигурационном каталоге для вашего дистрибутива).

Например, для сайта `domain1.com`:

```apache
<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName domain1.com
    ServerAlias www.domain1.com
    DocumentRoot /var/www/html/domain1.com
    ErrorLog ${APACHE_LOG_DIR}/domain1.com_error.log
    CustomLog ${APACHE_LOG_DIR}/domain1.com_access.log combined
</VirtualHost>

<VirtualHost *:443>
    ServerAdmin [email protected]
    ServerName domain1.com
    ServerAlias www.domain1.com
    DocumentRoot /var/www/html/domain1.com
    ErrorLog ${APACHE_LOG_DIR}/domain1.com_error.log
    CustomLog ${APACHE_LOG_DIR}/domain1.com_access.log combined

    SSLEngine on
    SSLCertificateFile /path/to/your_domain1_com.crt
    SSLCertificateKeyFile /path/to/your_private_domain1_com.key
    SSLCertificateChainFile /path/to/DigiCertCA.crt
</VirtualHost>
```

2. Создайте аналогичный конфигурационный файл для второго сайта `domain2.com`:

```apache
<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName domain2.com
    ServerAlias www.domain2.com
    DocumentRoot /var/www/html/domain2.com
    ErrorLog ${APACHE_LOG_DIR}/domain2.com_error.log
    CustomLog ${APACHE_LOG_DIR}/domain2.com_access.log combined
</VirtualHost>

<VirtualHost *:443>
    ServerAdmin [email protected]
    ServerName domain2.com
    ServerAlias www.domain2.com
    DocumentRoot /var/www/html/domain2.com
    ErrorLog ${APACHE_LOG_DIR}/domain2.com_error.log
    CustomLog ${APACHE_LOG_DIR}/domain2.com_access.log combined

    SSLEngine on
    SSLCertificateFile /path/to/your_domain2_com.crt
    SSLCertificateKeyFile /path/to/your_private_domain2_com.key
    SSLCertificateChainFile /path/to/DigiCertCA.crt
</VirtualHost>
```

3. Включите новые сайты с помощью команды `a2ensite`. Например:

```bash
sudo a2ensite domain1.com.conf
sudo a2ensite domain2.com.conf
```

4. Перезапустите Apache чтобы применить изменения:

```bash
sudo service apache2 restart
```
или
```bash
sudo systemctl restart apache2
```

Убедитесь, что вы указали правильные пути к файлам сертификата, ключа и цепочки сертификатов CA. Имейте в виду, что вышеизложенные пути и конфигурационные файлы могут отличаться в зависимости от вашего дистрибутива Linux и настроек Apache.
Похожие вопросы