Поиск по сайту:
Для дилетанта лучшим пособием по программированию служит "алиса в стране чудес" - только потому, что для него это лучшее пособие по любому предмету. (Алан.Дж.Перлис)

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

29.06.2020
Как настроить виртуальный хост Apache на CentOS 7

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

В этой статье описывается, как настроить виртуальные хосты Apache в Ubuntu 20.04.

 

Предпосылки

Убедитесь, что вы выполнили следующие требования, прежде чем продолжить статью:

  • Один или несколько доменных имен, указывающих на IP вашего публичного сервера.
  • Apache установлен в вашей системе Ubuntu.
  • Вы вошли как root или пользователь с привилегиями sudo.

 

Создание структуры каталогов

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

/var/www/
├── domain1.ru
│   └── public_html
├── domain2.ru
│   └── public_html

 

Для каждого домена, размещенного на сервере, корневой каталог документа будет установлен на /var/www/<domain_name>/public_html.

Начните с создания корневого каталога для домена:

sudo mkdir -p /var/www/domain1.ru/public_html

 

Мы также создадим файл index.html в корневом каталоге документов домена, который будет отображаться при посещении домена в браузере:

/var/www/domain1.ru/public_html/index.html

 

<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title>Добро пожаловать на domain1.ru</title>
  </head>
  <body>
    <h1>Успех! Главная страница domain1.ru!</h1>
  </body>
</html>

 

Читать  Как отправить электронное письмо с помощью Python

Поскольку приведенные выше команды выполняются от имени пользователя sudo, вновь созданные файлы и каталоги принадлежат пользователю root. Чтобы избежать каких-либо проблем с разрешениями, измените владельца корневого каталога документов домена и всех файлов в этом каталоге на пользователя apache (www-data):

sudo chown -R www-data: /var/www/domain1.ru

 

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

В системах Ubuntu файлы конфигурации Apache Virtual Hosts находятся в каталоге /etc/apache2/sites-available. Их можно включить, создав символические ссылки на каталог /etc/apache2/sites-enabled, которые Apache прочитал при запуске.

Откройте выбранный вами текстовый редактор и создайте следующий базовый файл конфигурации виртуального хоста:

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

 

<VirtualHost *:80>
    ServerName domain1.ru
    ServerAlias www.domain1.ru
    ServerAdmin webmaster@domain1.ru
    DocumentRoot /var/www/domain1.ru/public_html

    <Directory /var/www/domain1.ru/public_html>
        Options -Indexes +FollowSymLinks
        AllowOverride All
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/domain1.ru-error.log
    CustomLog ${APACHE_LOG_DIR}/domain1.ru-access.log combined
</VirtualHost>

 

  • ServerName: Домен, который должен соответствовать этой конфигурации виртуального хоста. Это должно быть ваше доменное имя.
  • ServerAlias: Все другие домены или субдомены, которые должны соответствовать этому виртуальному хосту, например, субдомен www.
  • DocumentRoot: Каталог, из которого Apache будет обслуживать файлы домена.
  • Options: Эта директива, какие особенности сервера доступны в каталоге конкретного.
    • -Indexes: Предотвращает списки каталогов.
    • FollowSymLinks: Когда эта опция включена, Apache будет переходить по символическим ссылкам.
  • AllowOverride: Указывает, какие директивы, объявленные в файле .htaccess, могут переопределять директивы конфигурации.
  • ErrorLog, CustomLog: Указывает местоположение для файлов журнала.

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

Читать  Сравнение операционных систем на базе Linux

Чтобы включить новый файл виртуального хоста, используйте a2ensiteвспомогательный скрипт, который создает символическую ссылку из файла виртуального хоста в каталог sites-enabled:

sudo a2ensite domain1.ru

 

Другой вариант – создать символическую ссылку вручную, как показано ниже:

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

 

После этого проверьте конфигурацию на наличие синтаксических ошибок с помощью:

sudo apachectl configtest

 

Если ошибок нет, вы увидите следующий вывод:

Syntax OK

 

Перезапустите службу Apache, чтобы изменения вступили в силу:

sudo systemctl restart apache2

 

Наконец, чтобы убедиться, что все работает должным образом, откройте http://domain1.ru в вашем браузере, и вы увидите содержимое страницы index.html:

 

Вывод

Вы узнали, как создать конфигурацию виртуального хоста Apache для размещения нескольких доменов на одном сервере Ubuntu.

Повторите шаги, описанные выше, чтобы создать дополнительные виртуальные хосты для всех ваших доменов.

Если вы столкнулись с какой-либо проблемой, не стесняйтесь оставлять комментарии.

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

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


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

**ссылки nofollow

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

Добрый день. Я сделал все так как написано выше, но все равно не хочит открыватся в локале. Сразу ищет в инете.

Миха

Аналогично и у меня, после установки апача, кропе локалхоста никакой домен добавить не получается

B09

добавиь http:// перед своим именем сайта

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


Рекомендуемое
VPS, или хостинг в виртуальной частной сети, позволяет компаниям перейти…

Спасибо!

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