Como permitir que usuários da rede local acessem meus sites WAMP?

119

Em primeiro lugar, li pelo menos 20 artigos sobre este assunto, e nenhum deles pode corresponder ao cenário e estraguei o processo várias vezes. Então eu ligo a ajuda, oferecendo meu cenário específico, se alguma ajuda será apreciada.

Laptops ou outros dispositivos são conectados por meio de um roteador sem fio.

Eu tentei:

  • Ative a porta 80 no firewall. nada aconteceu.
  • Run ping, ipconfige tentou endereço IPv4 lá, o acesso negado ou me trazer para a Verizon (meu ISP), página de configuração do roteador.
  • Tentei configurar o Apache, estava uma bagunça, nunca consegui toda a configuração de autorização em inúmeros posts e tentei um dos promissores, que travou meu WAMP, tive que passar por todos os problemas e reinstalar.

O que eu realmente tentei realizar foi simplesmente permitir que todos os usuários conectados a esse roteador sem fio pudessem acessar meus sites WAMP hospedados no Win8.

Eu me pergunto se há alguma etapa específica que eu possa seguir para que isso realmente funcione?

WAMP 2.4 em Win8.1. Laptop hospeda sites locais.

Ezeewei
fonte

Respostas:

250

Veja o final deste post para saber como fazer isso no WAMPServer 3

Para WampServer 2.5 e versões anteriores

O WAMPServer foi projetado para ser uma ferramenta de desenvolvedores de uma única estação. O Apache é, portanto, configurado por padrão para permitir o acesso apenas do PC executando o servidor, ou seja, localhost ou 127.0.0.1 ou :: 1

Mas como é uma versão completa do Apache, tudo que você precisa é um pouco de conhecimento do servidor que está usando.

A maneira simples (um martelo para quebrar uma noz) é usar a opção de menu do gerenciador de wamp 'Colocar Online'.

left click wampmanager icon -> Put Online

No entanto, isso diz ao Apache que ele pode aceitar conexões de qualquer endereço IP do universo . Isso não é um problema, contanto que você não tenha encaminhado a porta 80 em seu roteador, ou nunca tente no futuro.

A maneira mais sensata é editar o arquivo httpd.conf (novamente usando o menu do wampmanager) e alterar a segurança de acesso do Apache manualmente.

left click wampmanager icon -> Apache -> httpd.conf

Isso inicia o arquivo httpd.conf no bloco de notas.

Procure esta seção deste arquivo

<Directory "d:/wamp/www">
    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn't give it to you.
    #
    # The Options directive is both complicated and important.  Please see
    # http://httpd.apache.org/docs/2.4/mod/core.html#options
    # for more information.
    #
    Options Indexes FollowSymLinks

    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   AllowOverride FileInfo AuthConfig Limit
    #
    AllowOverride All

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

Agora, supondo que sua sub-rede de rede local use o intervalo de endereços 192.168.0.?

Adicione esta linha depois Allow from localhost

Allow from 192.168.0

Isso dirá ao Apache que ele pode ser acessado de qualquer endereço IP nessa sub-rede. Claro, você precisará verificar se o roteador está configurado para usar o intervalo 192.168.0.

Isso é feito simplesmente digitando este comando em uma janela de comando ipconfige olhando para a linha rotulada, IPv4 Address.então você usa as primeiras 3 seções do endereço que você vê lá.

Por exemplo, se o seu fosse assim: -

IPv4 Address. . . . . . . . . . . : 192.168.2.11

Você usaria

Allow from 192.168.2

ATUALIZAÇÃO para usuários do Apache 2.4

Claro, se você estiver usando o Apache 2.4, a sintaxe para isso mudou.

Você deve substituir TODA esta seção:

Order Deny,Allow
Deny from all
Allow from 127.0.0.1
Allow from ::1
Allow from localhost

Com isso, usando a nova sintaxe do Apache 2.4

Require local
Require ip 192.168.0

Você não deve apenas adicionar isso httpd.conf, deve ser uma substituição.

Para WAMPServer 3 e superior

No WAMPServer 3, há um Host Virtual definido por padrão. Portanto, as sugestões acima não funcionam. Você não precisa mais fazer QUALQUER alteração no httpd.confarquivo. Você deve deixá-lo exatamente como o encontrou.

Em vez disso, saia do servidor, OFFLINEpois essa funcionalidade expirou e não funciona mais, por isso o Online/Offlinemenu se tornou opcional e desativado por padrão.

Agora você deve editar o \wamp\bin\apache\apache{version}\conf\extra\httpd-vhosts.confarquivo. No WAMPServer3.0.6 e acima, há na verdade um menu que irá abrir este arquivo em seu editor

left click wampmanager -> Apache -> httpd-vhost.conf

assim como aquele que sempre existiu e que edita seu httpd.confarquivo.

Deve ficar assim se você não tiver adicionado nenhum de seus próprios hosts virtuais

#
# Virtual Hosts
#

<VirtualHost *:80>
    ServerName localhost
    DocumentRoot c:/wamp/www
    <Directory  "c:/wamp/www/">
        Options +Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require local
    </Directory>
</VirtualHost>

Agora, basta alterar o Requireparâmetro para atender às suas necessidades EG

Se você quiser permitir o acesso de qualquer lugar, substitua Require localpor

Require all granted

Se você quiser ser mais específico e seguro e permitir apenas endereços IP dentro de sua sub-rede, adicione direitos de acesso como este para permitir qualquer PC em sua sub-rede

Require local
Require ip 192.168.1

Ou para ser ainda mais específico

Require local
Require ip 192.168.1.100
Require ip 192.168.1.101
RiggsFolly
fonte
1
Um problema. Tenho vários sites locais (ou seja, 192.168.1.1/mysite1), mas depois que tentei acessar esse site no meu telefone, ele pareceu incompleto por algum motivo. É um site wordpress. Você saberia o motivo disso acontecer?
Ezeewei
1
Ah, achei o problema, pois no DB, esses links são baseados no localhost! tudo funciona perfeitamente agora: D
Ezeewei
Então, como posso permitir que TODOS os usuários da rede acessem o dispositivo com o servidor wamp em execução? Como posso escrever o endereço IP nessa configuração? Estou usando DHCP.
Mai
Se você quer dizer qualquer endereço IP em sua sub-rede, como eu disse na pergunta acima, use os primeiros 3 quartis do endereço IP
RiggsFolly
4
@RiggsFolly Já fiz isso, mas ainda não funciona. 403 Proibido.
gegobyte
66

Você deve ter o processo Apache (httpd.exe) permitido através do firewall (recomendado).

Ou desative seu firewall na LAN (apenas para testar, não recomendado).

Exemplo com Wamp (com Apache ativado):

  1. Verifique se Wamp é publicado localmente, se for, continue;
  2. Painel de controle de acesso
  3. Clique em "Firewall"
  4. Clique em "Permitir aplicativo pelo firewall"
  5. Clique em "Permitir algum aplicativo"
  6. Encontre e escolha C: /wamp64/bin/apache2/bin/httpd.exe
  7. Reiniciar Wamp

Agora abra o navegador em outro host de sua rede e acesse seu servidor Apache por IP (por exemplo, 192.168.0.5). Você pode descobrir o IP do seu host local digitando ipconfigno prompt de comando.

Funciona

Matteus Barbosa
fonte
Certifique-se de que seu servidor Wamp está rodando e que você já o configurou com "Colocar Online"
Matteus Barbosa
Limpar o cache do navegador pode resolver alguns problemas também
Matteus Barbosa
3
A parte do firewall me ajudou no Windows 10. Obrigado!
Muito legal,
Eu já tinha desabilitado o Firewall do Windows, então achei que não funcionaria - mas adicionar o Apache como uma exceção funcionou de fato para mim. Obrigado!
Pawel
@Pawel, isso não faz sentido, pois um firewall desativado ignora as tabelas de exceção e permite tudo. Certifique-se de que seu software antivírus esteja desativado ou sua camada de firewall também esteja desativada para realizar um teste de limpeza.
Matteus Barbosa
13
go to... 
C:\wamp\alias

Dentro da pasta alias você verá alguns arquivos como phpmyadmin, phpsysinfo, etc ...

abra cada arquivo, e você pode ver dentro do arquivo algumas instruções comentadas são dadas para acesso de fora, como dar acesso ao phpmyadmin de fora, substituir as linhas

Require local

by

Require all granted
Sai Ram
fonte
4

O que finalmente funcionou para mim foi o que encontrei aqui:

http://www.codeproject.com/Tips/395286/How-to-Access-WAMP-Server-in-LAN-or-WAN

Para resumir:

  • definir Ouvir em httpd.conf:

    Listen 192.168.1.154:8081

  • Adicione Permitir de todos a esta seção:

    <Directory "cgi-bin"> AllowOverride None Options None Order allow,deny Allow from all </Directory>

  • Defina uma regra de porta de entrada. Acho que era a parte crucial que faltava para mim:

Ótimo! O próximo passo é abrir a porta (8081) do servidor para que todos possam acessar o seu servidor. Isso depende de qual sistema operacional você está usando. Por exemplo, se você estiver usando o Windows Vista, siga as etapas abaixo.

Abra o Painel de Controle >> Sistema e Segurança >> Firewall do Windows e clique em “Configuração Avançada” e selecione “Regras de Entrada” no painel esquerdo e clique em “Adicionar Regra…”. Selecione “PORTA” como uma opção da lista e então na próxima tela selecione o protocolo “TCP” e digite o número da porta “8081” em “Porta local específica” então clique no botão “Próximo” e selecione “Permitir a Conexão” e em seguida, dê o nome geral e a descrição a esta porta e clique em Concluído.

Agora você também concluiu a abertura do PORT.

Em seguida, é “Reiniciar todos os serviços” do WAMP e acessar sua máquina em LAN ou WAN.

CodyBugstein
fonte
192.168.1.154 significa?
Charlesliam
1
@Charlesliam o endereço IP da outra máquina
CodyBugstein
1

Porque acabei de passar por isso - queria dar minha solução, embora isso seja um pouco antigo.

Tenho vários computadores em um roteador doméstico e tenho trabalhado em alguns projetos para mim. Bem, eu queria ver como ficava nos meus dispositivos móveis. Mas o WAMP foi configurado para que eu só pudesse continuar no sistema de desenvolvimento. Então comecei a procurar e encontrei este artigo, bem como alguns outros. O problema é - nenhum deles funcionou para mim. Então, fui deixado para descobrir isso sozinho.

Minha solução:

Primeiro, no arquivo HTTPD.CONF, você precisa adicionar uma linha ao final da lista de quais dispositivos têm permissão para acessar seu servidor WAMP. Então, em vez de:

#    Require all granted
#   onlineoffline tag - don't remove
     Order Deny,Allow
     Deny from all
     Allow from 127.0.0.1
     Allow from ::1
     Allow from localhost

Faça:

#    Require all granted
#   onlineoffline tag - don't remove
     Order Deny,Allow
     Deny from all
     Allow from 127.0.0.1
     Allow from ::1
     Allow from localhost
     Allow from 192.168.78

O texto acima diz que qualquer dispositivo que esteja em seu roteador (o '78' é apenas um número arbitrário escolhido para esta solução. Deve ser o que quer que seu roteador esteja configurado. Portanto, pode ser 192.168.1 ou 192.168.0 ou mesmo 192.168.254 - você precisa procurá-lo no seu roteador.) Agora pode acessar o seu servidor.

O texto acima NÃO fez nada por mim - no início. Há mais coisas que você precisa fazer. Mas primeiro - o que você NÃO precisa fazer. Você NÃO precisa alterar a configuração do WAMP de Offline para Online. PARA MIM - mudar essa configuração não faz nada. Desconhecido por quê - simplesmente não funciona. Portanto, altere-o se quiser - mas não acho que precise ser alterado.

Então, o que mais precisa ser alterado? Você tem que voltar ao início do arquivo httpd.conf para esta próxima mudança e é muito simples. Você tem que adicionar uma nova linha após o

Listen Localhost:80

adicionar

Listen 192.168.78.###:80

Onde o "###" é o IP do seu servidor. Digamos que seu servidor esteja no IP número 234. Então o comando acima se tornaria

Listen localhost:80
Listen 192.168.78.234:80

Novamente - o '78' é apenas um número arbitrário que escolhi. Para obter o seu número IP real, você deve abrir uma janela de comando e digitar

ipconfig/all

comando. Procure qual é o seu número TCP / IPv4 e defina-o para esse número ou TCP / IPv6 se for tudo o que você tem (embora em conjuntos de roteadores internos geralmente você tenha um número IPv4).

Nota : Caso você não saiba como abrir uma janela de comando - clique em Iniciar, selecione a opção "Executar" e digite "cmd.exe" na caixa de diálogo sem as aspas. Em sistemas mais novos (já que eles sempre mudam tudo), pode ser o ícone de janela branca ou o círculo ou Bill Gates pulando para cima e para baixo. Seja o que for - clique nele.

Depois de fazer o acima - reinicie todos os serviços e tudo deve funcionar corretamente.

Finalmente - por quê? Por que você tem que alterar o comando Listen? Tem a ver com localhost. 'localhost' é definido como 127.0.0.1 e NÃO o seu endereço IP por padrão. Isso pode ser encontrado em seu arquivo host, que geralmente é encontrado na pasta system32 no Windows, mas provavelmente foi movido pela Microsoft para outro lugar. Procure on-line onde está e dê uma olhada. Se você vir muitos sites de sexo, pornografia, etc, em seu arquivo host localhost - você precisa se livrar deles (a menos que seja o seu caso). Eu sugiro que o RogueKiller (em AdLice.com) seja usado para dar uma olhada em seu sistema porque ele pode redefinir seu arquivo host para você.

Se o seu arquivo host estiver normal - ele deve conter apenas uma entrada e essa entrada deve definir localhost como 127.0.0.1. É por isso que usar localhost no arquivo httpd.conf faz com que você só possa trabalhar em tudo e ver tudo do seu computador servidor.

Portanto, se você se sentir aventureiro - mude seu arquivo host e deixe o comando Listen sozinho OU apenas mude o comando Listen para escutar a porta 80 em seu servidor.

NOVO (esqueci de colocar nesta parte)

Você pode ter que alterar seu endereço TCP / IP. (O meu já está configurado, então não precisei fazer isso.) Você precisará consultar seu sistema operacional para saber onde seu endereço TCP / IP está definido. No Windows XP, era Painel de controle-> Conexões de rede. Isso mudou em sistemas operacionais posteriores, portanto, você deve pesquisar como chegar lá. De qualquer forma, uma vez lá você verá sua conexão de rede sem fio ou conexão de área local (Windows). Basicamente, WIFI ou cabo Ethernet. Selecione aquele que está ativo e em uso. No Windows, clique com o botão direito e selecione Propriedades. Uma caixa de diálogo aparecerá e você verá uma lista de caixas de seleção com o que estão ao lado. Procure aquele que é para TCP / IP. Deve haver um que diz TCP / IP v4. Selecione-o. (Se não houver uma - você deve prosseguir com cuidado.) Clique no botão Propriedades e você deverá obter outra caixa de diálogo. Este mostra "Obter um endereço IP automaticamente" ou "Usar o seguinte endereço IP" selecionado. Se for o primeiro, você deve alterá-lo para o segundo. MAS ANTES DE FAZER ISSO - abra uma janela de comando e digite o comando ipcongfig / all para que você tenha, bem na sua frente, qual é o seu gateway padrão. Em seguida, altere de "Obter ..." para "Usar ...". Onde diz "endereço IP", coloque o endereço IP que deseja usar sempre. Este é o endereço IP que você colocou no comando Listen acima. A segunda linha (máscara de sub-rede) geralmente é 255.255.255.0, significando apenas o último número (ou seja: 0) alterado. Então, olhando novamente para a janela de comando colocada em seu gateway padrão. Por último, mas não menos importante, quando você mudou de "Obter ..." para "Usar ...", as configurações de DNS podem ter mudado. Se a seção que trata das configurações de DNS mudou para "Usar ..." e está em branco - a resposta é simples. Basta olhar para a saída ipconfig / all, encontrar as configurações DNS lá e colocá-las nos campos fornecidos. Quando terminar, clique no botão OK e, em seguida, clique no segundo botão OK. Depois que a caixa de diálogo fechar, talvez seja necessário reiniciar o sistema para que as alterações tenham efeito. Experimente acessando o Google ou Stack Overflow. Se você ainda pode ir a algum lugar - não é necessário reinicializar. Caso contrário, reinicie. Lembrar! Se você não conseguir entrar na Internet depois disso, tudo que você deve fazer é voltar e redefinir tudo para a opção "Obter ...". A razão mais provável, após fazer as alterações, pela qual você não pode mais acessar a Internet é porque o endereço TCP / IP que você escolheu usar já está em uso pelo roteador. O ditado "Só pode haver um" vale também para endereços TCP / IP. É por isso que eu sempre escolho um número alto de cem ou um número baixo de duas centenas. Porque a maioria das configurações de DHCP usa números menores que cinquenta. Portanto, dessa forma você não colide com o número TCP / IP de outra pessoa.

Foi assim que resolvi meu problema.

Mark Manning
fonte
Em qual arquivo você fez isso?
CodyBugstein
No arquivo Apache httpd.conf para a maioria das mudanças e o arquivo host que está no diretório Windows / System32 (no XP). É necessária uma atualização do acima. Na verdade, você pode ter vários comandos LISTEN no arquivo httpd.conf. Portanto, você pode ter: Ouvir localhost: 80 e Ouvir 192.168.78.234:80 Um após o outro.
Mark Manning de
Decidi atualizar minha resposta sobre as mudanças de TCP / IP.
Mark Manning
1

No WAMPServer 3 você não faz isso no httpd.conf

Em vez disso, edite \wamp\bin\apache\apache{version}\conf\extra\httpd-vhost.confe faça o mesmo chnage para o Host Virtual definido paralocalhost

WAMPServer 3 vem com um Host Virtual pré-definido para localhost

Aaska Patel
fonte
0

Tenho algumas experiências em Wamp 3.0 e Apache 2.4.

Depois de todos os trabalhos, siga estas etapas:

1- Desative o nod32.

2- Adicione esta linha para <VirtualHost *:80>bloquear no httpd-vhosts.confarquivo:

Require ip 192.168.100 #client ip, allow 192.168.100.### ip's access
ivahidmontazer
fonte
0

se você usa Windows e faz todos os comentários acima,

Você pode verificar sua rede e centro de compartilhamento.

Centro de Rede e Compartilhamento -> Configurações avançadas de compartilhamento -> Alteração do Perfil de Trabalho ou Casa

Obrigado, bom trabalho!

Ferhat KOÇER
fonte
-1

é simples e realmente funcionou para mim.

run you wamp server => click right mouse button => and click on "put online"

em seguida, abra seu cmd como um administrador e passe esta palavra de comando

ipconfig => and press enter

aí aparecem muitos endereços, aí você só tem que pegar o primeiro, fica parecido com este exemplo: Adresse IPv4. . . . . . . . . . . . . .: 192.168.67.190 muito bem! , esse é o endereço, que você usará para se conectar ao seu wampserver no local.

nassim
fonte
-2

Coloque seu servidor wamp onlineinsira a descrição da imagem aqui

e vá para o painel de controle > sistema e segurança > firewall do Windows e desligue o firewall do Windows

agora você pode acessar seu servidor wamp de outro computador através da rede local pelo IP de rede do computador que possui o servidor wamp instalado como http://192.168.2.34/mysite

Shahjahan
fonte