problema ao acessar o host local no Mac OS X Mavericks… estava funcionando bem até reiniciar hoje


16

Estou perplexo com o problema que estou tendo e realmente aprecio a ajuda para resolvê-lo.

Eu tenho um iMac executando o Mac OS X Mavericks 10.9.2

Configurei o meu apache para servir documentos a partir da raiz do servidor / Volume / sites /

Estou usando hosts virtuais dinâmicos, portanto, apenas adicionando um diretório com o sufixo * .dev, ele se torna um host virtual.

Meu arquivo hosts é bastante básico:

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1         localhost
255.255.255.255   broadcasthost
::1               localhost
fe80::1%lo0       localhost

Meu arquivo httpd-vhosts.conf é o seguinte:

#
# Virtual Hosts
#
# If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at 
# <URL:http://httpd.apache.org/docs/2.2/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration.

#
# Use name-based virtual hosting.
#
NameVirtualHost *:80

#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#

#allow access to the Hosts directory where your sites are
<Directory "/Volumes/sites">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    #you could configure the following to only allow access from localhost
    Order allow,deny
    Allow from all
</Directory>

#get the server name from the Host: header
UseCanonicalName Off
VirtualDocumentRoot /Volumes/sites/%0/

Tudo isso funcionou. E eu não mudei nada no meu arquivo httpd.conf.

No entanto, não consigo carregar o host local

Também não consigo carregar 127.0.0.1

Executei o comando sudo lsof -i :80 | egrep "PID|LISTEN"para verificar se algum PID estava escutando na porta 80. Os resultados estavam vazios.

Eu tentei reiniciar o apache e também parar e iniciar o apache usando

sudo apachectl stop sudo apachectl start

sudo apachectl restart

Nada funciona.

Eu verifiquei se o apache estava em execução emitindo o comando httpd -v

O retorno foi:

Server version: Apache/2.2.26 (Unix)
Server built:   Dec 10 2013 22:09:38

Eu tentei conectar ao localhost e 127.0.0.1 através da linha de comando com o seguinte resultado:

alisamii at alisamii in ~
$ telnet localhost 80
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
Trying fe80::1...
telnet: connect to address fe80::1: Connection refused
telnet: Unable to connect to remote host
alisamii at alisamii in ~
$ telnet 127.0.0.1 80
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
telnet: Unable to connect to remote host
alisamii at alisamii in ~
$ lynx http://localhost

Looking up localhost
Making HTTP connection to localhost
Alert!: Unable to connect to remote host.

lynx: Can't access startfile http://localhost/
alisamii at alisamii in ~
$ lynx http://127.0.0.1

Looking up 127.0.0.1
Making HTTP connection to 127.0.0.1
Alert!: Unable to connect to remote host.

lynx: Can't access startfile http://127.0.0.1/
alisamii at alisamii in ~

Por favor ajude.


O que você fez com este problema, como eu estou experimentando exatamente a mesma coisa aqui :(
PMPR

Respostas:


38

Teve o mesmo problema. Eu apaguei uma pasta do meu projeto e ela ficou quebrada. Nesse caso, as configurações do site devem ser removidas do httpd-vhosts.conf e httpd.conf.

Experimentar ping 127.0.0.1

apachectl configtest pode ajudá-lo a detectar o problema.


7
Absolutamente correto, apachectl configtestprecisa ser sua primeira tentativa! Obrigado.
Lucas Serafim

Aviso: DocumentRoot [/ Users / me / blá / blá] não existe. Você pode encontrar rapidamente a linha sudo cd / && grep -rn "/Users/me/blah/blah" *
incorreta

4

O problema pode ser que o arquivo hosts pode ter sido corrompido pela codificação ASCII original. Limpei todos os espaços e coloquei abas nele, executei sudo killall -HUP mDNSResponder(você pode fazer isso em vez de reiniciar) e depois funcionou.


1
Sim, /etc/hostsfoi corrompido - linhas duplicadas, alguns espaços onde uma vez eram guias ... agora para descobrir como isso aconteceu ....
LeeGee

3

No meu caso, o problema era que a pasta / private / var / log / apache2 / desapareceu por motivos desconhecidos. Recriar com

sudo mkdir /private/var/log/apache2

e reiniciando o apache com

sudo apachectl restart

fez o truque!


2

As conexões recusadas são geralmente causadas por um servidor que não está escutando a porta.

Erros de sintaxe ou erros gerais no arquivo de configuração eliminam o apache na inicialização (geralmente sem relatar para logs ou terminal de erros).

Tente executar sudo apachectl configteste veja se há alguma mensagem de erro.


-1

É específico para Mac. Primeiro você precisa habilitar o compartilhamento na web. Para o Maveric, isso pode ser feito como neste tutorial. https://www.youtube.com/watch?v=TgiZiTU9JVY Segundo, no Mac, o tráfego é filtrado via pfctl (ou seja, man pfctl) no Maveric e ipfw (man ipfw) para a versão mais antiga do Mac OS, se você precisar de mais do que porta 80


As respostas no Ask Different precisam ser mais do que apenas um link. Não há problema em incluir um link, mas faça um resumo ou trecho da resposta. A idéia é tornar a resposta independente.
nohillside

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.