Виртуальный хост WAMP не работает

Я использую версию Wamp 2.5. Мой Apache – 2.4.9. PHP: 5.5.12. MySQL: 5.6.17.

У меня есть следующие конфигурации:

На моем httpd.conf

 # Virtual hosts Include conf/extra/httpd-vhosts.conf 

На моем G:\wamp\bin\apache\apache2.4.9\conf\extra\httpd-vhost.conf

 # Virtual Hosts # # Required modules: mod_log_config # If you want to maintain multiple domains/hostnames on your # machine you can setup VirtualHost containers for them. Most configurations # use only name-based virtual hosts so the server doesn't need to worry about # IP addresses. This is indicated by the asterisks in the directives below. # # Please see the documentation at # <URL:http://httpd.apache.org/docs/2.4/vhosts/> # for further details before you try to setup virtual hosts. # # You may use the command line option '-S' to verify your virtual host # configuration. # # # VirtualHost example: # Almost any Apache directive may go into a VirtualHost container. # The first VirtualHost section is used for all requests that do not # match a ServerName or ServerAlias in any <VirtualHost> block. # <VirtualHost *:80> ServerAdmin webmaster@dummy-host.example.com DocumentRoot "g:/Apache24/docs/dummy-host.example.com" ServerName dummy-host.example.com ServerAlias www.dummy-host.example.com ErrorLog "logs/dummy-host.example.com-error.log" CustomLog "logs/dummy-host.example.com-access.log" common </VirtualHost> <VirtualHost *:80> ServerAdmin webmaster@dummy-host2.example.com DocumentRoot "g:/Apache24/docs/dummy-host2.example.com" ServerName dummy-host2.example.com ErrorLog "logs/dummy-host2.example.com-error.log" CustomLog "logs/dummy-host2.example.com-access.log" common </VirtualHost> <VirtualHost *:80> ServerAdmin webmaster@dummy-host.example.com DocumentRoot "g:/wamp/www" ServerName localhost ErrorLog "logs/localhost-error.log" CustomLog "logs/localhost-access.log" common </VirtualHost> <VirtualHost *:80> DocumentRoot "g:\wamp\www\mysite\public" ServerName mysite.dev </VirtualHost> 

На моем компьютере c:\Windows\System32\Drivers\etc\hosts

 # localhost name resolution is handled within DNS itself. 127.0.0.1 localhost 127.0.0.1 mysite.dev # ::1 localhost 

Я пытаюсь получить доступ к своему проекту с помощью этого URL-адреса: http://www.mysite.dev/ НО Я получаю сообщение Server not found error Я попытался получить доступ к нему, используя www.mysite.dev , http://mysite.dev но все еще имея невезение!

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

Я не уверен, что происходит. Любые идеи будут высоко оценены!

Благодаря!

Solutions Collecting From Web of "Виртуальный хост WAMP не работает"

Сначала вам нужно удалить примеры фиктивных определений из вашего файла vhost-httpd.conf. Они есть в качестве примеров только для того, чтобы вы начали с синтаксиса и не должны оставаться в активном conf/extra/httpd-vhosts.conf поскольку они указывают на несуществующие папки.

Поэтому удалите эти 2 определения из файла:

 <VirtualHost *:80> ServerAdmin webmaster@dummy-host.example.com DocumentRoot "g:/Apache24/docs/dummy-host.example.com" ServerName dummy-host.example.com ServerAlias www.dummy-host.example.com ErrorLog "logs/dummy-host.example.com-error.log" CustomLog "logs/dummy-host.example.com-access.log" common </VirtualHost> <VirtualHost *:80> ServerAdmin webmaster@dummy-host2.example.com DocumentRoot "g:/Apache24/docs/dummy-host2.example.com" ServerName dummy-host2.example.com ErrorLog "logs/dummy-host2.example.com-error.log" CustomLog "logs/dummy-host2.example.com-access.log" common </VirtualHost> 

Второй Apache 2.4.x – это IPV4 (127.0.0.1) и IPV6 (:: 1), так что ваш файл hosts должен выглядеть так, как определения для версий IPV4 и IPV6 для каждого сайта. Браузер может произвольно использовать либо так, что вам нужны оба, но, вероятно, будет использовать сеть IPV6, предпочитая IPV4, если оба они фактически активны на вашем ПК.

 127.0.0.1 localhost ::1 localhost 127.0.0.1 mysite.dev ::1 mysite.dev 

Теперь на двух виртуальных хостах, которые на самом деле существуют в вашей системе, попробуйте это как определение виртуального хоста:

 <VirtualHost *:80> DocumentRoot "g:/wamp/www" ServerName localhost ServerAlias localhost ErrorLog "logs/localhost-error.log" CustomLog "logs/localhost-access.log" common <Directory "G:/wamp/www"> AllowOverride All Options Indexes FollowSymLinks Require local </Directory> </VirtualHost> <VirtualHost *:80> DocumentRoot "g:\wamp\www\mysite\public" ServerName mysite.dev ServerAlias www.mysite.dev ErrorLog "logs/mysite-error.log" CustomLog "logs/mysite-access.log" common <Directory "G:/wamp/www/mysite/public"> AllowOverride All Options Indexes FollowSymLinks Require local </Directory> </VirtualHost> 

Раздел <Directory>....</Directory> разделе <VirtualHost>....</VirtualHost> сообщает Apache, для IP-адресов которого разрешено принимать соединения, поэтому с использованием синтаксиса Apache 2.4 Require local доступ к Require local ограничениям так что только ПК с WAMPServer, т.е. Apache, может подключиться к любому из этих сайтов.

Избегайте смешивать синтаксис Apache 2.2 и синтаксис Apache 2.4 вместе в одном определении. Так что не используйте

 Order Allow,Deny Allow from all 

а также

 Require all granted 

в том же определении. Вы используете Apache 2.4, поэтому используйте синтаксис Apache 2.4.

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

Разрешить использование только одного ПК на вашем сайте

 Require local Require ip 192.168.1.100 

или 2 других ПК

 Require local Require ip 192.168.1.100, 192.168.1.101 

Или кому-либо из вашей локальной сети просто используйте первые 3 из 4 квартилей ip-адреса.

 Require ip 192.168.1 

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

 Require all granted <--Apache 2.4 syntax or Order Allow,Deny <-- Apache 2.2 syntax Allow from all 

Он может решить ваши проблемы в краткосрочной перспективе, но просто ждет, чтобы поймать вас когда-нибудь позже, когда вы решите, что хотите показать свой сайт другу / клиенту / боссу. Если вы дойдете до этапа Port Forwarding, вы маршрутизатор, чтобы мир был включен в вашу сеть, что приведет к тому, что ВСЕ ВАШИ САЙТЫ станут доступны миру.

Лучше изменить ОДНОЕ определение виртуального хоста для ОДНОГО сайта, который вы хотите, чтобы люди видели для тестирования / бахвальства из « Require local чтобы Require all granted и разрешать доступ только одному сайту из Интернета.

После того, как вы внесли все эти изменения, не забудьте перезапустить Apache.

Также, если вы измените файл hosts, чтобы активировать chnages, вы должны либо перезагрузить, либо запустить эту команду из командной строки команды, в которой запущена команда Runs as Administrator .

 net stop dnscache net start dnscache 

Следующее работает для меня

 <VirtualHost *:80> DocumentRoot "G:\project\test.dev" ServerAdmin test@gmail.com ServerName test.dev ErrorLog "logs/test.dev-error.log" CustomLog "logs/test.dev-access.log" common <Directory "G:\project\test.dev"> AllowOverride All Options Indexes FollowSymLinks Require local </Directory> </VirtualHost> 

Я исправляю ту же проблему, раскомментируя некоторые строки в httpd.conf в папке Apache.

Раскомментируйте строки ниже:

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

Сохраните файл и перезагрузите Apache, и он будет работать. Огромное спасибо этому парню: https://john-dugan.com/wamp-vhost-setup/

Проверьте эти модули без комментирования в httpd.conf

  • proxy_module
  • proxy_http_module

попробуйте это на вашем файле apache httpd.config:

  <VirtualHost *:80> ServerName mysite.dev DocumentRoot "g:\wamp\www\mysite\public" SetEnv APPLICATION_ENV "development" <Directory "g:\wamp\www\mysite\public"> DirectoryIndex index.php Options All Includes Indexes Options All Indexes FollowSymLinks Order allow,deny Allow from all Require all granted </Directory> </VirtualHost> 

перезагрузите ваш сервер wamp и поместите url как mysite.dev/ в свой браузер. надеюсь, это поможет вам. Спасибо.