у нас больше ПК в сети. На одном из этих компьютеров под виртуальным сервером запущено приложение интрасети:
<VirtualHost 127.0.0.1>
DocumentRoot "D:\data\o\application\root"
ServerName application
</VirtualHost>
Это приложение Zend Framework. Вот почему требуется виртуальный сервер. Мы запускаем Apache в качестве веб-сервера на всех ПК.
Как я могу получить доступ к этому приложению с другого ПК в интрасети, если у ПК есть имя, скажем, "johndoe-pc"?
РЕДАКТИРОВАТЬ:
Это полная конфигурация виртуального хоста из httpd.conf:
NameVirtualHost 127.0.0.1
#D:\data\o is document roo of the Apache web server
<VirtualHost 127.0.0.1>
DocumentRoot "D:\data\o"
ServerName johndoe-pc
</VirtualHost>
<VirtualHost 127.0.0.1>
DocumentRoot DocumentRoot "D:\data\o\application\root"
ServerName application
</VirtualHost>
На компьютере, где находится приложение, я могу получить к нему доступ, набрав:
http://application
Если у вас нет запущенного DNS-сервера, вы можете получить доступ к этому виртуальному хосту напрямую через IP-адрес сервера. Я предполагаю, что имя, которое вы упомянули в своем сообщении, является именем NetBios. Вам понадобится DNS-имя. Если вы не хотите запускать DNS-сервер, просто укажите имя и IP-адрес веб-сервера во всех файлах хостов ваших рабочих станций. В Windows вы найдете их в C: \ WINDOWS \ system32 \ drivers \ etc \ hosts.
Заменить 127.0.0.1
по *
<VirtualHost *>
DocumentRoot "D:\data\o\application\root"
ServerName application
</VirtualHost>
Но в зависимости от другой части вашей конфигурации apache это может не сработать, попробуйте. Не забудьте перезапустить Apache
Если вы не хотите изменять конфигурацию Apache, установите SSHd на этот компьютер и используйте переадресацию портов с ssh -L80:serverip:80
, где serverip
это IP-адрес компьютера, на котором запущен Apache.
После этого вы сможете получить доступ к этому приложению с помощью http: // localhost /.
Однако я предлагаю вам изменить конфигурацию Apache, поскольку с этим решением каждый пользователь должен открыть сеанс SSH на этом компьютере.