Доступ к виртуальному хосту (Субдомену) Apache с другим компьютером в локальной сети

в настоящее время я пытаюсь настроить виртуальный хост (поддомен) моего HTTP-сервера Apache, чтобы к нему можно было получить доступ с другого компьютера в моей локальной сети. Текущая настройка Apache с PHP и MySQL работает локально на одной физической машине.

таким образом, у меня есть две настройки виртуального хоста (разработка и cms), работающие на нестандартном порту 50080. Машина сервера имеет IP 10.0.0.10. С той же физической машины я могу получить доступ к двум виртуальным хостам использование:

development.localhost:50080
cms.localhost:50080

С другой физической машины, я могу получить доступ к корню сервера, используя:

10.0.0.10:50080

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

development.10.0.0.10:50080
cms.10.0.0.10:50080

но они, похоже, не работают.

вот как мой выглядит так:

NameVirtualHost *:50080
<VirtualHost *:50080>
    DocumentRoot "C:/www/HTTP"
    ServerName localhost
</VirtualHost>

<VirtualHost *:50080>
    ServerAdmin administrator@development.localhost
    DocumentRoot "C:/www/HTTP/development"
    ServerName development.localhost
    ErrorLog "logs/development.localhost-error.log"
    CustomLog "logs/development.localhost-access.log" common
</VirtualHost>

Я прочитал некоторые из других сообщений здесь и на форуме Apache, но нет точного случая для этот.

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

спасибо заранее

5 ответов


хорошо, я понял это, вот конфигурация, если кто-то еще ищет это:

==================================================================================

машина A (Apache HTTP Server): httpd-vhost:

NameVirtualHost *:50080

<VirtualHost *:50080>
    DocumentRoot "C:/www/HTTP"
    ServerName localhost
    ServerAlias alias <!-- Added -->
</VirtualHost>

<VirtualHost *:50080>
    ServerAdmin administrator@development.localhost
    DocumentRoot "C:/www/HTTP/development"
    ServerName development.localhost
    ServerAlias development.phoenix <!-- Added -->
    ErrorLog "logs/development.localhost-error.log"
    CustomLog "logs/development.localhost-access.log" common
</VirtualHost>

хозяева:

127.0.0.1 development.localhost

127.0.0.1 alias
127.0.0.1 development.alias

==================================================================================

Машина B (Гость Машина): хозяева:

10.0.0.10 alias
10.0.0.10 development.alias

со второй машины вы должны иметь доступ к "псевдониму" и "разработке".псевдоним"


Я предлагаю сделать следующее изменение (добавить строки ServerAlias):

NameVirtualHost *:50080
<VirtualHost *:50080>
    DocumentRoot "C:/www/HTTP"
    ServerName localhost
    ServerAlias cms.myserver.com
</VirtualHost>

<VirtualHost *:50080>
    ServerAdmin administrator@development.localhost
    DocumentRoot "C:/www/HTTP/development"
    ServerName development.localhost 
    ServerAlias development.myserver.com
    ErrorLog "logs/development.localhost-error.log"
    CustomLog "logs/development.localhost-access.log" common
</VirtualHost>

перезапустить Apache, чтобы изменения вступили в силу.

затем на вашем втором компьютере вам нужно добавить пользовательскую запись dns для этих новых доменных имен. Если это Windows, отредактируйте файл c:\windows\system32\drivers\etc\hosts. Если это Linux, отредактируйте/etc / hosts. В любом случае добавьте:

10.0.0.10 development.myserver.com
10.0.0.10 cms.myserver.com

теперь на вашем втором компьютере вы должны иметь доступ к следующим URL-адресам:

http://development.myserver.com:50080
http://cms.myserver.com:50080

Если я что-то не пропустил, вам нужно либо настроить записи DNS, либо добавить записи в файл /etc/hosts каждого компьютера, обращающегося к серверу.

localhost - Это запись, которая по умолчанию существует в файле /etc/hosts каждого пользователя, всегда указывая на 127.0.0.1. Без добавления записи/etc / hosts,developer.localhost не существует, и префикс ip-адреса с поддоменом не будет работать вообще.


на Named Virtual Hosts для подключения к серверу apache необходимо использовать имя хоста или домен. Он не работает с ips.

Вы можете вставить запись в свой /etc/hosts на второй системе.


используя туннель SSH + Putty и, таким образом, имея 127.0.0.1 на моем сервере, мне удалось получить доступ к моим поддоменам, выполнив следующее На моей стороне сервера:

# nano /etc/hosts

127.0.0.1  localhost.localdomain localhost
127.0.0.1  sub1.domain.com sub2.domain.com sub3.domain.com sub4.domain.com

Я не менял файл хост удаленного компьютера, и он работает как шарм