Acessando o host local (xampp) de outro computador pela rede LAN - como?

150

Acabei de configurar uma rede wi-fi em casa. Eu tenho todos os meus arquivos no meu computador desktop (192.168.1.56) e quero acessar o host local por outro computador (192.168.1.2).

Na minha área de trabalho, posso acessar o host local por meio do http: // localhost normal . O Apache está sendo executado na porta 80, como de costume.

Exatamente o que tenho que fazer para conseguir isso? Há documentação na rede, mas eles não funcionam ou são muito fragmentados e confusos para entender.

Eu acho que tenho que fazer alterações no arquivo httpd.conf do meu apache e no arquivo hosts. Alguma idéia de quais mudanças fazer?

bcosynot
fonte
2
As pessoas que encontrarem essa pergunta podem estar interessadas em Como eu me conecto a este host local de outro computador na mesma rede? .
Martin Thoma
1
Aqui está o que eu fiz e trabalhei para mim no Windows 10: vá para o cmd e digite ipconfig, encontre o seu endereço ipv4 e renomeie o URL do site para esse ip, por exemplo: 192.168.0.2/example . Em seguida, pesquise nas janelas "Permitir um aplicativo através do firewall do Windows" e clique em Alterar configurações e verifique se o servidor http apache está marcado. Espero que ajude
csandreas1
Estou tendo um site chamado app.sitename.com. Agora posso acessar o site em outro PC na mesma rede usando o endereço IP. Como acessar com subdomian. app.ipaddress.com não está funcionando. O que devo fazer para adicionar subdomínio no pc remoto?
vicky

Respostas:

112

Localhost é apenas um nome dado para o loopback, por exemplo, é como se referir a si mesmo como "eu".

Para visualizá-lo de outros computadores, é provável que você precise apenas http://192.168.1.56 ou http: // myPcsName se isso não funcionar, é possível que exista um firewall em execução no computador ou o httpd.conf está ouvindo apenas em 127.0.0.1

BugFinder
fonte
httpd.conf: Ouça 80 se eu precisar fazer uma alteração, o que você recomendaria?
precisa saber é o seguinte
1
Isso diz apenas ouvir na porta 80, as chances já estão ouvindo. netstat, olhar para os itens na porta 80, ele vai dizer que IP (s) sua escuta on
BugFinder
1
Pronto, isso significa que você está ouvindo qualquer solicitação na porta 80, não apenas o host local, portanto, se o seu PC foi chamado vr3609, o http deve levá-lo ao seu site.
BugFinder
1
se você http para o endereço IP do seu servidor, ele funciona? Nesse caso, é recomendável que haja um firewall no servidor bloqueando outras máquinas.
BugFinder
1
Ok, 192.168.1.56, esse é o site certo? Você precisa olhar para a configuração dele. Qual SO ele roda? O software de firewall nele varia de acordo com isso. Você precisa descobrir qual é o software de firewall e, em seguida, descobrir como adicionar a porta 80 para permitir que outras máquinas entrem. Se o Windows, as chances fazem parte do seu software antivírus, ou pode ser o da Microsoft . Se suas chances de linux são seus ipchains, mas é uma nova área de questão.
BugFinder
46

Obrigado por uma explicação detalhada.

Apenas para Elaborar, no Windows, vá para Painel de Controle -> Firewall, nas exceções "adicione http e porta 80". Em Serviços, marque "http (porta 80 do servidor da web)" e "https (porta 443 do servidor da web)" SOMENTE se você precisar que o https também funcione. Ok, OK, Fechar

Em seguida, vá para qualquer computador na rede e digite http: // nome do computador (onde você altera o firewall e possui o xampp em execução) no navegador da web e em dias felizes :)

Rajá
fonte
7
Fui ao Painel de controle> Firewall do Windows> Permitir um aplicativo pelo Firewall do Windows> Permitir outro aplicativo> Navegue até: XAMPP / apache / bin / httpd.exe e o permiti. Está funcionando agora!
Shasi kanth
Obrigado. Trabalhando bem.
jewelhuq
Para adicionar a exceção do Firewall do Windows, você pode visitar isso para saber como: tomshardware.com/news/…
Alejandro Nava
36

é muito fácil

  1. Vá para o painel de controle do seu XAMPP
  2. Clique em apache> config> Apache (httpd.conf) insira a descrição da imagem aqui
  3. Procure o Listen 80 e substitua pelo Listen 8080
  4. Depois disso, verifique seu ip local usando o comando ipconfig (cmd console)
  5. Procure ServerName localhost: 80 e substitua pelo seu ip local: 8080 (ex.192.168.1.156: 8080)
  6. Depois disso abra o apache> config> Apache (httpd-xampp.conf) insira a descrição da imagem aqui
  7. Procurar por

       <Directory "C:/xampp/phpMyAdmin">
           AllowOverride AuthConfig
           **Require local**   Replace with   **Require all granted**
           ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
       </Directory>```
    
    
  8. Vá para xampp> config> clique em service and port setting e altere a porta apache 8080

  9. restart xampp
  10. Em seguida, atinja seu IP: 8080 (ex.192.168.1.156: 8080) de outro computador
Rahul Shewale
fonte
se em vez de tudo graned ... apenas um IP estático. como seria?
Alejandro Maliachi Quintana
não está funcionando. no meu pc está funcionando bem, mas não está funcionando em outro pc.
MH Fuad
Isso não funciona para mim. Estou recebendo um erro de certificado: o certificado do servidor NÃO inclui um ID que corresponda ao nome do servidor
Jon Vote
18

Estas são as etapas a seguir quando você deseja que seu aplicativo PHP seja instalado em um servidor LAN (não na web)

  1. Obtenha o IP interno ou IP estático do servidor (Ex: 192.168.1.193)
  2. Abra XAMPP> apache> conf> arquivo httpd.conf no bloco de notas
  3. Pesquisar pelo Listen 80
  4. A linha acima seria como- #Listen 0.0.0.0:80 / 12.34.56.78:80
  5. Altere o endereço IP e substitua-o pelo IP estático
  6. Salve o arquivo httpd.conf, garantindo que o servidor esteja apontado para #Listen 192.168.1.193:80
  7. Na raiz do aplicativo config.php (conexão db), substitua localhost pelo endereço IP do servidor

Nota: Se o firewall estiver instalado, adicione a porta http 80 e 8080 às exceções e permita ouvir. Vá para Painel de controle> Firewall do Windows> Permitir que um programa se comunique através do firewall do Windows> Adicionar outro programa Nome: http Porta: 80 Adicione mais um como http - 8080

Se o IIS (Servidor de Informações da Internet do Aplicativo .Net da Microsoft) estiver instalado com qualquer aplicativo .Net da Microsoft que já esteja no servidor, ele já teria ocupado 80 portas. Nesse caso, altere #Listen 192.168.1.193:80 para #Listen 192.168.1.193:8080

Espero que isto ajude! :)

Shreedhar Bhat
fonte
Isso resolveu para mim. Coisas boas! Eu sempre havia excluído o #na frente do endereço IP local e ele não estava funcionando, quando incluí o hash de comentário #que funcionava imediatamente, sem reiniciar a VM convidada, apenas o serviço XAMPP Apache e pronto. Agradável. Agora, como faço para vincular meus VirutalHosts atribuídos na máquina Host?
Lowtechsun #
Para acessar os VirtualHosts atribuídos na máquina Host a partir do convidado, bastava digitar o IP do Host e o nome do (s) servidor (es) VirtualHost no arquivo HOSTS do convidado. Feito. Alguém sabe como recuperar o tráfego do navegador do Guest para o servidor Hosts Apache com o Fiddler. Trabalhe no host, mas não obtenha tráfego do convidado.
Lowtechsun #
Oi, que tal um intervalo de endereços IP, por exemplo, 192.168.1-100. Como definir isso?
Dkjain 29/08/16
6

Isso deve ser tudo o que você precisa para uma configuração básica

Esse tipo de configuração não quebra o phpMyAdmin no localhost

Um IP estático é recomendado no dispositivo executando o servidor

Este exemplo usa o IP 192.168.1.x. Sua configuração de rede pode usar um IP diferente

No httpd.conf no Apache, você deve ter:

# 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

Deixaria em branco o nome para que ele receba os padrões:

# 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.
#

Permita as máquinas convidadas e você mesmo. Como precaução de segurança, você pode evitar Permitir de todos, mas use o IP de convidado específico, por exemplo, Permitir de 192.168.1.xxx, em que xxx é o IP da máquina convidada. Nesse caso, você pode precisar considerar IPs estáticos em máquinas convidadas também

# 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>

Reinicie todos os serviços e coloque online no ícone da bandeja

Razaman
fonte
5

Às vezes, seu firewall pode ser o problema. Verifique se você desativou o monitoramento do firewall antivírus. Funcionou para mim.

Mateo Jovani
fonte
5

Vá para xampp-control na barra de tarefas

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

O bloco de notas será aberto com o arquivo de configuração

Procurar por

Listen 80

Uma linha acima, haverá algo como isto: 12.34.56: 80

Mude

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

Reinicie o serviço apache e verifique-o, espero que funcione ...

Joish
fonte
4

Se você estiver usando o XAMPP 1.8.3 Navegue para o arquivo httpd-xampp.conf e pesquise "# # Novo conceito de segurança do XAMPP # server-status | server-info))">

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

"

Corte este código e salve-o em algum lugar para uso posterior, ou seja, restaure esse recurso (lembre-se de remover este código que torna seu computador vulnerável). Salve as alterações no httpd-xampp.conf, reinicie os serviços no XAMPP e pronto.

OnsareTM
fonte
Para o XAMPP versão 7, o "Exigir local" está localizado no arquivo apache / conf / extra / httpd-vhosts.conf
vivanov
3

Se você estiver conectado à rede Wi-Fi, é muito mais simples. Basta encontrar o IP no qual você se conectou ao Wi-Fi. Por exemplo:

o seu ip é "10.10.55.67".

Em seguida, inicie o servidor xampp em sua máquina.

Em qualquer outro computador conectado ao mesmo Wi-Fi n / w, digite

http://your-ip

Por exemplo:http://10.10.55.67

Krishna M
fonte
3

Essa ferramenta me salvou muito, pois não tenho permissão de administrador na minha máquina e já tinha o nodejs instalado. Por algum motivo, a configuração na minha rede não me dá acesso a outras máquinas apenas apontando o IP no navegador.

# 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/

Thiago C. S Ventura
fonte
3

Acessar localhost do dispositivo remoto

Pré - requisito : seu site está no momento com uma ferramenta como live-serverhttp://localhost:8081/

a) Publicar na mesma rede

Dentro da mesma rede, você pode acessar sua máquina com seu endereço IP ou nome de host atual. Você pode encontrar o endereço IP em execução ipconfig | grep IPv4ou o nome do host enviando um ping -apara esse IP.

http://192.128.1.18:80/
http://hostname:80/

Nota : Para obter melhores resultados, use a porta 80, conecte-se em uma rede privada e verifique as configurações do firewall.

b) Publicar em qualquer rede (mais fácil)

  1. Opção 1 - Você pode usar o ngrok para fornecer encaminhamento de porta pelas portas públicas do ngrok

    Baixe o ngrok e execute o seguinte comando:

    $ ./ngrok http 8081
    

  2. Opção 2 - Você pode usar localhost.run para criar um túnel ssh com o seguinte comando:

    ssh -R 80:localhost:8081 kylemit@ssh.localhost.run
    


Acessar dispositivo remoto a partir das ferramentas locais de desenvolvimento

Para conectar as ferramentas de desenvolvimento do navegador a um dispositivo conectado, siga as instruções em Introdução à depuração remota de dispositivos Android

  1. No telefone, ative Opções do desenvolvedor e depuração USB
  2. Conecte seu telefone ao computador via USB e defina o protocolo (não o File / Media Transfer)
  3. Abra Ferramentas de desenvolvimento> Mais ferramentas> Depuração remota (tente aqui se o dispositivo não for detectado )

  4. Encontre seu site e clique em Inspecionar, que abrirá uma nova janela do inspetor


Leitura adicional:

KyleMit
fonte
1

Aqui está o que eu fiz e trabalhei para mim no Windows 10 :

1) Pressione Windows + R e digite cmd . No tipo prompt de comando ipconfig
2) encontrar o seu ipv4 endereço e renomear o URL do site para que ip por exemplo: http://192.168.0.2/example .
3) Agora verifique se o seu firewall tem acesso ao Apache HTTP Server . Pesquise nas janelas por " Permitir um aplicativo através do firewall do Windows ", clique nele e, no canto superior direito, altere as configurações e verifique se o Servidor HTTP Apache tem uma marca à esquerda e outra privada ou pública. Espero que ajude

Agora você pode acessar o site a partir de outros PCs na LAN

csandreas1
fonte
1

Primeiro, vá para o centro de rede e compartilhamento da sua máquina Windows e siga algumas etapas para obter seu endereço IPv4. Basta ver a ilustração da imagem

Coloque o endereço IPv4 em outro navegador de computador. exemplo, http // 192.168.0.102

Nota

  • Desligue o firewall do Windows (se não funcionar, caso contrário, é opcional)
Isso é Enam
fonte
0

Primeiro você vai ao Prompt de Comando e digita

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

em seguida, adicione seu endereço IP abaixo do URL do seu site.

Segundo, você vai para o prompt de comando e digita notepad c:/xampp/bin/apache/apache2.4.18/conf/extra/httpd-vhosts.conf

adicione isso abaixo

documentroot "Directory of your site"
Allow from all
Require all granted
Carl James Omandam
fonte
0
<Files ".ht*">
 Require all denied
</Files>

 replace to

<Files ".ht*">
 Require local
</Files>
asd
fonte
<Files ".ht *"> Requer o #Require local negado </Files>
asd
3
Bem-vindo ao Stack Overflow! Embora esse trecho de código possa resolver a questão, incluir uma explicação realmente ajuda a melhorar a qualidade da sua postagem. Lembre-se de que você está respondendo à pergunta dos leitores no futuro e essas pessoas podem não saber os motivos da sua sugestão de código. Tente também não sobrecarregar seu código com comentários explicativos, pois isso reduz a legibilidade do código e das explicações!
Kayess
0

Substitua Require Localpor Require all grantedno xampp\apache\conf\extra\httpd-xampp.confarquivo.

Sumit
fonte
0

Eu estava tendo esse problema. Eu estava usando o XAMPP em uma máquina virtual com configuração de rede como "NAT". Eu mudei para "Bridged" e o problema foi resolvido.

Vidhyadhar Dharmadhikari
fonte
0

Hospede no IP local,

CMD aberto: ipconfig

Adaptador de LAN sem fio Wi-Fi: Endereço IPv4. . . . . . . . . . . : xx.xxx.xx.xxx

Vineesh TP
fonte
0

Apenas tente:

http://ipaddressofpcwhichhasdatabase:portnumber(80 by default)/filename.extension
Chinthan Narayan
fonte
0

Se alguém ainda está achando difícil, essa coisa simples funcionou para mim:

  1. No sistema principal, digamos Hosting PC ... Vá para Painel de Controle> Firewall do Windows Defender> Permitir um aplicativo ou recurso pelo Firewall do Windows Defender> Alterar configurações> Localizar "Servidor HTTP Apache"> Marque as duas caixas de seleção (em Privado e Público). Veja a captura de tela

    • No meu caso, havia duas entradas "Apache HTTP Server", então marquei as duas caixas de seleção.
  2. Em qualquer outro sistema conectado através da mesma rede ... Abra o navegador> digite: o endereço IP do seu PC host seguido pelo nome do seu projeto na barra de URL. Exemplo: 192.168.72.111/example.com/

Espero que ajude! Obrigado.

nareshsr
fonte
-1

Então, eu estava tentando resolver um problema semelhante ao conectar-me a um servidor totalmente diferente na minha própria LAN, para que, quando a energia fosse interrompida e depois restaurada, meu servidor voltasse à Internet e outros sistemas ainda pudessem ter conectividade com a automação. No entanto, meu problema era o DHCP, dando ao meu servidor um IP diferencial algumas vezes. Este tópico respondeu ao meu problema com o NAMESERVER que o Windows possui originalmente. Eu estava me conectando diretamente ao IP de meus servidores e adicione http://192.168.1.5 através de um arquivo em lotes para inicializar a conexão, mas quando ocorrerem problemas de energia, ele não se conectará. Alterei o arquivo .bat para apontar para http: // DESKTOP-actualnamewhereserver: portE feito. Problema resolvido. Se eu não alterar os nomes dos meus computadores, quando o DHCP enviar ao DESKTOP-realnamewhereerver um novo endereço IP, ele ainda identificará como seu próprio nome na LAN e, portanto, poderá aceitar a conexão independentemente do seu endereço IP. Simplesmente dê às outras pessoas na sua LAN sem fio o nome do seu PC que hospeda o servidor Apache e digamos que seu nome é DESKTOP-DOUGHFACTORYHUT e eles digitarão http: // DOUGHFACTORYHUT: 80 ou qualquer número de porta que sua configuração do apache esteja configurada para hospedar como LOCALHOST: 80 que são essencialmente a mesma coisa anexada ao seu endereço IP dinâmico local atribuído pelo DHCP ou IP ESTÁTICO que você definiu para o servidor.

Mark Hartman
fonte
-2

Estou totalmente de acordo com o BugFinder.

Em palavras simples, basta colocar o endereço IP 192.168.1.56 no seu navegador executando 192.168.1.2 !

se não funcionar, existem as seguintes razões possíveis para isso:

  1. Problema de conectividade de rede:

    • Antes de tudo, verifique a conectividade da sua rede usando o comando ping 192.168.1.56 no prompt de comando / terminal no computador 192.168.1.2.
  2. Problema do firewall: A configuração do firewall do Windows não possui regra de permissão para o XAMPP (apache). (Problema mais provável)

    • (solução), vá para configurações avançadas de firewall e adicione regras de entrada e saída para o arquivo executável do Apache.
  3. Problema de configuração do Apache. : Seu apache está configurado para escutar apenas solicitações locais.

    • (Solução), abra o arquivo httpd.conf e substitua Listen 127.0.0.1:80 para Listen 80 ou * Listen : 80
  4. Conflito de porta com outros servidores (IIS etc.)

    • (Solução) Desligue o servidor apache e abra o host local no navegador. se alguma resposta for obtida, desligue o servidor e inicie o Apache.

se tudo acima não funcionar, provavelmente há algum problema de configuração no seu apache server.try para descobrir o contrário, basta reinstalá-lo e transferir todos os arquivos php (htdocs) para a nova instalação do XAMPP / WAMP.

Smit Patel
fonte
1
Antes de tudo, como este post tem 5 anos, essa resposta provavelmente não será útil para o OP. Segundo, você pode usar o Markdown para melhorar a formatação da sua resposta para torná-la mais legível e fácil de seguir. Confie em mim, pois é uma coisa agradável de saber. :-)
Isiah Meadows
-3

Para executar o servidor Nodejs pela rede

const port = process.env.PORT || 3000; 
const server = http.createServer( 
server.listen(port, '0.0.0.0', ()  => console.log(`Server started on port ${port}`)
));

execute http: // yournetworkipaddress: 3000 para acessar seu aplicativo pela rede de área local (LAN)

Etapas para encontrar o seu ip de rede.

Mac OS

  1. Vá para Preferências do Sistema> Rede
  2. Verifique o endereço IP da rede sob o conectado.
Sumit Kasana
fonte