Apache, широко используемый веб-сервер с открытым исходным кодом, играет решающую роль в размещении веб-сайтов в Интернете. Одной из его мощных функций является возможность настройки виртуальных хостов, позволяющих размещать несколько доменов на одном сервере. В этом подробном руководстве мы покажем вам пошаговый процесс настройки виртуальных хостов с помощью Apache в Ubuntu 24.04 LTS, последней версии популярного дистрибутива Linux с долгосрочной поддержкой.
Предварительные условия
Прежде чем приступить к настройке виртуального хоста, убедитесь, что у вас есть следующие предварительные условия:
- Работающий экземпляр Ubuntu 24.04 LTS.
- SSH-доступ к вашему серверу
- Зарегистрированное доменное имя, указывающее на IP-адрес вашего сервера.
- Базовые знания командной строки Linux.
Выполнив эти требования, давайте перейдем к первому этапу настройки виртуального хоста.
Шаг 1. Обновите и обновите систему
Чтобы убедиться, что на вашем сервере Ubuntu установлены последние исправления безопасности и обновления программного обеспечения, выполните следующие команды:
sudo apt update
sudo apt upgrade
Эти команды обновят список пакетов и обновят все устаревшие пакеты до последних версий, обеспечивая стабильную и безопасную основу для настройки вашего виртуального хоста.
Шаг 2. Установите веб-сервер Apache
Если Apache еще не установлен на вашем сервере Ubuntu, вы можете легко установить его с помощью менеджера пакетов APT. Выполните следующую команду:
sudo apt install apache2
После завершения установки убедитесь, что Apache работает, проверив состояние его службы:
sudo systemctl status apache2
Если Apache активен и работает, вы увидите зеленый статус «активен (работает)», указывающий, что веб-сервер готов обслуживать ваши виртуальные хосты.
Шаг 3. Настройте параметры брандмауэра
Чтобы гарантировать доступность ваших виртуальных хостов из Интернета, вам необходимо настроить брандмауэр на разрешение трафика HTTP и HTTPS. Ubuntu 24.04 LTS поставляется с утилитой UFW (Uncomplicationd Firewall), которая упрощает управление брандмауэром. Выполните следующую команду, чтобы разрешить трафик Apache:
sudo ufw allow 'Apache Full'
Эта команда откроет необходимые порты для трафика HTTP (порт 80) и HTTPS (порт 443), обеспечивая доступ посетителей к вашим виртуальным хостам.
Шаг 4. Настройте структуру каталогов вашего веб-сайта
Создайте каталог для хранения файлов и контента вашего сайта. Для целей данного руководства предположим, что ваше доменное имя — «ваш_домен». Выполните следующую команду, чтобы создать каталог:
sudo mkdir -p /var/www/html/your_domain
Затем установите соответствующие разрешения и владельца для каталога, чтобы ваш веб-сервер мог получать доступ к файлам и обслуживать их:
sudo chown -R $USER:$USER /var/www/html/your_domain
sudo chmod -R 755 /var/www/html/your_domain
Эти команды предоставят вашей учетной записи пользователя право владения каталогом и установят необходимые разрешения для веб-сервера на чтение и выполнение файлов.
Шаг 5. Создайте файл конфигурации виртуального хоста
Перейдите в каталог, доступный для сайтов Apache, и создайте новый файл конфигурации для вашего виртуального хоста:
sudo nano /etc/apache2/sites-available/your_domain.conf
Внутри файла добавьте следующую конфигурацию, заменив «ваш_домен» фактическим именем домена:
<VirtualHost *:80>
ServerAdmin webmaster@your_domain
ServerName your_domain
ServerAlias www.your_domain
DocumentRoot /var/www/html/your_domain
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Этот блок конфигурации определяет основные настройки вашего виртуального хоста, включая имя сервера, корень документа и расположение файлов журналов. Сохраните файл и выйдите из редактора.
Шаг 6. Включите новую конфигурацию виртуального хоста
Чтобы активировать вновь созданную конфигурацию виртуального хоста, используйте команду a2ensite:
sudo a2ensite your_domain.conf
Если у вас включена конфигурация Apache по умолчанию, рекомендуется отключить ее, чтобы избежать конфликтов:
sudo a2dissite 000-default.conf
Наконец, перезагрузите Apache, чтобы применить изменения:
sudo systemctl reload apache2
Ваш виртуальный хост теперь включен и готов обслуживать ваш сайт.
Шаг 7. Проверьте настройку виртуального хоста
Откройте веб-браузер и получите доступ к своему доменному имени (например, http://your_domain
). Если все настроено правильно, вы должны увидеть содержимое вашего сайта.
Если у вас возникнут какие-либо проблемы, вы можете устранить неполадки, проверив журналы ошибок Apache:
less /var/log/apache2/error.log
Журналы ошибок предоставят ценную информацию, которая поможет вам выявить и устранить любые проблемы с конфигурацией или правами доступа к файлам.
Шаг 8. Защитите свой сайт с помощью SSL с помощью Let’s Encrypt
Чтобы добавить дополнительный уровень безопасности к вашему виртуальному хосту и включить HTTPS, вы можете получить сертификат SSL от Let’s Encrypt, бесплатного и автоматизированного центра сертификации. Установите клиент Certbot и плагин Apache:
sudo apt install certbot python3-certbot-apache
Затем запустите Certbot, чтобы получить и установить SSL-сертификат для вашего домена:
sudo certbot --apache -d your_domain -d www.your_domain
Certbot проведет вас через этот процесс, автоматически настроит Apache для использования сертификата SSL и настроит автоматическое продление, чтобы ваш сертификат оставался действительным.
Чтобы протестировать процесс автоматического продления, вы можете запустить следующую команду:
sudo certbot renew --dry-run
Эта команда имитирует процесс обновления без фактического получения нового сертификата, гарантируя, что конфигурация продления работает должным образом.