• Ввойдите на сайт >>>

Статьи

Настройка виртуальных хостов Apache в LinuxMint / Ubuntu / Debian

  1. Apache поддерживает два типа виртуального хоста
  2. Преимущество:
  3. 1a) Создание виртуальных каталогов
  4. 2а) Изменить право собственности
  5. 3a) Настройка правильного разрешения для каталога www
  6. 4a) Создание образца страницы для сайтов
  7. 5a) Создание файлов виртуальных хостов
  8. 6a) Изменить конфигурацию виртуального хоста
  9. 7a) Включение / отключение виртуальных хостов
  10. 8a) Запустите configtest.
  11. 9a) Перезагрузка Apache
  12. 10a) Перезапустите Apache
  13. 11a) Добавление имени домена в файл hosts.
  14. 12a) Очистить локальный кеш DNS
  15. 13a) Доступ к недавно настроенному веб-сайту
  16. 2) Виртуальные хосты на основе IP
  17. Как добавить виртуальный хост на основе IP в apache
  18. 2a) Доступ к недавно настроенному веб-сайту

Virtualhost Размещая несколько доменов на одном сервере, называемом virtualhost, вы можете разместить N виртуального хоста на одном веб-сервере Apache. Посмотрите на нижеприведенную биграмму: там ясно сказано, что мы можем запустить N виртуального хоста в одном веб-сервере Apache. Убедитесь, что в вашей системе установлены LAMP в Ubuntu, LAMP в Linux Mint и LAMP в Debian.

Apache поддерживает два типа виртуального хоста

  • Виртуальные хосты на основе имен (все сайты используют один IP-адрес)
  • Виртуальные хосты на основе IP (каждый веб-сайт имеет свой IP-адрес)

1) Виртуальный хост на основе имени.

В виртуальном хосте на основе имени каждый веб-сайт использует один IP-адрес. Как его работа? Для виртуального хоста на основе имени вам нужно правильно настроить DNS, чтобы сопоставить домен с общим IP. Пример среды размещения: всякий раз, когда вы покупаете домен и хостинг, они будут просить вас указать домен на сервере провайдера хостинга (например, они предоставят два сервера имен для вашего домена для сопоставления их сервера)
В виртуальном хосте на основе имени каждый веб-сайт использует один IP-адрес

Преимущество:

  • Легко управлять
  • Простота настройки по сравнению с IP
  • Подходит для среды с общим и посредническим хостингом

1) Как добавить виртуальный хост на основе имени в Apache

В Apache 2.2 и более ранних версиях мы должны упоминать, когда мы используем Namehost Virtualhost , например, NameVirtualHost IP: 80, но Apache 2.4 не нужен, поскольку любая комбинация адреса / порта, появляющаяся в нескольких виртуальных хостах, неявно рассматривается как виртуальный хост на основе имени, Больше подробностей

1a) Создание виртуальных каталогов

Мы уже упоминали в нашей таблице тестируемой среды , мы собираемся протестировать два домена, чтобы мы узнали, работает ли он как виртуальный хост на основе имени. Для этого нам нужно создать виртуальные каталоги в папке www .

# Создать виртуальный каталог # $ sudo mkdir -p /var/www/support.2daygeek.com/public_html $ sudo mkdir -p /var/www/dev.2daygeek.com/public_html

2а) Изменить право собственности

При создании виртуального каталога По умолчанию каталог назначается пользователю root . Если у него есть права пользователя root, никто не может ничего изменить. Таким образом, нам нужно изменить право собственности соответствующего пользователя на внесение изменений самостоятельно.

# Изменить владельца # $ sudo chown -R username: username /var/www/support.2daygeek.com/public_html $ sudo chown -R username: username /var/www/dev.2daygeek.com/public_html

3a) Настройка правильного разрешения для каталога www

Установите правильное разрешение для apache web root ( / var / www ), чтобы каждый мог прочитать сайт.

$ sudo chmod -R 755 / var / www /

4a) Создание образца страницы для сайтов

Нам нужно создать образец страницы для каждого веб-сайта, чтобы мы могли проверить, работает ли он с Apache или нет.

# Создать пример страницы для support.2daygeek.com # $ sudo nano /var/www/support.2daygeek.com/public_html/index.html <html> <head> <title> Новый виртуальный хост успешно создан - support.2daygeek.com </ title> </ head> <body> <h1> Новый виртуальный хост успешно создан - support.2daygeek.com </ h1> </ body> </ html> # Создать образец страницы для dev.2daygeek.com # $ sudo nano /var/www/dev.2daygeek.com/public_html/index.html <html> <head> <title> Новый виртуальный хост успешно создан - dev.2daygeek.com </ title> </ head> <body> <h1 > Новый виртуальный хост успешно создан - dev.2daygeek.com </ h1> </ body> </ html>

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

Нам нужно создать файл виртуального хоста для каждого домена. По умолчанию в Ubuntu есть файл виртуального хоста по умолчанию 000-default.conf в / etc / apache2 / sites-available . Просто скопируйте для вашего удобства, как показано ниже. Убедитесь, что ваше расширение файла конфигурации vitualhost должно быть .conf

$ sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/support.2daygeek.conf $ sudo cp /etc/apache2/sites-available/000-default.conf / etc /apache2/sites-available/dev.2daygeek.conf

6a) Изменить конфигурацию виртуального хоста

Откройте скопированный файл конфигурации виртуального хоста и измените содержимое, как показано ниже (в соответствии с именем вашего домена). Убедитесь, что вам нужно изменить имя домена и имя каталога в соответствии с этим.

# Модифицированный виртуальный хост для support.2daygeek.com # <VirtualHost 10.0.2.15:80> Имя_сервера support.2daygeek.com ServerAlias ​​www.support.2daygeek.com ServerAdmin [электронная почта защищена] DocumentRoot /var/www/support.2daygeek.com/public_html ErrorLog /var/www/support.2daygeek.com/public_html/error.log CustomLog /var/www/support.2daygeek.com/public_html/access.log в сочетании </ VirtualHost> # Модифицированный виртуальный хост для dev.2daygeek.com # <VirtualHost 10.0.2.15:80> Имя_сервера support.dev.com ServerAlias ​​www.dev.2daygeek.com ServerAdmin [электронная почта защищена] DocumentRoot /var/www/dev.2daygeek.com/public_html ErrorLog /var/www/dev.2daygeek.com/public_html/error.log CustomLog /var/www/dev.2daygeek.com/public_html/access.log в сочетании </ VirtualHost>

7a) Включение / отключение виртуальных хостов

Используйте следующие команды для включения / отключения виртуальных хостов.

# Включить виртуальные хосты # $ sudo a2ensite support.2daygeek.conf $ sudo a2ensite dev.2daygeek.conf # Отключить виртуальные хосты по умолчанию # $ sudo a2dissite 000-default.conf

8a) Запустите configtest.

Запустите приведенную ниже команду configtest, чтобы проверить, нет ли ошибок во вновь добавленных файлах конфигурации.

$ sudo apachectl configtest

9a) Перезагрузка Apache

Перезагрузите конфигурацию apache, чтобы она заработала в новой конфигурации

$ sudo service apache2 reload

10a) Перезапустите Apache

Перезапустите Apache, наконец.

$ service apache2 restart

11a) Добавление имени домена в файл hosts.

нам нужно добавить оба вышеуказанных домена в файл / etc / hosts, чтобы сопоставить домен с соответствующим IP без добавления зоны DNS . Так что мы можем проверить локально.

$ sudo nano / etc / hosts 127.0.0.1 localhost 10.0.2.15 support.2daygeek.com 10.0.2.15 dev.2daygeek.com

12a) Очистить локальный кеш DNS

Используйте команду ниже, чтобы очистить локальный кеш DNS

$ sudo /etc/init.d/dns-clean start

13a) Доступ к недавно настроенному веб-сайту

Перейдите в браузере и зайдите на сайт, перейдя по ссылкам http://support.2daygeek.com & http://dev.2daygeek.com

dev
dev.2daygeek.com - Вывод

2) Виртуальные хосты на основе IP

В виртуальном хосте на основе имени каждый веб-сайт имеет свой IP-адрес. Вы можете назначить более одного IP-адреса для одной карты NIC или вы можете назначить каждый выделенный IP-адрес отдельной карте NIC, и практически это не очень хорошо и трудно управлять. Для SSL-сертификата нам нужно использовать виртуальные хосты на основе IP.
В виртуальном хосте на основе имени каждый веб-сайт имеет свой IP-адрес

Как добавить виртуальный хост на основе IP в apache

Для виртуального хоста на основе IP нам нужно более одного IP. Итак, сначала нам нужно добавить дополнительный IP (с использованием псевдонимов IP). Мы уже знаем, что у нас есть один IP 10.0.2.15, который использовался для виртуального хоста Namebaed. Выполните следующие шаги, чтобы добавить дополнительный IP к той же карте NIC. Для установки SSL- сертификата все используют виртуальный хост на базе IP.

# Добавить дополнительный IP в систему # $ sudo ifconfig eth0: 1 10.0.2.16 маска сети 255.255.255.0 $ ifconfig eth0 Ссылочный код: Ethernet HWaddr 08: 00: 27: 1e: a2: 47 inet addr: 10.0.2.15 Bcast: 10.0.2.255 Маска: 255.255.255.0 inet6 адрес: fe80 :: a00: 27ff: fe1e: a247 / 64 Область действия: соединение UP BROADCAST RUNNING MULTICAST MTU: 1500 Метрика: 1 пакеты RX: 23723 ошибки: 0 отброшено: 0 переполнений: 0 кадр: 0 TX пакеты: 16342 ошибок: 0 отброшено: 0 переполнений: 0 несущая: 0 коллизий: 0 txqueuelen: 1000 байтов RX: 15295059 (15,2 МБ) байтов TX: 1930608 (1,9 МБ) eth0: 1 Encap: Ethernet HWaddr 08:00:27 : 1e: a2: 47 inet addr: 10.0.2.16 Bcast: 10.0.2.255 Маска: 255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU: 1500 Метрика: 1 lo Ссылочный код: Локальная петля inet addr: 127.0.0.1 Маска: 255.0.0.0 inet6 addr: :: 1/128 Область действия: хост UP LOOPBACK RUNNING MTU: 65536 Метрика: 1 пакеты RX: ошибки 2020: 0 отброшено: 0 переполнений: 0 кадр: 0 пакетов TX: 2020 ошибок: 0 отброшено: 0 переполнений: 0 несущая: 0 коллизий: 0 txqueuelen: 0 RX байт: 202350 (202,3 КБ) TX байт: 202350 (202,3 КБ)

Выполните те же шаги, которые мы описали в виртуальном хосте на основе имени . И немного измените приведенные ниже шаги.

  • (6a) Измените IP-адрес Virtualhost для dev.2daygeek.com на 10.0.2.16 вместо 10.0.2.15
  • (11a) Изменить IP-адрес dev.2daygeek.com с 10.0.2.15 на 10.0.2.16

2a) Доступ к недавно настроенному веб-сайту

Перейдите в браузере и зайдите на сайт, перейдя по ссылкам http://10.0.2.15 & http://10.0.2.16

dev
dev.2daygeek.com (10.0.2.16) - Вывод

Мы готовим все статьи для понимания всеми уровнями и уровнями администраторов Linux. Если статья полезна для вас, пожалуйста, потратьте меньше минуты, чтобы поделиться своими ценными комментариями в нашем разделе комментариев.

Пожалуйста, оставайтесь с нами на связи ... Удачи.

Как его работа?

Новости

Карта