HTTP-сервер Apache, ранее известный как Apache Web Server, представляет собой бесплатное программное обеспечение с открытым исходным кодом, разработанное и поддерживаемое Apache Software Foundation. Это мощный и один из самых популярных веб-серверов в мире.
В этом руководстве мы расскажем вам о настройке виртуальных хостов Apache в Ubuntu 18.10. Как правило, виртуальный хост используется для размещения нескольких веб-сайтов на одном веб-сервере. Если вы заинтересованы в настройке HTTP-сервера Apache, перейдите к нашему пошаговому руководству по настройке веб-сервера Apache HTTP в Ubuntu.
Настройка виртуальных хостов Apache в Ubuntu
Есть два типа виртуальных хостов, которые мы можем настроить на Apache.
- Один сервер Apache, один IP-адрес и несколько веб-сайтов => Виртуальные хосты на основе имени
- Единый сервер Apache и уникальный IP-адрес для каждого веб-сайта => виртуальный хостинг на основе IP-адреса
Виртуальный хост на основе IP, мы можем настроить только один веб-сайт на один IP-адрес. Если вам нужно разместить несколько веб-сайтов, у вас должно быть несколько IP-адресов для этого веб-сервера. Виртуальный хост на основе имени обычно используется для размещения нескольких веб-сайтов на одном сервере.
В этом руководстве мы собираемся обсудить, как создавать виртуальные хосты на основе имен.
Настройка виртуальных хостов Apache на основе имен
Корневой каталог документа - это каталог для хранения файлов веб-сайта для доменного имени для обслуживания в ответ на запросы.
1. Настройка структуры каталогов
В нашем руководстве мы будем использовать следующую структуру каталогов, но вы можете изменить ее на любое место, которое хотите.
/ var / www /
├── fosslinuxexample1.ком
│ └── public_html
├── fosslinuxexample2.ком
│ └── public_html
Поскольку мы собираемся разместить два веб-сайта, нам нужно будет создать два каталога в / var / www каталог.
Запустите Терминал и приступим к созданию каталога для fosslinuxexample1.ком
sudo mkdir -p / var / www / html / fosslinuxexample1.com / public_html
Создайте каталог для fosslinuxexample2.ком
sudo mkdir -p / var / www / html / fosslinuxexample2.com / public_html
Измените владельца каталога на пользователя apache (www-data)
sudo chown -R www-data: / var / www / html / fosslinuxexample1.com / public_html sudo chown -R www-data: / var / www / html / fosslinuxexample2.com / public_html
2. Установка разрешений для папки
sudo chmod -R 755 / var / www / html / fosslinuxexample1.com / public_html sudo chmod -R 755 / var / www / html / fosslinuxexample2.com / public_html
3. Создание веб-страниц
Теперь давайте создадим веб-страницы для каждого хоста. В моем примере я создам веб-страницу для fosslinuxexample1.ком
sudo vim / var / www / html / fosslinuxexample1.com / public_html / index.html
Добавить следующее содержимое в индекс.html файл. Это в основном HTML-контент.
fosslinuxexample1.com Тестовая страница Здравствуйте, это тестовая страница для fosslinuxexample1.com веб-сайт
Пора сохранить и закрыть файл.
Точно так же мы создадим веб-страницу для fosslinuxexample2.ком.
sudo vim / var / www / html / fosslinuxexample2.com / public_html / index.html
Добавьте в файл следующее содержимое.
fosslinuxexample2.com Тестовая страница Здравствуйте, это тестовая страница для fosslinuxexample2.com веб-сайт
Сохраните и закройте файл.
4. Создание виртуальных хостов
Как правило, файлы конфигурации виртуальных хостов Apache хранятся в / и т.д. / apache2 / сайты-доступные каталог и / и т.д. / apache2 / сайты с поддержкой каталог. Начните с создания виртуального хоста для fosslinuxexample1.ком.
sudo vim / и т.д. / apache2 / сайты-доступные / fosslinuxexample1.ком.conf
Добавьте ниже содержимое в файл.
Имя сервера fosslinuxexample1.com ServerAlias www.fosslinuxexample1.com ServerAdmin webmaster @ fosslinuxexample1.com DocumentRoot / var / www / html / fosslinuxexample1.com / public_html Параметры -Indexes + FollowSymLinks AllowOverride All Журнал ошибок $ APACHE_LOG_DIR / fosslinuxexample1.com-ошибка.журнал CustomLog $ APACHE_LOG_DIR / fosslinuxexample1.com-доступ.журнал комбинированный
Сохраните и выйдите из файла. В аналогичных строках создайте виртуальный хост для fosslinuxexample2.ком
sudo vim / и т.д. / apache2 / сайты-доступные / fosslinuxexample2.ком.conf
Добавьте ниже содержимое на второй веб-сайт.
Имя сервера fosslinuxexample2.com ServerAlias www.fosslinuxexample2.com ServerAdmin веб-мастер @ fosslinuxexample2.com DocumentRoot / var / www / html / fosslinuxexample2.com / public_html Параметры -Indexes + FollowSymLinks AllowOverride All Журнал ошибок $ APACHE_LOG_DIR / fosslinuxexample2.com-ошибка.журнал CustomLog $ APACHE_LOG_DIR / fosslinuxexample2.com-доступ.журнал комбинированный
Сохраните и выйдите из файла.
5. Включение файлов конфигурации виртуального хоста
Есть разные способы включить виртуальные хосты. Самый простой способ - включить виртуальный хост - использовать a2ensite команда. Кроме того, вы можете включить его, создав символические ссылки на каталог / etc / apache2 / sites-enabled.
Теперь мы должны отключить 000-по умолчанию.conf и включить вновь созданные файлы виртуального хоста
Используйте эту командную строку, чтобы отключить виртуальный хост по умолчанию.
sudo a2dissite 000-default.conf
Следующие команды активируют новые виртуальные хосты.
sudo a2ensite fosslinuxexample1.ком.conf sudo a2ensite fosslinuxexample2.ком.conf
Включить виртуальный хост, создающий символические ссылки.
Если вы включили виртуальный хост с помощью a2ensite команде не нужно запускать следующие команды:
sudo ln -s / и т.д. / apache2 / сайты-доступные / fosslinuxexample1.ком.conf / и т. д. / apache2 / с поддержкой сайтов / sudo ln -s / и т. д. / apache2 / сайты-доступные / fosslinuxexample2.ком.conf / и т. д. / apache2 / с поддержкой сайтов /
Проверьте синтаксис файлов конфигурации.
sudo apachectl configtest
Перезапустите Apache, чтобы активировать новую конфигурацию.
sudo systemctl перезапустить apache2
6. Тестирование виртуальных хостов
Перед тестированием веб-страниц нам необходимо изменить / etc / hosts файл для настройки IP сервера.
судо vim / и т.д. / хосты
Добавьте следующую строку в файл hosts. Не забудьте заменить 10.94.12.217 в приведенных ниже командных строках с IP-адресом вашего сервера. Когда вы закончите, сохраните и закройте файл.
10.94.12.217 fosslinuxпример1.com 10.94.12.217 fosslinuxexample2.ком
Наконец, запустите свой любимый веб-браузер и начните просматривать веб-сайты!
fosslinuxexample1.ком
fosslinuxexample2.ком
Если вы видите созданные вами веб-страницы, поздравляю, что вы успешно создали виртуальные хосты. Есть вопросы? Как это сработало для вас?