Доступ к localhost (xampp) с другого компьютера по сети LAN - как?

Я только что установил сеть wi-fi дома. У меня есть все мои файлы на моем настольном компьютере (192.168.1.56) и хочу получить доступ к localhost там с другого компьютера (192.168.1.2).

на моем рабочем столе я могу получить доступ к localhost через нормальный http://localhost. Apache работает на порту 80, как обычно.

Что именно я должен сделать, чтобы достичь этого? В сети есть документация, но они либо не работают, либо слишком фрагментарны и запутанны для понимать.

Я думаю, что мне нужно внести изменения в httpd моего apache.файл conf и файл hosts. Есть идеи, какие изменения внести?

18 ответов


Localhost-это просто имя, данное для loopback, например, это похоже на то, что вы называете себя "мной" ..

чтобы просмотреть его с других компьютеров, скорее всего, вам нужно только сделать http://192.168.1.56 или http://myPcsName если это не работает, есть вероятность, что на вашем компьютере работает брандмауэр или httpd.conf слушает только 127.0.0.1


Спасибо за подробное объяснение.

чтобы уточнить, в Windows Перейдите в Панель управления - > брандмауэр, в исключениях "добавить http и порт 80". Затем в службах отметьте " http (порт веб-сервера 80)" и " https (порт веб-сервера 443)"только если вам нужен https для работы. ОК, ОК, закрыть

затем перейдите на любой компьютер в сети и введите http://computer-name (где вы меняете брандмауэр и на нем работает xampp) в вашем интернете браузер и счастливые дни:)


вот шаги, которые необходимо выполнить, если вы хотите, чтобы ваше приложение PHP было установлено на сервере LAN (не в интернете)

  1. получить внутренний IP или статический IP сервера (например: 192.168.1.193)
  2. открыть XAMPP>apache>conf>httpd.conf файл в блокноте
  3. Поиск слушать 80
  4. выше строка будет читаться как- #слушать 0.0.0.0:80 / 12.34.56.78:80
  5. измените IP-адрес и замените его статическим IP
  6. сохранить файл httpd.conf файл, гарантирующий, что сервер указывает на #Listen 192.168.1.193: 80
  7. в корневой конфигурации приложения.php (db connection) замените localhost на IP-адрес сервера

Примечание.: Если брандмауэр установлен, убедитесь, что вы добавили http-порт 80 и 8080 в исключения и разрешили прослушивание. Перейдите в Панель управления>Брандмауэр Windows>разрешить программе общаться через Брандмауэр windows>добавить другую программу Имя: http Порт: 80 Добавить еще один как http - 8080

Если IIS (Microsoft .Net Application Internet Information Server) установлен с любым приложением Microsoft .Net уже на сервере, то он уже занял бы порт 80. В этом случае измените #Listen 192.168.1.193:80 на #Listen 192.168.1.193: 8080

надеюсь, что это помогает! :)


очень просто

  1. перейдите на панель управления XAMPP
  2. нажмите на apache > config > Apache (httpd.conf)enter image description here
  3. искать слушать 80 и заменить на слушать 8080
  4. после этого проверьте свой локальный ip-адрес с помощью команду ipconfig команда (консоль cmd)
  5. искать Имя_сервера localhost: 80 и заменить на локальный IP-адрес:8080 (ex.192.168.1.156:8080)
  6. после этого откройте apache > config > Apache (httpd-xampp.conf)enter image description here
  7. Поиск Псевдоним / phpmyadmin "C:/xampp/phpMyAdmin/" Директива Allowoverride Authconfig Позволяет требуют заменить на требовать, чтобы все предоставленные ErrorDocument 403 / error / XAMPP_FORBIDDEN.формат html.Вар
  8. перейти к xampp > config > нажмите на сервис и настройки порта и изменить порт apache 8080
  9. перезапустить xampp
  10. затем нажмите свой ip: 8080 (ex.192.168.1.156: 8080) с другого компьютера

Это должно быть все, что вам нужно для базовой установки

такая конфигурация не нарушает phpMyAdmin на localhost

на устройстве под управлением сервера рекомендуется использовать статический IP-адрес

в этом примере используется 192.168.1.х IP. Конфигурация сети может использовать другой IP

в httpd.conf в Apache вы должны иметь:

# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, instead of the default. See also the <VirtualHost>
# directive.
#
# Change this to Listen on specific IP addresses as shown below to 
# prevent Apache from glomming onto all bound IP addresses.
#
#Listen 12.34.56.78:80
Listen 80

Я бы оставил пустое имя, поэтому он получает значения по умолчанию:

# ServerName gives the name and port that the server uses to identify itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
#
# If your host doesn't have a registered DNS name, enter its IP address here.
#

разрешить гостевые машины и ты сам. В качестве меры предосторожности вы можете избежать разрешить все но вместо этого используйте конкретный гостевой IP, например разрешить из 192.168.1.xxx где xxx-IP гостевой машины. В этом случае вам может потребоваться рассмотреть статические IPs на гостевых машинах также

# Controls who can get stuff from this server.
#
#    Require all granted
#   onlineoffline tag - don't remove
     Order Deny,Allow
#     Deny from all
     Allow from all 
     Allow from 127.0.0.1
     Allow from ::1
     Allow from localhost
     Allow from 192.168.1.*YOURguestIP*
     Allow from 192.168.1.*YOURselfIP*
</Directory>

перезапустить все службы и Put Online из значка в трее


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


Если вы используете XAMPP 1.8.3 Перейдите к файлу httpd-xampp.conf и искать " # # Новая концепция безопасности XAMPP # server-status | server-info))">

     Require local
     ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
     </LocationMatch>

"

вырезать этот код и сохранить его где-нибудь для последующего использования i.e восстановление этой функции (помните, что удаление этого кода делает ваш компьютер уязвимым). Сохраните изменения в httpd-xampp.conf, перезапустите службы на XAMPP, и все.


Если вы подключены к сети Wi-Fi, то это намного проще. Просто найдите Ip, в котором вы подключились к Wi-Fi. Например:

ваш-ip "10.10.55.67".

затем запустите сервер xampp на своем компьютере.

затем на любом другом компьютере, подключенном к тому же Wi-Fi n/w, введите

http://your-ip

например:http://10.10.55.67


этот инструмент спас меня много, так как у меня нет прав администратора на моей машине уже был установлен nodejs. По какой-то причине конфигурация в моей сети не дает мне доступа к другим машинам, просто указывая IP-адрес в браузере.

# Using a local.dev vhost
$ browser-sync start --proxy

# Using a local.dev vhost with PORT
$ browser-sync start --proxy local.dev:8001

# Using a localhost address
$ browser-sync start --proxy localhost:8001

# Using a localhost address in a sub-dir
$ browser-sync start --proxy localhost:8080/site1

http://www.browsersync.io/docs/command-line/


перейдите в xampp-control на панели задач

xampp-control -> Apache --> Config --> httpd.conf

Блокнот открываем с файл config

искать

слушать 80

одна строка над ним, будет что-то вроде этого: 12.34.56:80

изменить

12.34.56:80 --> <your_ip_address eg:192.168.1.5>:80

перезапустите службу apache и проверьте ее, Надеюсь, это сработает...


после обеспечения настройки конфигурации appache, как описано в других ответах на этой странице, Вам может потребоваться также открыть TCP-порты через брандмауэр, как описано здесь:

https://superuser.com/questions/569227/xampp-is-not-accessible-from-other-computer-through-lan-when-firewall-is-enable


сначала перейдите в Network and Sharing center вашей машины windows.и просто выполните несколько шагов, чтобы получить свой IPv4-адрес. Just See The Image Illustration

поместите адрес IPv4 в другой браузер компьютера. примеру,http//192.168.0.102

Примечание

  • включите Брандмауэр Windows (если не работает,в противном случае его необязательно)

вот что я сделал и работал для меня Windows 10 с:

1) Нажмите windows + r и типа cmd . В командной строке введите команду ipconfig
2) найти протокол IPv4 адрес и переименовать url вашего сайта на этот ip, например:http://192.168.0.2/example.
3) Теперь убедитесь, что ваш брандмауэр имеет доступ к Apache HTTP Server. Поиск окон для"разрешить приложению через Брандмауэр Windows " нажмите на него, затем в правом верхнем углу нажмите изменение параметров и убедитесь, что HTTP-сервер Apache имеет один тик слева и один на частном или общественном. Надеюсь, это поможет

теперь вы можете получить доступ к веб-сайту с других ПК в локальной сети


сначала перейдите в командную строку и введите

Notepad C:/windows/system32/drivers/etc/hosts

затем добавьте свой ip-адрес ниже, а затем url-адрес вашего сайта.

во-вторых, перейдите в командную строку и введите notepad c:/xampp/bin/apache/apache2.4.18/conf/extra/httpd-vhosts.conf

затем добавьте это ниже

documentroot "Directory of your site"
Allow from all
Require all granted

<Files ".ht*">
 Require all denied
</Files>

 replace to

<Files ".ht*">
 Require local
</Files>

заменить Require Local с Require all granted на .


поэтому я пытался решить аналогичную проблему с подключением к совершенно другому серверу на моей собственной локальной сети, чтобы, когда питание прерывается, а затем восстанавливается, мой сервер возвращается в сеть, а другие системы все еще могут иметь подключение к автоматизации. Однако моя проблема заключалась в том, что DHCP иногда давал моему серверу IP-адрес diff. Этот поток ответил на мою проблему с сервером имен, который имеет windows изначально. Я подключался непосредственно к моим серверам IP add http://192.168.1.5 через пакетный файл для инициализации соединения, но когда возникают проблемы с питанием, он не будет подключаться. Я поменял .bat-файл, чтобы указать на http://DESKTOP-actualnamewhereserver:port и сделал. Проблема решена. Если я не изменю имена своих компьютеров, то когда DHCP передаст DESKTOP-actualnamewhereserver новый IP-адрес, он все равно будет идентифицировать свое собственное имя в локальной сети и, следовательно, сможет принять соединение независимо от его IP-адреса. Просто дайте другим людям на вашем беспроводная ЛВС имя вашего ПК хостинга сервера Apache и позволяет сказать, что его имя DESKTOP-DOUGHFACTORYHUT они будут вводить http://DOUGHFACTORYHUT:80 или любой номер порта, который ваша конфигурация apache установлена для размещения на Like LOCALHOST: 80, которые по существу являются тем же самым, что и ваш локальный Динамический IP-адрес, назначенный DHCP или статическим IP, который вы установили на сервер.


Я полностью согласен с BugFinder.

простыми словами, просто поместите ip-адрес 192.168.1.56 в вашем браузере работает на 192.168.1.2!

если он не работает, то есть следующие возможные причины для этого:

  1. Проблема Подключения К Сети:

    • прежде всего проверьте подключение к сети с помощью пинг 192.168.1.56 в командной строке/терминалу Компьютер 192.168.1.2.
  2. Проблема Брандмауэра : В настройках брандмауэра windows нет разрешающего правила для XAMPP (apache). (Наиболее вероятная проблема)

    • (решение) перейдите к расширенным настройкам брандмауэра и добавьте входящие и исходящие правила для исполняемого файла Apache.
  3. проблема конфигурации Apache. : Ваш apache настроен на прослушивание только локальных запросов.

    • (решение) вы можете это, открыв httpd.conf файл и заменить слушать 127.0.0.1:80 до слушать 80 или *слушать :80
  4. конфликт портов с другими серверами (IIS и т. д.)

    • (решение) выключите сервер Apache, а затем откройте локальный хост в браузере. если какой-либо ответ получен, выключите этот сервер, а затем запустите Apache.

Если все вышесказанное не работает, то, вероятно, есть какая-то проблема конфигурации на вашем сервере apache.попробуйте найти его, иначе просто переустановите его и перенесите все файлы php (htdocs) на новую установку XAMPP/WAMP.