Меню

Как настроить локальный хост

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

Этой статьей я закрываю уроки о том как сделать домашний сайт при помощи веб сервера XAMPP. Принцип создания домашних сайтов одинаков для всех локальных серверов. Физически сайт в домашних условиях представляет собой отдельную папку среди папок серверной программы. Имя папки определяет название сайта. Теперь разберемся с устройством интернета внутри компьютера и создадим для нашего сайта на XAMPP виртуальные хосты.

Статья входит в цикл статей Локальный веб сервер для пояснения процесса создания сайта внутри домашнего компьютера.

Наверно, стоит напомнить читателям — как устроен Интернет. Сайты на жестких дисках у провайдера или на домашнем компьютере — это папки для размещения материала сайта и внутренних программ. Все сайты (как папки) Интернета, аналогично и внутри компьютера, связаны средствами связи, но для того, чтобы эти папки стали сайтами нужно, (1) чтобы в сети работала программа сервер (даже внутри компа она должна создать среду Интернета) и (2) у пользователя на компьютере должна быть включена программа браузер, которая позволяет «видеть» сайты — потому что браузер, если знает адрес сайта в сети или домашнем компьютере, умеет заходить внутрь его папки, брать текст и картинки и «рисовать» их на экране монитора у посетителя сайта.

Программа сервер — это вроде операционной системы для всего Интернета, а браузер — это аналог программы Word, но только браузер умеет читать не документы, а сайты — как документы, написанные на языках HTML, PHP, PERL .

Статья написана для пояснения статей в рубрике Программы для создания сайта и имеет постоянную ссылку: http://design-for.net/page/nastrojka-virtualnyh-hostov

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

1.1. Мы уже знаем, что нет никакой разницы между сайтом designfornet на компьютере дома или сайтом design-for.net на сервере у хостера. Однако, если для перехода к сайту design-for.net достаточно вставить его имя в строку адреса браузера, как мы сразу попадаем на первую страницу моего сайта:

А вот по ссылке http://designfornet/ этого не произойдет, хотя сам сайт существует. Причина в том, что любой браузер будет искать его в большом интернете. Для перехода на сайт designfornet потребуется более сложная ссылка вида http://localhost/designfornet/www/

И это при условии запуска веб сервера XAMPP (ведь сервер для http://design-for.net/ где-то работает круглосуточно).

1.2. В тексте этой ссылки http://localhost/designfornet/www/ для браузера указан путь, какой ему надо преодолеть до папки www нашего сайта, где лежит страница index.html, из которой он вычитывает и рисует нам на экране приветствие «Это домашний сайт designfornet. Ура!».

1.3. Я вижу противоречие в написаниях ссылок:

длинной ссылки для сайта внутри компьютера с коротким путем

короткой ссылки для перехода на сайт, расположенный за тысячи миль от моего дома на чужом компьютере (сервере).

1.4. Весь секрет состоит в существовании специальных серверов DNS, в которых прописывают место расположения (IP) каждого сайта в сети, что позволяет для нас — людей – указывать только короткую ссылку с понятными для человека словами, тогда как в действительности ссылка для самой программы браузера остается в виде ряд чисел. Для людей же составляются ЧПУ – человеко-понятные урлы. В тексте человеко-понятной ссылки http://design-for.net/ весь длинный путь от моего компьютера до сервера хостера и через его папки к папке сайта был спрятан, а указана лишь эта конечная папка design-for.net на физическом сервере, адрес которого был подсказан браузеру на DNS сервере.

1.5. Если мы хотим сделать интернет внутри компьютера копией Большого, то нам надо прописать наш домашний сайт designfornet в особом файле, который является аналогом сервера DNS и научиться сокращать вид ссылки до общепринятого вида:

http:// site . zona /

1.6. Тут настало время вспомнить, что основной программой в нашем компьютере является операционная система (у меня Windows 7). В ней уже предусмотрена возможность создания внутреннего сайта по имени localhost .

Для того чтобы в этом убедиться надо найти файл hosts (без расширения) по адресу: C:\Windows\System32\drivers\etc

1.7. Файл hosts — системный, поэтому при его открытии надо быть осторожным и лучше сразу для перестраховки сразу сохраним его копию в какой-нибудь папке.

Иногда система делает файл hosts невидимым. В этом случае вы должны иметь права администратора, чтобы в свойствах родительской папки etc убрать значение «скрытый» для всех внутренних файлов. Чтобы не искать каждый раз файл hosts заново создайте его ярлык на рабочем столе.

1.8. Если мы откроем файл hosts в текстовом редакторе (лучше в Notepad++, но сегодня можно и в Блокноте), то внизу увидим строки:

Предложение «localhost name resolution is handled within DNS itself» переводится следующим образом: «резолюция имени localhost обработана в пределах самого DNS.»

1.9. Выражение из четырех групп чисел — 127.0.0.1 – это IP адрес для всех сайтов внутри компьютера, первым из которых заранее прописан сайт localhost .

Такая запись позволяет браузеру находить сайт localhos t по его адресу (IP=127.0.0.1) – то есть внутри компьютера.

Так как ниже есть строка:

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

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

1.10. Наша задача повторить для своего сайта с именем designfornet всё, что сделано для сайта localhost , поэтому прописываем его в файле hosts, чтобы заставит браузеры так же искать его не в Большом Интернете, а внутри компьютера среди сайтов с IP=127.0.0.1.

1.11. Для этого копируем отсюда следующие строки:

И подставляем их в окне текстового редактора в текст файла hosts под самые нижние строчки, чтобы получилось нечто подобное:

1.12. Сохраняем изменения в файле hosts через редактор (там есть значок «Сохранить», как в Word), но сам файл hosts пока не закрываем, как и сам редактора.

Apache виртуальный хост

2.1. Следующим этапом настройки виртуальных хостов станет наладка взаимодействия сайта с модулем Apache, составляющим ядро вебсервера XAMPP.

Вначале надо внести поправки в главный конфигурационный файл сервера apache httpd conf, который находится по адресу C:\xampp\apache\conf.

2.2. Возьмем файл httpd.conf для редактирования в текстовый редактор и найдем в нем две строки:

#LoadModule vhost_alias_module modules/mod_vhost_alias.so

#Include «conf/extra/httpd-vhosts.conf» (намного ниже — и может быть уже без #)

Знаки # не позволяют выполняться этим инструкциям, поэтому раскомментируем их – т.е. уберем все решетки # перед этими фразами.

Первая запись позволяете обрабатывать ссылки в простом и в вебовском виде (слово alias переводится как «псевдоним» – этой строчкой мы разрешаем существования зеркал для сайта, начинающихся с www и без.

Вторая строка включает (запускает) файл httpd-vhosts.conf, который отвечает за виртуальные хосты.

В файле httpd.conf эти две строчки должны быть без решеток, поэтому их просто убираем:

Сохраняем изменения в файле httpd.conf.

2.3. Теперь перейдем к файлу httpd-vhosts.conf по адресу C:\xampp\apache\conf\extra

Возьмем файл httpd-vhosts.conf в текстовом редакторе. Понятно, что здесь находятся записи о виртуальных хостах.

Теперь нам надо дописать (вставить снизу) под имеющиеся строки скрипт, который мы скопируем из нижнего параграфа

Обратите внимание, что в некоторых версиях в коде могут использоваться одинарные английские кавычки (’), типа «DocumentRoot ‘C:\xampp\htdocs’», тогда вам самим придется исправлять наш скрипт под ваш httpd-vhosts.conf.

2.4. Для любознательных я расшифрую строки скрипта. Там речь идет типа этого:

— будет создан виртуальный сервер на порту 80, документы администратора root сервера будут располагаться в папке htdocs, создается почтовый ящик с именем webmaster@localhost;

— далее – создается виртуальный сайт с именем designfornet и с псевдонимом www.designfornet, указываются адреса журналов ошибок и запрет на допуск сторонним лицам.

2.5. Сохраняем изменения в файле httpd-vhosts.conf. Закрываем файлы httpd-vhosts.conf и httpd.conf.

Сервер Apache воспримет новые установки, только если мы его перезагрузим. Откроем Контрольную панель XAMPP и кнопкой Stop остановим работу Apache. Через некоторое время запустим его снова кнопкой Start.

2.6. Следующий шаг – проверяем, будут ли теперь работать короткие ссылки designfornet и www.designfornet в браузер. Копируем ссылки по очереди отсюда и вставляем в строку адреса браузера Mozilla Firefox.

Можно проверить и другие браузеры, однако Google Chrome может игнорировать локальные хосты.

Если мы сделали все аккуратно, то по любой ссылке http://designfornet/ или http://www.designfornet/ будет открываться один и тот же сайт designfornet на странице с приветствием «Это домашний сайт designfornet. Ура!».

2.7. Сделаем небольшие выводы из нашего урока по созданию виртуальных хостов.

В системе Windows имеется специальный файл hosts в котором можно записать в виде исключения домашние сайты, тогда браузеры не будет искать их в Большом Интернете. Такой файл выполняет роль DNS сервера, который знает картографию сайтов в Интернете.

В программе сервера Apache в главном конфигурационном файле httpd.conf требуется активировать возможность определения синонимов (псевдонимов) сайта (без и с www ) в тексте ссылок, тогда по разным ссылкам:

будет открываться одна и та же страница.

Страницы designfornet и www.designfornet называются зеркалами.

Чтобы получить короткий вид ссылки надо активировать файл httpd-vhosts.conf и внести в него настройки нашего сайта.

Как создать виртуальный хост

3.1. Для закрепления урока попробуем быстро создать виртуальные хосты для сайта с произвольным именем. Придумаем сайту имя, по-русски означающее « мой_сайт-2_на_локальном_компе » — my_site-2.local , отвечающее всем требованиями: из букв латинского языка с разрешенными знаками и даже с несуществующей зоной local.

3.2. Создадим для этого сайта папку в папке htdocs (C:\xampp) внутри севера XAMPP и дадим ей имя my_site-2.local. Следом уже внутри папки my_site-2.local создаем две подпапки: logs с пустым текстовым документом error_log.txt и вторую подпапку — www с файлом index.html. В файл index.html запишем новое приветствие: «Это сайт my_site-2.local ».

3.3. Настроим Windows, чтобы она заставляла браузер искать сайт внутрь компьютера, если ссылка будет иметь вид my_site-2.local (или www.my_site-2.local ).

Для этого открываем системный файл hosts (C:\Windows\System32\drivers\etc) и подписываем имя нашего сайта и его зеркало (псевдоним с www) под самые нижние строки, как мы это делали для сайта designfornet :

3.4. Сохраняем изменения в файле hosts и переходим в папку XAMPP. Главный конфигурационный файл httpd.conf нам уже не нужен, поэтому открываем только файл httpd-vhosts.conf по адресу C:\xampp\apache\conf\extra. Копируем из окна редактора кусок скрипта, касающийся сайта designfornet и вставляем его в какой-нибудь документ – или Блокнот или даже Word:

3.5. Понятно, что это нам надо для того, чтобы заменить слово designfornet на имя нового сайта my_site-2.local . После смены имен мы должны получить следующий скрипт:

Следите, чтобы не образовались ненужные пробелы в тексте и отступы от косой черты.

3.6. Вернем (подставим) этот текст снизу в файл httpd.conf и сохраним изменения в текстовом редакторе. В результате получим для сайта my_site-2.local секцию в файле httpd.conf, аналогичную секции, посвященной сайту designfornet .

3.7. Останавливаем через Контрольную панель XAMPP модуль Apache и запускаем снова кнопкой «Start», чтобы наши изменения вступили в силу.

3.8. Вставляем поочередно ссылки my_site-2.local и www.my_site-2.local в браузер. Если все было сделано без ошибок, то ссылки http://my_site-2.local и http://www.my_site-2.local будут вести на одну и туже страницу с приветствием «Это сайт my_site-2.local».

Я надеюсь, что теперь ни у кого не будет трудностей с созданием сайта на вебсервере XAMPP и настройках виртуальных хостов.

Вы можете еще потренироваться в создании сайтов, например, с именем site3.home.

Я думаю что можно сделать даже небольшое обобщение по принципам устройства интернета.

Главной программой интернета является программа браузер, которую мы заставляем искать сайт, если укажем его в строке адреса. Сама она не знает, где лежит запрашиваемый сайт, поэтому вначале спрашивает у системы windows (в файле hosts) – нет ли внутренних сайтов, как наши. Если сайта нет в списке, то браузер обращается на DNS сервер в Интернете, которые знают картографию сайтов в сети. Получив от DNS серверa адрес сайта браузер переходит на тот физический сервер, где лежит папка сайта и активирует серверные программы. Они выдают ему одну и туже страницу, даже при наличии в ссылке псевдонимов (без и с www).

Настройка виртуальных хостов – это лишь создание коротких и понятных для людей ссылок.

Источник

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

Каждый владелец VPS сталкивается с вопросом, как разместить несколько сайтов на одном сервере с одним IP-адресом. Если вы используете в качестве веб-сервера Apache, виртуальные хосты (virtual hosts) — верное решение для разделения ресурсов и отдельной конфигурации для каждого сайта.

Предварительная настройка

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

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

По умолчанию после создания сервера для доступа к нему создаётся root пользователь. В целях безопасности не рекомендуем работать под суперюзером.

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

Где UserName — имя нового пользователя.

Система попросит ввести пароль для нового пользователя и дополнительную информацию:

Теперь установите права доступа, чтобы новый пользователь мог использовать команду sudo. Для этого выполните команду:

Где UserName — имя созданного ранее пользователя.

Готово, новый пользователь создан. Завершите SSH-сеанс под root и подключитесь к серверу под новым пользователем.

Установка Ubuntu Apache

Чтобы выполнить действия ниже, у вас должен быть установлен Apache. Для полноценной работы сайта рекомендуем установить LAMP (Linux Apache MySQL PHP). Это минимальный набор ПО, который чаще всего используется для размещения и запуска сайта. Как установить LAMP, вы можете узнать в инструкции.

Подготовка доменов

Ваши домены должны быть привязаны к облачному серверу. Сделать это вы можете по инструкции.

В данной инструкции будут приведены примеры с доменами faq-reg.ru и support-faq.ru. В тех местах, где они будут встречаться, измените домены на свои.

Подготовка каталогов

Подготовим структуру каталогов. Рабочая директория Apache — /var/www. В данной директории мы будем создавать отдельные каталоги для каждого домена (виртуального хоста).

Чтобы создать каталоги, выполните команды:

В этих каталогах будут храниться файлы вашего сайта. Далее необходимо установить права доступа к ним:

Источник

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

Apache является одним из самых популярных веб-серверов в мире, он обеспечивает надежность и гибкость. По состоянию на 2019 год он обслуживает 29% всех активных веб-сайтов. С помощью Apache администратор может разместить несколько доменов или сайтов в рамках одного сервера.

Каждый домен или отдельный сайт в контексте веб-сервера Apache называется «виртуальный хост». Каждый виртуальный хост будет направлять посетителя в определенный каталог, содержащий информацию о запрашиваемом сайте. При этом пользователи не узнают, что тот же сервер обслуживает другие сайты. Эта схема расширяемая: пока ваш сервер может справиться с нагрузкой, в ыможете добавлять новые виртуальные хосты (то есть ресурсы сервера – единственное ограничение). Базовый блок конфигураций, который описывает отдельный сайт или домен, называется виртуальным хостом.

В этом мануале вы узнаете, как настроить виртуальные хосты Apache на сервере Ubuntu 18.04.

Требования

  • Настроенный сервер Ubuntu 18.04.
  • Пользователь с доступом к sudo (инструкции по настройке – здесь).
  • Предварительно установленный веб-сервер Apache (инструкции по установке вы найдёте здесь).

Если вы хотите быстро установить веб-сервер, запустите эти команды:

sudo apt update
sudo apt install apache2

В мануале мы используем условные домены example.com и test.com; не забудьте заменить их своим доменным именем. Если у вас нет домена, в конце мануала мы покажем, как протестировать настройку с фиктивными значениями на локальном компьютере.

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

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

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

В каждом таком каталоге будет размещен каталог public_html, он будет содержать необходимые файлы. Благодаря этому обслуживание сайтов становится более гибким.

Нужные каталоги можно создать при помощи команд:

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

Примечание: Замените условные домены в командах.

2: Настройка привилегий

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

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

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

Также нужно изменить права на чтение каталога сайта и всех его подкаталогов (чтобы страницы отображались правильно). Для этого запустите:

sudo chmod -R 755 /var/www

Читайте также: Привилегии в Linux

Теперь каталоги готовы. Можно приступать к созданию контента.

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

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

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

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

Success! The example.com virtual host is working!

Источник

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

Информация взята из https://www.8host.com/blog/nastrojka-virtualnyx-xostov-apache-v-ubuntu-16-04/

Apache является одним из самых популярных веб-серверов в мире.

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

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

Количество виртуальных хостов на одном сервере ограничивается исключительно ресурсами этого сервера.

Данное руководство поможет настроить виртуальные хосты на выделенном сервере Linux, Debian, Ubuntu, что позволит обслуживать разный контент в зависимости от запрашиваемого домена.

  • Предварительно настроенный сервер.
  • Не-root пользователь с расширенными привилегиями.
  • Установленный веб-сервер Apache

sudo apt-get update
sudo apt-get install apache2

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

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

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

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

Необходимые каталоги можно создать при помощи следующих команд:

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

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

Настройка прав Apache

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

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

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

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

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

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

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

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

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

Success! The example.com virtual host is working!

Источник



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

Apache является одним из самых популярных веб-серверов в мире.

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

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

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

Требования

  • Предварительно настроенный сервер Ubuntu 16.04.
  • Не-root пользователь с расширенными привилегиями.
  • Установленный веб-сервер Apache:

sudo apt-get update
sudo apt-get install apache2

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

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

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

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

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

Необходимые каталоги можно создать при помощи следующих команд:

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

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

2: Настройка прав

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

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

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

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

sudo chmod -R 755 /var/www

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

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

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

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

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

Success! The example.com virtual host is working!

Источник

Читайте также:  Как настроить макд в квике