Apache: настройка виртуальных серверов на моей локальной машине для доступа с других компьютеров в моей локальной сети

Я использую Apache 2.2 на XP. Я хочу настроить Apache таким образом, чтобы у меня были разные тестовые сайты (каждый из которых слушал на своем порте), чтобы к ним могли обращаться другие машины в моей внутренней (домашней сети).

Мне удалось настроить различные виртуальные хосты (все используют порт 80), затем я использовал файл хоста для предоставления имен серверов, таких как:

127.0.0.1 localhost 127.0.0.1 test.php.localhost 127.0.0.1 phpmyadmin.localhost

так далее

Это прекрасно работает на моей локальной машине, так как я могу получить доступ к http://phpmyadmin.localhost/ (например, на своей локальной машине. Однако, когда я иду на другую машину, я не могу набрать http://phpmyadmin.localhost/ I можно ввести только http://%5Bserver.ip.address%5D, что в данном случае дает мне первый веб-сайт, указанный в моем файле httpd.conf.

У меня есть два (возможно, связанных) вопроса

  1. Что мне нужно сделать, чтобы я мог получить доступ к http://phpmyadmin.localhost/ с другого компьютера в локальной сети (это просто случай изменения файла хоста на каждом компьютере или он более сложный?)
  2. Как получить доступ к СПЕЦИФИЧЕСКОМУ веб-сайту (на моем локальном сервере) с одной из машин в моей сети, вместо того, чтобы автоматически назначаться первому узлу, указанному в httpd.conf?

1 ответ

Что мне нужно сделать, чтобы я мог получить доступ http://phpmyadmin.localhost/ с другой машины в локальной сети (это просто случай изменения файла хоста на каждой машине или это более сложно?)

localhost имеет собственную запись в файле hosts каждого компьютера - он указывает на специальный IP-адрес обратной связи 127.0.0.1или локальная машина. Любой данный компьютер ищет локально (на себя), когда любой запрос сделан 127.0.0.1 браузером, и, как вы указали все записи вашего хоста 127.0.0.1 Вы не можете скопировать эту конфигурацию на другие машины, вы должны использовать общедоступный IP-адрес вашей хост-машины.

Вы должны либо разместить записи DNS в локальной сети, либо гораздо проще изменить файл hosts каждого клиентского компьютера по адресу C:\WINDOWS\system32\drivers\etc\hosts

192.168.1.72    phpmyadmin phpmyadmin.mymachine testing.somemachine

Это сделает все запросы к http://phpmyadmin/ прямо на IP-адрес 192.168.1.72

Как получить доступ к СПЕЦИФИЧЕСКОМУ веб-сайту (на моем локальном сервере) с одной из машин в моей сети, вместо того, чтобы автоматически назначаться первому узлу, указанному в httpd.conf?

Убедитесь, что вы сконфигурировали свой файл hosts - если вы используете виртуальный хостинг на основе имени, вам нужно подключиться к серверу с соответствующим именем сервера (например, phpmyadmin выше), чтобы сервер мог найти этот сервер / псевдоним в конфигурации vhost и загрузить соответствующие данные.

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