Какво са виртуалните хостове?
- Виртуалните хостове са начин да кажем на компютъра/сървъра кой домейн към коя папка(проект) води.
С какво са полезни виртуалните хостове?
- Дават ни възможността да се доближим максимално до реалната среда за работа на приложението.
- Избягваме евентуални бъгове с бисквитки налични при използването на Google Chrome под домейна localhost.
- Бисквитките ще бъдат асоциирани към вашият домейн а не към общият localhost.
- Избягваме евентуални бъгове с url rewriting. Какво имам предвид? При използването на http://localhost/ вашият проект се намира една или повече директории навътре и реално url-a би изглеждал така http://localhost/myProjects/myNewSite/user/1/gallery. При качването му в реална среда бихте имали проблеми с позициите на елементите след http://localhost/. те ще са по-малко и реално ще изглежда така http://mysite.com/user/1/gallery/ и ще се натъкнете на грешка.
Как браузъра разбира къде да търси даден сайт?
При въвеждане на даден url/domain адрес всекиму е известно че браузърът прави заявка до DNS сървърите и ги пита дали някой от тях знае къде се намира желаният сайт. Ако те знаят ip-то на конкретния адрес то бива върнато обратно на браузъра и той се обръща вече към него по полученото ip. Тук е момента да вметна, че точно преди да попита DNS сървърите браузърът пита операционната система дали тя знае къде се намира този сайт. Ако тя не знае тогава заявката заминава към DNS сървърите. За да регистрираме наш виртуален хост(домейн) е нужно да кажем на операционната система на кое ip да търси исканият сайт. Как става това ще разберете в стъпките описани по-долу.
Как да регистрираме виртуален хост?
За да регистрирате виртуален хост първо е нужно да кажем на операционната система към кое ip да препраща желаният домейн. Това става чрез дописване конфигурационен ред в така нареченият host файл. Под Windows този файл може да бъде намерен в следната директория C:\Windows\System32\drivers\etc. За да редактирате host файла е нужно да имате стартиран Notepad++ като администратори. Ако нямате Notepad++ може да го изтеглите от тук.
Следващата стъпка е да отворите host файла намиращ се в C:\Windows\System32\drivers\etc чрез стартирания като администратор Notepad++.
Нуждата да се редактира с редактор който използва администраторските права е защото операционната система не позволява редактирането на този файл от програма без администраторски права поради съображения за сигурност.
След като сте отворили host файла е нужно да добавите следният ред най-отдолу.
127.0.0.1 site-name.loc
Желателно е домейна да завършва на .loc или .localhost но разбира се преценката си е ваша.
До тук добре. Казахме на операционната система кое ip да връща при заявка за желаният домейн.
Ако се чудите 127.0.0.1 е ip-то на вашият локален хост на който работи вашият apache сървър. Сега е ред да кажем и на нашият apache сървър къде да търси желаният сайт. Това става чрез описване на виртуалния хост в настройките на apache сървърът. Трябва да редактираме следният конфигурационен файл – httpd-vhosts.conf намиращ се в следната директория – C:\xampp\apache\conf\extra . Отново отворете с Notepad++ и въведете следните редове показани в картинката.
Следващата стъпка е да рестартираме apache сървъра от контролния панел на Xampp.
И да проверим дали сме се справили успешно като въведем желаният адрес в адрес бара на браузъра.
За целта на тества в директорията която съм посочил в httpd-vhosts.conf файла съм сложил един index.html файл който да се зареди при зареждане на виртуалният хост.