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

После того как у вас появилось твердое желание занять веб-разработкой и вы прошли этап «как установить веб сервер«, вы столкнетесь со следующим «неудобством».
У вас доступен всего лишь один сайт.
Т.е вы установили сервер, загрузили свои файлы в папку htdocs, в адресной строке браузера сказали «localhost» и получили home-страницу своего сайта. А если вы хотите обращаться к своему сайту не по имени localhost, а mysite.loc?
Или вообще хотите изучать параллельно WordPress и Laravel?
Но разворачивать еще один сервер ради этого, некошерно!

Есть замечательная возможность создать виртуальные хосты, т.е обращаться к одному и тому же вашему локальному серверу, но к разным сайтам mywordpress.loc и mylaravel.loc.
Как это сделать?

Виртуальный хост для Winodows.

Создадим папку www на диске C.
В ней создадим папки виртуальных хостов mywordpres и mylaravel.
В каждой из них создадим файл index.php.

Откроем C:\mywordpress\index.php в текстовом редакторе, и добавим следующие строки

 

Hello from WordPress.

 

Сохраним его.

То же проделаем и с другим хостом.

Откроем конфигурационный файл нашего сервера C:\xammp(или другая папка вашего сервера)\apache\conf\httpd.conf в текстовом редакторе,
найдем строчку с директивой DocumentRoot и заменим «C:\xammp\htdocs» на «C:\www«.

Далее в конце допишем


<VirtualHost *:80>
ServerName mywordpress.loc
DocumentRoot C:\mywordpress
</VirtualHost>

<VirtualHost *:80>
ServerName mylaravel.loc
DocumentRoot C:\www\mylaravel
</VirtualHost>

Конечно же не забудем CTRL+S.

Осталась самое малое. Открыть файл C:\Windows\System32\Drivers\etc\hosts как Администратор(пр.кн. мыши) и добавить следующие строки


127.0.0.1 mywordpress.loc
127.0.0.1 mylaravel.loc

И его тоже сохраним.

Осталось перезапустить наш веб сервер. Для XAMMP это можно сделать в его контрольной панели. Остановить и запустить заново module Apache.

Теперь в адресной строке напишем mylaravel.loc/. Слеш в конце обязателен, т.к. браузер воспримет это как строку для поиска и полезет в искать эту строку в Google или yandex или другую вашу дефолтную поисковую машину.

Должна открыться страница с надписью Hello from MyLaravel.

виртуальный хост
Аналогично и для mywordpress.loc.

Возможные проблемы.

Зачастую для Windows, после изменений в файле hosts, нужна перезагрузка системы.

 

Виртуальный хост для Linux.

 

Все также как и в Windows, но разница в путях и не user-friendly interface, а потому все придется писать в терминале (CTRL+ALT+T)

Для Ubuntu:

Sudo — открыть с правами Root( Администратор в Windows )

файл конфигурации, где создадим виртуальные хосты


sudo nano /etc/apache2/sites-available/default000.conf

Рекомедации: nano — это неудобный текстовый редактор, поэтому предложу установить Gedit, командой


sudo apt-get install gedit

После установки изменить предыдущую строку на


sudo gedit /etc/apache2/sites-available/default000.conf

<VirtualHost *:80>
ServerName mywordpress.loc
DocumentRoot /var/www/mywordpress
</VirtualHost>

<VirtualHost *:80>
ServerName mylaravel.loc
DocumentRoot /var/www/mylaravel
</VirtualHost>

файл hosts


sudo gedit /etc/hosts

Перезапуск сервера


sudo service apache2 restart

Возможные проблемы

1. Может выдать ошибку 403 при запросе вашего хоста из браузера.

Лечение: запустим терминал и напишем


sudo chmod -R 777 /var/www

На этом все. Спасибо за внимание.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *