VHOST не работает в Apache

Я получил сервер LAMP, работающий в Ubuntu 11.04. Теперь проблема заключается в том, что веб-сайты должны быть включены и отключены от терминала. Все из них должны быть доступны из http://localhost, что не так эффективно. Поэтому я создал VHOSTS, используя некоторые обучающие программы из сети. Вот код для него

<VirtualHost *:80> ServerAdmin webmaster@localhost Servername site.com ServerAlias www.site.com DocumentRoot /home/starx/public_html/site/public <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /home/starx/public_html/site/public> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> nGen ErrorLog ${APACHE_LOG_DIR}/site-error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog ${APACHE_LOG_DIR}/site-access.log combined Alias /doc/ "/usr/share/doc/" <Directory "/usr/share/doc/"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 </Directory> </VirtualHost>

Теперь я все еще не могу получить доступ к странице в http://site.com, но если я получаю доступ, используя http://localhsot/, к ней обращаются.

I отключили все остальные сайты, включая default, и только что включили один сайт, т.е. site

Как это исправить?

3
задан 17 July 2011 в 01:10

24 ответа

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

Я запускаю xampp (lampp) 1.80 для Ubuntu 12.04.

открыть /opt/lampp/etc/httpd.conf

См. Строка 488

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

удалите «#» из include. Новая установка не загружает httpd-vhosts.conf из коробки.

4
ответ дан 25 July 2018 в 21:36

Согласно /usr/share/doc/apache2/README.Debian.gz, если вы хотите создать определения для дополнительных сайтов, вы захотите разместить отдельные фрагменты конфигурации сайта в /etc/apache2/sites-available/ (см. /etc/apache2/sites-available/default для примера). Затем вы можете включать и отключать сайты на данном хосте с помощью команд a2ensite (8) и a2dissite (8). Обратите внимание, что это может работать не так, как описано, если распределенные конфигурации были значительно изменены.

Если сайт включен таким образом и продолжает не работать, вы должны убедиться, что веб-сервер может разрешить имя нового сайта таким образом, который соответствует IP-адресу, который веб-сервер считает, что он назначен: самый простой способ, вероятно, проверить с w3m https://my.new.secure.site с сервера. Вы также хотите проверить, что клиент разрешает имя таким образом, чтобы он попадал на соответствующий сервер (хотя разрешенный IP-адрес не должен совпадать с тем, который использует сервер). Для небезопасных сайтов это проще всего с telnet my.new.site 80 и, как только соединение будет завершено (нет приглашения), введите следующие три строки (обратите внимание, что третий пуст, но вы должны нажать клавишу в третий раз):

GET / HTTP/1.1 Host: my.new.site

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

Если первый тест не прошел, дважды проверьте службу имен, доступную на сервере, и IP-адреса, назначенные серверу (ifconfig -a). Также проверьте журналы доступа к сайту, чтобы убедиться, что вы видите соединение примерно в нужное время. Наконец, убедитесь, что ваш виртуальный хост прослушивается по имени, а не по IP, и не фильтрует результаты для / на основе IP в вашей директиве VirtualHost.

1
ответ дан 25 July 2018 в 21:36
  • 1
    По-прежнему VHOST не работает. Хотя сайт доступен localhost – Starx 10 July 2011 в 18:26
  • 2
    Как вы имеете в виду «не работает»? Какой из тестов выше не удалось? Как это случилось? – Emmet Hikory 10 July 2011 в 22:24

Добавили ли вы сайт site.com и www.site.com в файл / etc / hosts, чтобы убедиться, что маршрутизация dns правильная? Вы можете попробовать nslookup site.com проверить dns.

Если вы хотите убедиться, что http://localhost не работает, удалите файлы / etc / apache2 / default, default-ssl и используйте один виртуальный хост .

0
ответ дан 25 July 2018 в 21:36

Я не уверен, что это то, что вы хотите.

Замените ваши коды на эти простые короткие коды.

<VirtualHost *:80> ServerAdmin admin@localhost DocumentRoot YourDocumentRoot ServerName site.com ServerAlias www.site.com ErrorLog localhost CustomLog localhost-access_log common </VirtualHost>

Вы можете узнать больше о vhost здесь

0
ответ дан 25 July 2018 в 21:36

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

Я запускаю xampp (lampp) 1.80 для Ubuntu 12.04.

открыть /opt/lampp/etc/httpd.conf

См. Строка 488

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

удалите «#» из include. Новая установка не загружает httpd-vhosts.conf из коробки.

4
ответ дан 31 July 2018 в 13:21

Согласно /usr/share/doc/apache2/README.Debian.gz, если вы хотите создать определения для дополнительных сайтов, вы захотите разместить отдельные фрагменты конфигурации сайта в /etc/apache2/sites-available/ (см. /etc/apache2/sites-available/default для примера). Затем вы можете включать и отключать сайты на данном хосте с помощью команд a2ensite (8) и a2dissite (8). Обратите внимание, что это может работать не так, как описано, если распределенные конфигурации были значительно изменены.

Если сайт включен таким образом и продолжает не работать, вы должны убедиться, что веб-сервер может разрешить имя нового сайта таким образом, который соответствует IP-адресу, который веб-сервер считает, что он назначен: самый простой способ, вероятно, проверить с w3m https://my.new.secure.site с сервера. Вы также хотите проверить, что клиент разрешает имя таким образом, чтобы он попадал на соответствующий сервер (хотя разрешенный IP-адрес не должен совпадать с тем, который использует сервер). Для небезопасных сайтов это проще всего с telnet my.new.site 80 и, как только соединение будет завершено (нет приглашения), введите следующие три строки (обратите внимание, что третий пуст, но вы должны нажать клавишу в третий раз):

GET / HTTP/1.1 Host: my.new.site

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

Если первый тест не прошел, дважды проверьте службу имен, доступную на сервере, и IP-адреса, назначенные серверу (ifconfig -a). Также проверьте журналы доступа к сайту, чтобы убедиться, что вы видите соединение примерно в нужное время. Наконец, убедитесь, что ваш виртуальный хост прослушивается по имени, а не по IP, и не фильтрует результаты для / на основе IP в вашей директиве VirtualHost.

1
ответ дан 31 July 2018 в 13:21
  • 1
    По-прежнему VHOST не работает. Хотя сайт доступен localhost – Starx 10 July 2011 в 18:26
  • 2
    Как вы имеете в виду «не работает»? Какой из тестов выше не удалось? Как это случилось? – Emmet Hikory 10 July 2011 в 22:24

Добавили ли вы сайт site.com и www.site.com в файл / etc / hosts, чтобы убедиться, что маршрутизация dns правильная? Вы можете попробовать nslookup site.com проверить dns.

Если вы хотите убедиться, что http://localhost не работает, удалите файлы / etc / apache2 / default, default-ssl и используйте один виртуальный хост .

0
ответ дан 31 July 2018 в 13:21

Я не уверен, что это то, что вы хотите.

Замените ваши коды на эти простые короткие коды.

<VirtualHost *:80> ServerAdmin admin@localhost DocumentRoot YourDocumentRoot ServerName site.com ServerAlias www.site.com ErrorLog localhost CustomLog localhost-access_log common </VirtualHost>

Вы можете узнать больше о vhost здесь

0
ответ дан 31 July 2018 в 13:21

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

Я запускаю xampp (lampp) 1.80 для Ubuntu 12.04.

открыть /opt/lampp/etc/httpd.conf

См. Строка 488

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

удалите «#» из include. Новая установка не загружает httpd-vhosts.conf из коробки.

4
ответ дан 2 August 2018 в 03:13

Согласно /usr/share/doc/apache2/README.Debian.gz, если вы хотите создать определения для дополнительных сайтов, вы захотите разместить отдельные фрагменты конфигурации сайта в /etc/apache2/sites-available/ (см. /etc/apache2/sites-available/default для примера). Затем вы можете включать и отключать сайты на данном хосте с помощью команд a2ensite (8) и a2dissite (8). Обратите внимание, что это может работать не так, как описано, если распределенные конфигурации были значительно изменены.

Если сайт включен таким образом и продолжает не работать, вы должны убедиться, что веб-сервер может разрешить имя нового сайта таким образом, который соответствует IP-адресу, который веб-сервер считает, что он назначен: самый простой способ, вероятно, проверить с w3m https://my.new.secure.site с сервера. Вы также хотите проверить, что клиент разрешает имя таким образом, чтобы он попадал на соответствующий сервер (хотя разрешенный IP-адрес не должен совпадать с тем, который использует сервер). Для небезопасных сайтов это проще всего с telnet my.new.site 80 и, как только соединение будет завершено (нет приглашения), введите следующие три строки (обратите внимание, что третий пуст, но вы должны нажать клавишу в третий раз):

GET / HTTP/1.1 Host: my.new.site

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

Если первый тест не прошел, дважды проверьте службу имен, доступную на сервере, и IP-адреса, назначенные серверу (ifconfig -a). Также проверьте журналы доступа к сайту, чтобы убедиться, что вы видите соединение примерно в нужное время. Наконец, убедитесь, что ваш виртуальный хост прослушивается по имени, а не по IP, и не фильтрует результаты для / на основе IP в вашей директиве VirtualHost.

1
ответ дан 2 August 2018 в 03:13
  • 1
    По-прежнему VHOST не работает. Хотя сайт доступен localhost – Starx 10 July 2011 в 18:26
  • 2
    Как вы имеете в виду «не работает»? Какой из тестов выше не удалось? Как это случилось? – Emmet Hikory 10 July 2011 в 22:24

Добавили ли вы сайт site.com и www.site.com в файл / etc / hosts, чтобы убедиться, что маршрутизация dns правильная? Вы можете попробовать nslookup site.com проверить dns.

Если вы хотите убедиться, что http://localhost не работает, удалите файлы / etc / apache2 / default, default-ssl и используйте один виртуальный хост .

0
ответ дан 2 August 2018 в 03:13

Я не уверен, что это то, что вы хотите.

Замените ваши коды на эти простые короткие коды.

<VirtualHost *:80> ServerAdmin admin@localhost DocumentRoot YourDocumentRoot ServerName site.com ServerAlias www.site.com ErrorLog localhost CustomLog localhost-access_log common </VirtualHost>

Вы можете узнать больше о vhost здесь

0
ответ дан 2 August 2018 в 03:13

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

Я запускаю xampp (lampp) 1.80 для Ubuntu 12.04.

открыть /opt/lampp/etc/httpd.conf

См. Строка 488

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

удалите «#» из include. Новая установка не загружает httpd-vhosts.conf из коробки.

4
ответ дан 4 August 2018 в 19:07

Согласно /usr/share/doc/apache2/README.Debian.gz, если вы хотите создать определения для дополнительных сайтов, вы захотите разместить отдельные фрагменты конфигурации сайта в /etc/apache2/sites-available/ (см. /etc/apache2/sites-available/default для примера). Затем вы можете включать и отключать сайты на данном хосте с помощью команд a2ensite (8) и a2dissite (8). Обратите внимание, что это может работать не так, как описано, если распределенные конфигурации были значительно изменены.

Если сайт включен таким образом и продолжает не работать, вы должны убедиться, что веб-сервер может разрешить имя нового сайта таким образом, который соответствует IP-адресу, который веб-сервер считает, что он назначен: самый простой способ, вероятно, проверить с w3m https://my.new.secure.site с сервера. Вы также хотите проверить, что клиент разрешает имя таким образом, чтобы он попадал на соответствующий сервер (хотя разрешенный IP-адрес не должен совпадать с тем, который использует сервер). Для небезопасных сайтов это проще всего с telnet my.new.site 80 и, как только соединение будет завершено (нет приглашения), введите следующие три строки (обратите внимание, что третий пуст, но вы должны нажать клавишу в третий раз):

GET / HTTP/1.1 Host: my.new.site

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

Если первый тест не прошел, дважды проверьте службу имен, доступную на сервере, и IP-адреса, назначенные серверу (ifconfig -a). Также проверьте журналы доступа к сайту, чтобы убедиться, что вы видите соединение примерно в нужное время. Наконец, убедитесь, что ваш виртуальный хост прослушивается по имени, а не по IP, и не фильтрует результаты для / на основе IP в вашей директиве VirtualHost.

1
ответ дан 4 August 2018 в 19:07
  • 1
    По-прежнему VHOST не работает. Хотя сайт доступен localhost – Starx 10 July 2011 в 18:26
  • 2
    Как вы имеете в виду «не работает»? Какой из тестов выше не удалось? Как это случилось? – Emmet Hikory 10 July 2011 в 22:24

Добавили ли вы сайт site.com и www.site.com в файл / etc / hosts, чтобы убедиться, что маршрутизация dns правильная? Вы можете попробовать nslookup site.com проверить dns.

Если вы хотите убедиться, что http://localhost не работает, удалите файлы / etc / apache2 / default, default-ssl и используйте один виртуальный хост .

0
ответ дан 4 August 2018 в 19:07

Я не уверен, что это то, что вы хотите.

Замените ваши коды на эти простые короткие коды.

<VirtualHost *:80> ServerAdmin admin@localhost DocumentRoot YourDocumentRoot ServerName site.com ServerAlias www.site.com ErrorLog localhost CustomLog localhost-access_log common </VirtualHost>

Вы можете узнать больше о vhost здесь

0
ответ дан 4 August 2018 в 19:07

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

Я запускаю xampp (lampp) 1.80 для Ubuntu 12.04.

открыть /opt/lampp/etc/httpd.conf

См. Строка 488

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

удалите «#» из include. Новая установка не загружает httpd-vhosts.conf из коробки.

4
ответ дан 6 August 2018 в 03:25

Согласно /usr/share/doc/apache2/README.Debian.gz, если вы хотите создать определения для дополнительных сайтов, вы захотите разместить отдельные фрагменты конфигурации сайта в /etc/apache2/sites-available/ (см. /etc/apache2/sites-available/default для примера). Затем вы можете включать и отключать сайты на данном хосте с помощью команд a2ensite (8) и a2dissite (8). Обратите внимание, что это может работать не так, как описано, если распределенные конфигурации были значительно изменены.

Если сайт включен таким образом и продолжает не работать, вы должны убедиться, что веб-сервер может разрешить имя нового сайта таким образом, который соответствует IP-адресу, который веб-сервер считает, что он назначен: самый простой способ, вероятно, проверить с w3m https://my.new.secure.site с сервера. Вы также хотите проверить, что клиент разрешает имя таким образом, чтобы он попадал на соответствующий сервер (хотя разрешенный IP-адрес не должен совпадать с тем, который использует сервер). Для небезопасных сайтов это проще всего с telnet my.new.site 80 и, как только соединение будет завершено (нет приглашения), введите следующие три строки (обратите внимание, что третий пуст, но вы должны нажать клавишу в третий раз):

GET / HTTP/1.1 Host: my.new.site

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

Если первый тест не прошел, дважды проверьте службу имен, доступную на сервере, и IP-адреса, назначенные серверу (ifconfig -a). Также проверьте журналы доступа к сайту, чтобы убедиться, что вы видите соединение примерно в нужное время. Наконец, убедитесь, что ваш виртуальный хост прослушивается по имени, а не по IP, и не фильтрует результаты для / на основе IP в вашей директиве VirtualHost.

1
ответ дан 6 August 2018 в 03:25
  • 1
    По-прежнему VHOST не работает. Хотя сайт доступен localhost – Starx 10 July 2011 в 18:26
  • 2
    Как вы имеете в виду «не работает»? Какой из тестов выше не удалось? Как это случилось? – Emmet Hikory 10 July 2011 в 22:24

Добавили ли вы сайт site.com и www.site.com в файл / etc / hosts, чтобы убедиться, что маршрутизация dns правильная? Вы можете попробовать nslookup site.com проверить dns.

Если вы хотите убедиться, что http://localhost не работает, удалите файлы / etc / apache2 / default, default-ssl и используйте один виртуальный хост .

0
ответ дан 6 August 2018 в 03:25

Я не уверен, что это то, что вы хотите.

Замените ваши коды на эти простые короткие коды.

<VirtualHost *:80> ServerAdmin admin@localhost DocumentRoot YourDocumentRoot ServerName site.com ServerAlias www.site.com ErrorLog localhost CustomLog localhost-access_log common </VirtualHost>

Вы можете узнать больше о vhost здесь

0
ответ дан 6 August 2018 в 03:25

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

Я запускаю xampp (lampp) 1.80 для Ubuntu 12.04.

открыть /opt/lampp/etc/httpd.conf

См. Строка 488

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

удалите «#» из include. Новая установка не загружает httpd-vhosts.conf из коробки.

4
ответ дан 7 August 2018 в 21:11

Согласно /usr/share/doc/apache2/README.Debian.gz, если вы хотите создать определения для дополнительных сайтов, вы захотите разместить отдельные фрагменты конфигурации сайта в /etc/apache2/sites-available/ (см. /etc/apache2/sites-available/default для примера). Затем вы можете включать и отключать сайты на данном хосте с помощью команд a2ensite (8) и a2dissite (8). Обратите внимание, что это может работать не так, как описано, если распределенные конфигурации были значительно изменены.

Если сайт включен таким образом и продолжает не работать, вы должны убедиться, что веб-сервер может разрешить имя нового сайта таким образом, который соответствует IP-адресу, который веб-сервер считает, что он назначен: самый простой способ, вероятно, проверить с w3m https://my.new.secure.site с сервера. Вы также хотите проверить, что клиент разрешает имя таким образом, чтобы он попадал на соответствующий сервер (хотя разрешенный IP-адрес не должен совпадать с тем, который использует сервер). Для небезопасных сайтов это проще всего с telnet my.new.site 80 и, как только соединение будет завершено (нет приглашения), введите следующие три строки (обратите внимание, что третий пуст, но вы должны нажать клавишу в третий раз):

GET / HTTP/1.1 Host: my.new.site

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

Если первый тест не прошел, дважды проверьте службу имен, доступную на сервере, и IP-адреса, назначенные серверу (ifconfig -a). Также проверьте журналы доступа к сайту, чтобы убедиться, что вы видите соединение примерно в нужное время. Наконец, убедитесь, что ваш виртуальный хост прослушивается по имени, а не по IP, и не фильтрует результаты для / на основе IP в вашей директиве VirtualHost.

1
ответ дан 7 August 2018 в 21:11
  • 1
    По-прежнему VHOST не работает. Хотя сайт доступен localhost – Starx 10 July 2011 в 18:26
  • 2
    Как вы имеете в виду «не работает»? Какой из тестов выше не удалось? Как это случилось? – Emmet Hikory 10 July 2011 в 22:24

Добавили ли вы сайт site.com и www.site.com в файл / etc / hosts, чтобы убедиться, что маршрутизация dns правильная? Вы можете попробовать nslookup site.com проверить dns.

Если вы хотите убедиться, что http://localhost не работает, удалите файлы / etc / apache2 / default, default-ssl и используйте один виртуальный хост .

0
ответ дан 7 August 2018 в 21:11

Я не уверен, что это то, что вы хотите.

Замените ваши коды на эти простые короткие коды.

<VirtualHost *:80> ServerAdmin admin@localhost DocumentRoot YourDocumentRoot ServerName site.com ServerAlias www.site.com ErrorLog localhost CustomLog localhost-access_log common </VirtualHost>

Вы можете узнать больше о vhost здесь

0
ответ дан 7 August 2018 в 21:11

Другие вопросы по тегам:

Похожие вопросы: