Меню

настройка hosts для centos

Предложение от 8host.com

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

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

Функции Apache распределены между его отдельными компонентами, которые можно настраивать индивидуально. Основным таким компонентом, который содержит настройки для отдельного сайта, является виртуальный хост. Виртуальные хосты (англ. virtual host) позволяет размещать несколько доменов или интерфейсов на одном виртуальном выделенном сервере.

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

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

Требования

Прежде чем приступить к выполнению руководства, нужно создать учётную запись пользователя с правами sudo. Чтобы узнать, как создать такого пользователя, читайте данное руководство.

Также нужно предварительно установить Apache. Для этого используйте менеджер пакетов yum, который установит сервер из стандартных репозиториев CentOS.

Затем запустите Apache как сервис, чтобы он автоматически запускался после перезагрузки.

sudo systemctl enable httpd.service

После этого подключитесь к серверу по SSH как не-рутовый пользователь с привилегиями sudo.

Примечание: В руководстве используются условные домены example.com и example2.com; не забудьте заменить их своим доменным именем.

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

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

Для начала нужно создать структуру каталогов, в которой будут храниться данные сайта.

Каталог document root (каталог, в котором Apache ищет контент) по умолчанию находится в /var/www; в нём нужно создать отдельный каталог для каждого виртуального хоста. В каждом таком каталоге будет размещен каталог public_html, в котором и будут находиться нужные файлы. Такой подход делает хостинг более гибким.

Необходимые каталоги можно создать при помощи команды mkdir (флаг -p позволяет создавать каталог с вложенным в него каталогом):

sudo mkdir -p /var/www/example.com/public_html
sudo mkdir -p /var/www/example2.com/public_html

Примечание: Не забудьте заменить условные домены своими данными.

2: Права

Итак, структура каталогов готова, но все они принадлежат пользователю root. Чтобы не-рутовый пользователь мог вносить изменения в файлы веб-каталога, нужно изменить права на эти файлы при помощи chown:

sudo chown -R $USER:$USER /var/www/example.com/public_html
sudo chown -R $USER:$USER /var/www/example2.com/public_html

Переменная $USER примет имя текущего пользователя. После этого каталоги public_html, содержащие контент сайтов, будут принадлежать текущему пользователю.

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

Теперь все права установлены верно; можно приступать к созданию контента в специально отведённых каталогах.

3: Создание демо-страниц для виртуальных хостов

Создайте тестовый контент; поскольку это пробная настройка хостов, страницы будут очень простыми. Просто создайте страницы index.html для каждого сайта.

Начнём с example.com; откройте файл index.html в текстовом редакторе:

В этом файле создайте простой HTML-документ, который указывает, к какому сайту подключена страница. В данном случае этот файл выглядит так:

Success! The example.com virtual host is working!

источник

Файл hosts в Linux

Система доменных имен DNS используется для определения, какой IP принадлежит к нужному домену в сети интернет. Когда какой-либо программе понадобится обратиться к сайту по его доменному имени, операционная система отправляет к DNS-серверу запрос, чтобы узнать, по какому IP ей дальше передавать пакеты. Но так происходит не всегда. Например, когда мы обращаемся к домену localhost, то всегда запрос отправляется нашему локальному компьютеру.

Всему причиной файл hosts. Если вы раньше пользовались Windows, то, наверное, уже слышали о таком файле. Там чаще всего он использовался для того, чтобы быстро заблокировать доступ к какому-либо ресурсу. Но применение его гораздо шире. В этой статье мы рассмотрим, как настроить файл hosts в Linux, а также какие возможности он нам предоставляет.

Разрешение доменных имён в Linux

Прежде чем мы перейдём к самому файлу hosts, нужно разобраться, как происходит поиск IP-адреса для доменного имени в Linux. Я говорил, что операционная система сразу же отправляет запрос DNS-серверу, но это не совсем так. Существует определённый порядок поиска, согласно которому он выполняется. Этот порядок установлен в конфигурационном файле /etc/nsswitch.conf

Читайте также:  настройка gps трекер 305

Здесь нас интересует строчка hosts. В ней в порядке очередности записаны службы, которые используются для поиска IP-адреса для доменного имени. Пункт files означает использование файла /etc/hosts, а dns — сервиса доменных имён интернета. Если files расположена перед hosts, это означает, что сначала система попытается найти домен в /etc/hosts, а уже потом по DNS. По умолчанию дело обстоит именно так.

Настройка файла hosts в Linux

Нужный нам файл находится в директории /etc/. Для его открытия можно использовать любой текстовый редактор как в командной строке, так и в графическом интерфейсе, только открывать его нужно с правами суперпользователя. Например, с помощью vim:

Синтаксис файла довольно простой. В нём находится несколько строчек с доменными именами и IP-адресами, которые нужно для них использовать. Каждая из них выглядит вот так:

ip_адрес домен алиас

Обычно первая же строчка создаёт правило для перенаправления всех запросов к домену localhost на локальный IP-адрес — 127.0.0.1:

Также в этом файле по умолчанию размещаются перенаправления для имени вашего компьютера и для IPv6-адресов. Вы можете создать свои настройки для любого нужного домена. Для этого нужно добавить строчку в конец файла. Например, направим все запросы к домену losst.ru на ip 127.0.0.1:

Обратите внимание, что здесь указывается только домен, без протокола. Префикс http или https указывать не нужно, иначе ничего работать не будет. А вот для поддомена www нужно создавать отдельную запись или записывать его в виде алиаса. Например:

127.0.0.1 losst.ru www.losst.ru

Теперь при запросе домена losst.ru будет открываться наш локальный IP. Чтобы вернуть доступ к оригинальному ресурсу, достаточно убрать добавленную строчку. Но вы можете использовать не только локальный адрес, но и любой другой. Это очень удобно, если вы только зарегистрировали домен и доменная зона ещё не успела обновиться, а вы уже хотите работать с новым сайтом. Просто добавьте данные в /etc/hosts и работайте как обычно.

Выводы

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

источник

Как изменить имя хоста на CentOS 8

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

В этой статье объясняется, как установить или изменить имя хоста в CentOS 8 без перезагрузки системы.

Предпосылки

Прежде чем продолжить эту статью, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo.

Понимание имен хостов

Имя хоста – это метка, которая идентифицирует устройство в сети. У вас не должно быть двух или более компьютеров с одинаковым именем хоста в одной сети.

Есть три класса hostname: static, pretty и transient.

  • static – Традиционное имя хоста. Он хранится в файле /etc/hostname и может быть установлен пользователем.
  • pretty – Свободное имя хоста UTF8, используемое для представления пользователю. Например, AndreyEx’s desktop.
  • transient – Динамическое имя хоста, поддерживаемое ядром. Серверы DHCP или mDNS могут изменять временное имя хоста во время выполнения. По умолчанию оно совпадает с именем хоста static.

Рекомендуется использовать полное доменное имя (FQDN) для обоих static и transient таких имен, как host.example.ru.

Отображение текущего имени хоста

Чтобы просмотреть текущее имя хоста, выполните следующую команду:

В этом примере текущее имя хоста установлено в centos8.localdomain.

Изменение имени хоста

Способ 1: использование команды hostnamectl

В CentOS 8 и во всех других дистрибутивах Linux, использующих systemd, вы можете изменить имя хоста системы и соответствующие настройки с помощью команды hostnamectl. Синтаксис выглядит следующим образом:

Например, чтобы изменить системное статическое имя хоста host.AndreyEx.ru, вы должны использовать следующую команду:

Чтобы установить красивое имя хоста AndreyEx’s desktop, введите:

Команда hostnamectl не производит вывод. В случае успеха возвращается 0, в противном случае – ненулевой код ошибки.

Чтобы убедиться, что имя хоста было успешно изменено, используйте команду hostnamectl.

Читайте также:  lenovo s90 настройка динамика

Способ 2: с помощью команды nmtui

nmtui это инструмент на основе взаимодействия с NetworkManager. Он также может быть использован для установки или изменения имени хоста.

Запустите инструмент, набрав его имя в терминале:

Используйте клавиши со стрелками для перемещения по параметрам, выберите Set system hostname и нажмите Enter.

Нажмите Enter, чтобы подтвердить новое имя хоста.

Наконец, перезапустите службу systemd-hostnamed, чтобы изменения вступили в силу.

Способ 3: с помощью команды nmcli

nmcli является инструментом командной строки для управления NetworkManager и может также использоваться для изменения имени хоста системы.

Чтобы просмотреть текущее имя хоста, введите:

Чтобы изменить имя хоста, host.AndreyEx.ru используйте следующую команду:

Чтобы изменения вступили в силу, перезапустите службу systemd-hostnamed:

Заключение

Чтобы задать или изменить имя хоста в системе CentOS, используйте команду hostnamectl set-hostname, а затем новое имя хоста.

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

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

источник

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

Главное меню » Операционная система CentOS » Как настроить виртуальный хост Apache на CentOS 7

Многие люди используют его для размещения своих веб – сайтов и приложений. На самом деле, согласно последним статистическим данным, Apache является наиболее широко используемым веб – сервер в мире, с Windows , IIS следующее на втором и на третьем месте российская разработка, которая является Nginx.

Функциональность Apache является большим, и можно найти много хороших возможностей для веб – сайта или приложения. На этом уроке, мы предоставим Вам информацию о виртуальном хосте Apache через примеры конфигурации на CentOS 7.

Виртуальный хост, на самом деле, блок, который описывает отдельный домен в грандиозной схеме веб-сервера Apache. Это позволяет размещать несколько веб-сайтов с помощью одного сервера, который очень полезен для людей, которые имеют более одного сайта.

Каждый домен, который выполнен с директивой виртуального хоста внутри конфигурации Apache будет направлять посетителя в определенный каталог , где тот самый веб – сайт размещен на сервере. Например, ваш WordPress сайт установлен в /var/www/wordpress/ поэтому при создании директивы виртуального хоста, корень документа для сайта будет установлен в /var/www/wordpress/, который позволит веб – серверу извлекать данные из веб – сайта соответствующего настроенного каталога.

Войдите на сервер с помощью SSH:

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

вывод должен быть примерно такой:

Обновление системы

Убедитесь, что ваш сервер полностью обновлен:

На наших серверах CentOS 7, Apache устанавливается по умолчанию. Однако, если у вас нет Apache установленным на вашем сервере вы можете сделать это довольно простой командой:

Включите Apache и добавьте его в запуск при загрузке:

Большинство веб – мастеров сегодня используют WordPress в качестве платформы для размещения их на сайте. Сайт на WordPress работает с базой данных MySQL, так что если вы планируете использовать эту статью для создания виртуальных хостов с сайтами WordPress (или на любой другой платформе, которая нуждается в базе данных), вам нужно будет установить MySQL и PHP на вашем сервере, который завершит так называемый стек LAMP (Linux Apache, MariaDB и PHP). У нас есть отличная статья о том, как установить LAMP на CentOS 7 так что вы можете проверить его здесь.

Параметры конфигурации Apache

Apache имеет глобальный конфигурационный файл, в котором все настройки по умолчанию хранятся и применяются к серверу. Директива виртуального хоста может быть сохранена в том же файле по умолчанию httpd.conf или другой, который будет соответствовать настроенному веб – сайту/домену.

Этот глобальный конфигурационный файл Apache в CentOS 7 является /etc/httpd/conf/httpd.conf. Вы можете использовать текстовый редактор по вашему выбору и посмотреть содержимое этого файла, так что вы получите некоторое представление о том, как настроен Apache.

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

Listen директива связывает Apache с определенным IP – адресом и портом. Порт прослушивания Apache по умолчанию: 80.

Значения user/group являются имена user/group, работает как HTTPD (Apache). В CentOS пользователь и группа являются Apache/Apache, в Ubuntu/ Debian являются www-data/www-data.

Читайте также:  как настройки gopro качестве

Другим важным параметром является DocumentRoot, который является каталогом, из которого данные будут поданы к посетителю. Как правило, в большинстве дистрибутивах корневой документ по умолчанию для Apache установлен в /var/www/html/, так что если вы посмотрите данные в /var/www/html/ вы сможете получить доступ к этим же данным через веб – браузер с помощью IP адреса сервера.

Мы рассмотрели лишь незначительную часть того, что предлагает Apache своему пользователю, так что теперь давайте создадим нашу первую директиву виртуального хоста в Apache. Вы можете создать виртуальный хост внутри основного файла конфигурации Apache, однако, для более чистой и более организованной настройки мы создадим новый отдельный файл, в котором будут храниться конфигурационные строки. Существует установка ( IncludeOptional ) в глобальной конфигурации сервера Apache, где включенный каталог хранит отдельные конфигурационные файлы. Например, в CentOS 7 и Apache 2.4 (последняя версия Apache при написании этой статьи) IncludeOptional параметр установлен в /etc/httpd/conf.d/, что означает , что каждый файл * .conf, созданный в /etc/httpd/conf.d/ будет использоваться веб – сервером для обработки данных.

Поэтому, давайте создадим файл your_domain.conf, в котором мы настроим директиву виртуального хоста для вашего домена. После того, как вы вошли на свой сервер, введите следующую команду:

Вставьте ниже содержание в файл:

Поясним настройки один за другим.

  • – это означает , что эта директива виртуального хоста связывается с любого IP – адреса на сервере , на 80 -м порту.
  • ServerAdmin – это адрес электронной почты, куда будут присылаться уведомления о проблемах, связанные с веб – сервером.
  • DocumentRoot – каталог, в котором данные веб – сайта будут сохранены, в приведенном выше случае это будет /var/www/html/your_domain/. Конечно, вы можете заменить your_domain на другое значение, которое вы найдете пригодным.
  • ServerName – это значение дает имя, которое сервер использует для идентификации веб – сайта. Здесь вы можете ввести свой фактический домен.
  • ServerAlias – директива ServerAlias устанавливает альтернативные имена хостов, например: www.your_domain.ru. Он также может включать в себя групповые символы, если это необходимо.
  • и и используются , чтобы приложить группу директив , которые применяются только к названному справочнику, подкаталоги этого каталога, а также файлы в соответствующих каталогах. Может быть использована любая директива, которая позволяется в директивном контексте. Каталог-путь либо полный путь к каталогу или строку wild-card с использованием Unix. В нашем случае мы добавили FollowSymLinks, который будет применять символические ссылки в директории /var/www/html/your_domain/. Мы также устанавливаем директиву AllowOverrideall это означает, что любая директива, которая имеет .htaccess разрешено в файлах .htaccess. Директива Require указывает, какие пользователи могут получить доступ к ресурсу.

Этот вид конфигурации могут быть применен для большинства платформ. Тем не менее, иногда определенной конфигурации WordPress сайта, такие как выше не может быть достаточно для других видов приложений. Например, сайт на Magento нужно будет включить больше возможностей или для сайта на Odoo будет нужен обратный прокси – сервер сконфигурирован.

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

Создание каталога пользователя:

Теперь загрузите данные, которые вы хотите разместить внутри этой директории.

Права доступа и владельца файла является еще одной важной задачей для веб – мастеров. В большинстве случаев в серверах без панели управления, файл и каталог собственность должна принадлежать пользователю и группе, в которой Apache работает. В CentOS 7 Apache работает под управлением Apache в качестве пользователя и Apache в качестве группы. Таким образом, вам нужно будет рекурсивно присвоить, значения для файлов и каталогов в корневом каталоге документов. Следующая команда делает именно это:

Эта команда будет назначать Apache: Apache для каждого файла и подкаталога/директории внутри /var/www/html/your_domain/.

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

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

источник