Поиск по сайту:
Сильно мешает быть умным усердное стремление выказываться таким (Ф. Ларошфуко).

Как настроить виртуальные хосты Apache на Debian 9

10.07.2018
Как настроить виртуальные хосты Apache на Debian 9

В этой статье мы покажем вам, как настроить виртуальные хосты Apache на Debian 9. Apache — бесплатный веб-сервер с открытым исходным кодом. Это самый популярный и широко используемый веб-сервер в мире, и он обычно используется на серверах Linux. Он разработан и поддерживается Apache Software Foundation, более половины всех серверов по всему миру используют этот быстрый и безопасный веб-сервер.

Требования

1. Войдите на свой сервер

Сначала позвольте нам войти на ваш сервер через SSH:

ssh root@server_ip

2. Проверьте установку Apache

Убедитесь, что apache уже установлен и запущен на вашем сервере. Вы можете сделать это с помощью следующей команды:

dpkg -l apache2

 

Если apache не установлен, вы можете сделать это, выполнив следующие команды. Во-первых, убедитесь, что системные репозитории обновлены:

apt-get update

 

Чтобы установить веб-сервер Apache, выполните следующие действия:

apt-get install apache2

 

После завершения установки, вы должны включить Apache для запуска автоматически после перезагрузки сервера:

systemctl enable apache2

 

Вы также можете проверить состояние службы Apache с помощью следующей команды:

systemctl status apache2

 

Теперь, когда мы уверены, что Apache установлен и запущен на нашем сервере, мы можем продолжить следующий шаг и настроить наш первый виртуальный хост.

3. Что такое виртуальный хост?

Виртуальные хосты Apache — это набор директив конфигурации, которые позволяют размещать как можно больше веб-сайтов, используя один веб-сервер. Веб-сервер Apache поддерживает два типа виртуальных хостов:

  • Виртуальные хосты на основе имен
  • Виртуальные хосты на основе IP
Читать  Как установить Jenkins на Debian 9

Виртуальный хост на основе имени обычно используется для размещения нескольких веб-сайтов на одном сервере, в то время как на виртуальном хосте на базе IP мы можем настроить только один веб-сайт на одном IP-адресе. В этой статье вы узнаете, как создавать виртуальные хосты на основе имен. Для этой цели мы разместим два веб-сайта с использованием следующих доменных имен: domain1.ru и domain2.ru. Вы также можете заменить их фактическими именами доменов.

4. Создайте каталоги webroot

Перед настройкой виртуальных хостов нам необходимо создать корневые каталоги документов для наших веб-сайтов. Создадим их в каталоге /var/www/html со следующими командами:

mkdir -p /var/www/html/domain1.ru
mkdir -p /var/www/html/domain2.ru

 

Давайте также создадим тестовую демонстрационную страницу для каждого из наших доменов, чтобы позже проверить нашу конфигурацию.
Перейдите в корневой каталог документа domain1.ru:

cd /var/www/domain1.ru

 

Создайте новую страницу index.html с помощью:

nano index.html

 

Добавьте следующий контент:

<html>
 <body>
  <center><h1>Это domain1.ru!</h1></center>
 </body>
</html>

 

Теперь давайте сделаем следующее для домена domain2.ru.

cd /var/www/domain2.ru
nano index.html

 

Добавьте следующий контент:

<html>
 <body>
  <center><h1>Это domain2.ru!</h1></center>
 </body>
</html>

 

Теперь мы успешно создали тестовые страницы для обоих доменов. Чтобы наш веб-сервер Apache имел возможность доступа к этим файлам, нам также необходимо предоставить им соответствующие разрешения и установить пользователя и группу в www-data. Мы обновляем разрешения для всего каталога /var/www/html с помощью следующей команды.

chown -R www-data: /var/www/html

5. Создайте файлы виртуальных хостов

Теперь мы можем создавать файлы виртуального хоста. Файлы конфигурации виртуального хоста обычно заканчиваются расширением .conf.

Читать  Как управлять Systemd с помощью Ansible

Выполните следующую команду для создания файла конфигурации виртуального хоста для нашего первого домена domain1.ru :

nano /etc/apache2/sites-available/domain1.ru.conf

 

И добавьте в файл следующий контент:

<VirtualHost *:80>

ServerAdmin admin@domain1.ru
ServerName domain1.ru
ServerAlias www.domain1.ru
DocumentRoot /var/www/html/domain1.ru

ErrorLog ${APACHE_LOG_DIR}/domain1.ru_error.log
CustomLog ${APACHE_LOG_DIR}/domain2.ru_access.log combined

</VirtualHost>

 

Теперь давайте сделаем то же самое для нашего второго доменного имени domain2.ru:

nano /etc/apache2/sites-available/domain2.ru.conf

 

И добавьте следующий код:

<VirtualHost *:80>

ServerAdmin admin@domain2.ru
ServerName domain2.ru
ServerAlias www.domain2.ru
DocumentRoot /var/www/html/domain2.ru

ErrorLog ${APACHE_LOG_DIR}/domain2.ru_error.log
CustomLog ${APACHE_LOG_DIR}/domain2.ru_access.log combined

</VirtualHost>

 

Ниже приведено краткое описание каждой строки в наших файлах виртуального хоста.

Следующие строки показывают, что виртуальный хост прослушивает порт 80:

<VirtualHost *:80>

 

ServerAdmin устанавливает адрес контакта, который сервер включает в любые сообщения об ошибках, которые он возвращает клиенту. Здесь вы можете указать свой адрес электронной почты или даже удалить строку.

ServerAdmin admin@domain1.ru

 

ServerName — это имя домена, а ServerAlias ​​определяет дополнительные имена, которые должны совпадать, как если бы они являлись исходными именами доменов.

ServerName domain1.ru
ServerAlias www.domain1.ru

 

DocumentRoot определяет место, где должен искать Apache при обработке запроса для домена, определенного в ServerName или ServerAlias.

DocumentRoot /var/www/html/domain1.ru

 

Последние две строки определяют местоположение файлов журнала:

ErrorLog ${APACHE_LOG_DIR}/domain1.ru_error.log
CustomLog ${APACHE_LOG_DIR}/domain1.ru_access.log combined

6. Включение виртуальных хостов

Следующим шагом будет создание виртуальных хостов, которые мы только что создали. Вы можете сделать это со следующими командами:

a2ensite domain1.ru.conf
a2ensite domain2.ru.conf

 

Другой альтернативный способ сделать это — создать символическую ссылку для каждого виртуального хоста в /etc/apache2/sites-enabled

ln -s /etc/apache2/sites-available/domain1.ru.conf /etc/apache2/sites-enabled/
ln -s /etc/apache2/sites-available/domain2.ru.conf /etc/apache2/sites-enabled/

 

Читать  Как установить MariaDB на Debian 10

После включения виртуальных хостов, используя один из вышеперечисленных методов, вам необходимо перезапустить веб-сервер Apache:

systemctl restart apache2

 

Вот и все. Если вы все инструкции правильно, вы должны теперь открыть каждый из доменов в своем веб-браузере и получить результат с текстом:

Это http://domain1.ru!

Это http://domain2.ru!

 

Как настроить виртуальные хосты Apache на Debian 9

 

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
Поделиться в соц. сетях:


0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

2 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Олег

Благодарю за статью

Павел

В разделе 4 Создайте каталоги webroot
у Вас ошибка.
написано:
Перейдите в корневой каталог документа domain1.ru:

cd /var/www/domain1.ru

а нужно переходить в

cd /var/www//html/domain1.ru

Это может быть вам интересно


Рекомендуемое
XML-RPC - это протокол удаленных процедур, который позволяет удаленно взаимодействовать…

Спасибо!

Теперь редакторы в курсе.