Se você interromper com êxito o Apache com o comando sudo apachectl stop
, ainda verá a saída que viu ao emitir o comando apachectl status
. Por exemplo, eu posso ver que o Apache está escutando na porta 80 no meu sistema OS X El Capitan com o comando netstat , pare com isso , verifique o status, que mostra a mesma mensagem que você postou, mas verifique se o Apache não está mais escutando na porta 80.
$ netstat -an | grep '.80' | grep -i Listen
tcp46 0 0 *.80 *.* LISTEN
$ sudo apachectl stop
Password:
$ apachectl status
Go to http://localhost:80/server-status in the web browser of your choice.
Note that mod_status must be enabled for this to work.
$ netstat -an | grep '.80' | grep -i Listen
$
Portanto, ver essa saída de apachectl status
não significa que o Apache ainda esteja em execução. Você pode verificar se ele não está mais atendendo na porta 80 usando o comando netstat -an | grep '.80' | grep -i Listen
ou verificar se o processo do Apache um> httpd está sendo executado como mostrado abaixo.
$ ps aux | grep httpd | grep -v grep
_www 45379 0.0 0.0 2509492 1084 ?? S 6:27PM 0:00.00 /usr/sbin/httpd -D FOREGROUND
root 45376 0.0 0.1 2511540 11292 ?? Ss 6:27PM 0:00.19 /usr/sbin/httpd -D FOREGROUND
$ sudo apachectl stop
Password:
$ ps aux | grep httpd | grep -v grep
$
A mensagem de erro "403 Proibido" pode ser devido a um problema de permissões de arquivo . Se você colocar algum arquivo html no diretório DocumentRoot com acesso de leitura concedido a todos, por exemplo, chmod 644 index.html
e tentar acessá-lo, o que você vê? Você também pode encontrar uma pista para o problema que está ocorrendo examinando o arquivo de log de erros do Apache. Você pode ver o local do arquivo usando o comando apachectl -S
. Por exemplo:
$ apachectl -S
AH00557: httpd: apr_sockaddr_info_get() failed for GSSLA15122293
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message
VirtualHost configuration:
*:80 myserver.example.com (/private/etc/apache2/extra/httpd-vhosts.conf:24)
ServerRoot: "/usr"
Main DocumentRoot: "/Library/WebServer/Documents"
Main ErrorLog: "/private/var/log/apache2/error_log"
Mutex proxy: using_defaults
Mutex default: dir="/private/var/run/" mechanism=default
Mutex mpm-accept: using_defaults
Mutex proxy-balancer-shm: using_defaults
PidFile: "/private/var/run/httpd.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="_www" id=70 not_used
Group: name="_www" id=70 not_used
A saída acima é o que eu vejo no meu sistema. Mesmo que o Apache esteja reclamando que "Não foi possível determinar com segurança o nome de domínio totalmente qualificado do servidor", posso acessar o arquivo index.html que coloquei no diretório DocumentRoot por meio do link , embora eu tenha definido ServerName
e DocumentRoot
em uma seção VirtualHost em / private / etc / apache2 / extra / httpd-vhosts.conf . O "não pode determinar com segurança o servidor totalmente
nome de domínio qualificado "não significa que o Apache não esteja atento a conexões. É se você receber o erro" 403 Proibido "ao tentar acessar uma página no servidor, porque essa é uma mensagem de erro retornada pelo servidor da Web.