Налаштування віртуальних хостів

  1. Створення віртуальних хостів
  2. Apache віртуальний хост
  3. Як створити віртуальний хост

Цією статтею я закриваю уроки про те як зробити домашній сайт за допомогою веб сервера 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://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. # 127.0.0.1 localhost # :: 1 localhost 127.0.0.1 localhost 127.0.0.1 www.localhost

Пропозиція «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) - тобто всередині комп'ютера.

Так як нижче є рядок:

127.0.0.1 www.localhost

то за аналогією ми припускаємо, що браузер буде шукати www.localhost так само всередині комп'ютера. Для браузера сайти з іменами localhost і www.localhost - це два різних сайту.

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

1.10. Наше завдання повторити для свого сайту з ім'ям designfornet все, що зроблено для сайту localhost, тому прописуємо його в файлі hosts, щоб змусить браузери так само шукати його не в Великому Інтернеті, а всередині комп'ютера серед сайтів з IP = 127.0.0.1.

1.11. Для цього копіюємо звідси такі рядки:

127.0.0.1 designfornet 127.0.0.1 www.designfornet

І підставляємо їх у вікні текстового редактора в текст файлу hosts під самі нижні рядки, щоб вийшло щось подібне:

... # localhost name resolution is handled within DNS itself. # 127.0.0.1 localhost # :: 1 localhost 127.0.0.1 localhost 127.0.0.1 www.localhost 127.0.0.1 designfornet 127.0.0.1 www.designfornet

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 ці два рядки повинні бути без грат, тому їх просто прибираємо:

LoadModule vhost_alias_module modules / mod_vhost_alias.so Include «conf / extra / httpd-vhosts.conf»

Зберігаємо зміни у файлі httpd.conf.

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

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

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

NameVirtualHost *: 80 <VirtualHost *: 80> DocumentRoot "C: \ xampp \ htdocs" ServerName localhost </ VirtualHost> <VirtualHost *: 80> ServerAdmin webmaster @ localhost DocumentRoot "C: \ xampp \ htdocs \ designfornet \ www" ServerName designfornet ServerAlias ​​www.designfornet ErrorLog "C: \ xampp \ htdocs \ designfornet \ logs \ error_log" CustomLog "C: \ xampp \ htdocs \ designfornet \ logs \ access.log" combined <Directory "C: \ xampp \ htdocs \ designfornet \ www "> AllowOverride All Order allow, deny Allow from all </ Directory> </ VirtualHost> Зверніть увагу, що в деяких версіях в коді можуть використовуватися одинарні англійські лапки ( '), типу« 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) в тексті посилань, тоді за різними адресами:

http: // designfornet /

http: //www.designfornet/

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

Сторінки 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:

127.0.0.1 designfornet 127.0.0.1 www.designfornet 127.0.0.1 my_site-2.local 127.0.0.1 www.my_site-2.local

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

<VirtualHost *: 80> ServerAdmin webmaster @ localhost DocumentRoot "C: \ xampp \ htdocs \ designfornet \ www" ServerName designfornet ServerAlias ​​www.designfornet ErrorLog "C: \ xampp \ htdocs \ designfornet \ logs \ error_log" CustomLog "C: \ xampp \ htdocs \ designfornet \ logs \ access.log "combined <Directory" C: \ xampp \ htdocs \ designfornet \ www "> AllowOverride All Order allow, deny Allow from all </ Directory> </ VirtualHost>

3.5. Зрозуміло, що це нам треба для того, щоб замінити слово designfornet на ім'я нового сайту my_site-2.local. Після зміни імен ми повинні отримати наступний скрипт:

<VirtualHost *: 80> ServerAdmin webmaster @ localhost DocumentRoot "C: \ xampp \ htdocs \ my_site-2.local \ www" ServerName my_site-2.local ServerAlias ​​www.my_site-2.local ErrorLog "C: \ xampp \ htdocs \ my_site-2.local \ logs \ error_log "CustomLog" C: \ xampp \ htdocs \ my_site-2.local \ logs \ access.log "combined <Directory" C: \ xampp \ htdocs \ my_site-2.local \ www " > AllowOverride All Order allow, deny Allow from all </ Directory> </ VirtualHost>

Слідкуйте, щоб не утворилися непотрібні пробіли в тексті і відступи від косою риси.

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).

Налаштування віртуальних хостів - це лише створення коротких і зрозумілих для людей посилань.

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

Или позвоните нам по телефонам: (048) 823-25-64

Организация (обязательно) *

Адрес доставки

Объем

Как с вами связаться:

Имя

Телефон (обязательно) *

Мобильный телефон

Ваш E-Mail

Дополнительная информация: