Aviso: ao executar o Apache 2.4 no Ubuntu 14, apache2ctl -Vnão funciona sem privilégios de root (... e não imprime a versão). Considerando que funciona no Ubuntu 12 com Apache 2.2. Complicado.
Philippe_b
Ele funciona no Ubuntu 12.04 e acredito complete.y muitas pessoas ainda estão usando o Ubuntu 12.04, como eu, que não deseja atualizar para 14 ainda até que todos os bugs com diversos softwares são eliminados
JohnMerlino
Works onDebian 7.1
Cyclonecode
apachectl -V trabalho dosen't em suse10.04 em vez disso, tem que digitar / usr / sbin / apache2ctl -v para obter resposta certa com permissão raiz
Farzam
1
Funcionou bem no Red Hat Enterprise Linux 6 (64 bits)
Brilhante. Sua resposta abrange a variedade de ambientes de servidor em que alguém pode estar tentando encontrar a versão do Apache. Se fosse minha pergunta, eu teria marcado isso como a resposta . Talvez a única coisa que sugiro acrescentar à sua resposta sejam os caminhos comuns. Em alguns ambientes, o comando pode não estar no $ PATH, portanto, as pessoas que tentam esses comandos podem ficar paralisadas. Por exemplo, no meu ambiente Debian, eu tive que usar $ /usr/sbin/apache2 -vporque apenas $ apache2 -vretorna command not found. Este comando irá ajudar os usuários a localizar caminho para apache, se necessário:ps -ef | grep apache
inspirednz
apache2 -vtambém trabalha no Debian (pelo menos Debian 8 (Jessie) no Raspberry Pi).
Peter Mortensen
25
Estou usando o Red Hat Linux e o seguinte comando funciona:
apachectl -V
-bash: apachectl: command not found
sudo apachectl -V
Server version: Apache/2.4.6 (Debian)
Server built: Aug 12 2013 18:20:23
Server's Module Magic Number: 20120211:24
Server loaded: APR 1.4.8, APR-UTIL 1.5.3
Compiled using: APR 1.4.8, APR-UTIL 1.5.2
Architecture: 32-bit
Server MPM: prefork
threaded: no
forked: yes (variable process count)
Server compiled with....
bla bla....
Isso não funcionará se houver atualmente erro de sintaxe nos seus arquivos de configuração
Wolfgang Fahl 28/11
12
Eu acho que você precisa ter certeza de que tipo de instalação você possui, binário ou fonte. Para verificar quais pacotes binários estão instalados: com direitos de root, execute o seguinte comando:
dpkg -l |grep apache2
O resultado deve ser algo como:
dpkg -l |grep apache2
ii apache2 2.4.10-10+deb8u8 amd64 Apache HTTP Server
ii apache2-bin 2.4.10-10+deb8u8 amd64 Apache HTTP Server (modules and other binary files)
ii apache2-data 2.4.10-10+deb8u8 all Apache HTTP Server (common files)
ii apache2-doc 2.4.10-10+deb8u8 all Apache HTTP Server (on-site documentation)
Para encontrar a versão, você pode executar:
apache2ctl -V |grep -i "Server version"
O resultado deve ser algo como: Versão do servidor: Apache / 2.4.10 (Debian)
Você também pode usar o gerenciador de pacotes diretamente:
dpkg -l | grep apache
Isso não está focado apenas no número da versão , mas fará uma pesquisa mais ampla, que fornecerá outras informações úteis, como as versões dos módulos.
A restrição ao apache pode ser passada diretamente para o dpkg. Para uma interpretação automatizada, você também precisa de um único valor, em vez de uma lista, e não deve exibir os pacotes apache2- * "desinstalados". Por favor, considere também dpkg -l apache2 | grep ^ii | awk '{print $3}' | cut -f1 -d-ou dpkg -l "apache2*" | grep ^ii | awk '{print $3}' | cut -f1 -d- | head -n 1.
smoe
6
Outra maneira de verificar uma versão instalada do pacote (incluindo o Apache) no sistema baseado em Debian, podemos usar:
Linux www809 2.6.26-2-xen-686 # 1 SMP Wed Sep 21 09:56:47 UTC 2011 i686 GNU / Linux
Eu tive que ir no caminho certo:
/usr/local/apache/bin** $ **./apachectl -v
./apachectl: linha 71: ulimit: arquivos abertos: não é possível modificar o limite: Operação não permitida
Versão do servidor: Apache / 2.2.21 (Unix)
Servidor criado: 17 de dezembro de 2011 19:57:53
'apachectl -v' funciona para mim no Mac, CentOS e Ubuntu. Em qual distro você estava executando? O apachectl fullstatus precisa de mod_status para fazer isso funcionar. Portanto, também não é uma solução universal.
5609 Konzulic
apachectl fullstatusnão funcionou para mim. Eu peguei /usr/sbin/apachectl: 101: /usr/sbin/apachectl: www-browser: not found 'www-browser -dump http://localhost:80/server-status' failed.(Debian 8 - Raspbian em um Raspberry Pi). No entanto, apachectl -Vfuncionou.
Peter Mortensen
3
Algumas instalações do Apache são fubar (pense no empacotamento da Oracle, OHS) e não entendem o sinalizador -V, nem podem ser chamadas diretamente sem ocorrer erros de biblioteca ausentes.
A maneira mais fácil é usar o stringscomando (parte de binutils) no binário httpd e grep para uma string que possa se parecer com uma versão. Por exemplo, supondo que seu httpdbinário esteja no diretório /foo/bar:
A maioria dos binários (nem todos) contém sua versão (pelo menos a versão principal) como seqüências estáticas. Este é o meu caminho para obter versões (ou corroborar o que a mensagem de ajuda de um binário corresponde ao que realmente é a realidade no terreno).
Não é httpdnecessário estar no diretório atual para que isso funcione?
Peter Mortensen
1
Isso me ajudou a descobrir minha versão anterior na minha raiz antiga montada na nova instalação do Ubuntu. Vale ressaltar: "strings" faz parte do pacote "binutils"
Zefiro 26/03
@PeterMortensen, sim. Acho que meu exemplo assumiu que o httpd estaria no diretório atual (e que o leitor inferiria isso do exemplo e ajustaria conforme necessário.) Estou editando minha resposta agora para refletir isso .
Luis.espinal 27/03
@ Zefiro, obrigado pelo aviso. Vou atualizar minha resposta para mencionar binutils.
Se o apache estiver configurado para não adicionar informações de versão aos cabeçalhos HTTP, você não encontrará nada.
Marki555
O nmap pode não estar instalado (por exemplo, em um Raspberry Pi):-bash: nmap: command not found
Peter Mortensen
2
Certamente digitar / usr / sbin / apache2 -v no shell é o melhor e mais rápido caminho, a propósito, aqui está outra opção, caso haja PHP também no seu servidor e você esteja interessado em coletar a versão do Apache (e muito mais mais informações) em etapas programáticas rápidas.
Basta criar um arquivo info.php na sua pasta raiz do Apache (ou o que você quiser) e escrever dentro dela:
<?php
phpinfo();
?>
Agora vá para yoursite.com/info.php (ou localhost / info.php para máquinas locais).
Você verá sua versão do Apache na seção Variáveis do PHP , aqui está um exemplo:
Além disso, observe que essas etapas obviamente se aplicam a qualquer servidor Web com integração ao PHP, portanto não se limita ao Apache e, uma vez criada, essa página pode ser útil durante o desenvolvimento (apenas não se esqueça de removê-la nos ambientes de produção !!)
Respostas:
Tente apachectl -V:
Se não funcionar, execute o comando com
sudo
.fonte
apache2ctl -V
não funciona sem privilégios de root (... e não imprime a versão). Considerando que funciona no Ubuntu 12 com Apache 2.2. Complicado.Debian 7.1
Isso funciona para o meu Debian:
fonte
Você deve usar apache2ctl -v ou apache2 -v para novas distribuições Debian ou Ubuntu.
ou você pode usar o apache2 -V para obter mais informações.
fonte
O comando varia dependendo de como sua versão do Linux nomeou o Apache Server.
No Debian e Mac OS:
No Red Hat e no EC2 Linux da Amazon, use:
Em outras versões do Linux, tente:
Você pode usar dois sinalizadores diferentes:
Se você deseja executar o comando com o diretório completo, como o user3786265, mas não sabe onde está localizado o seu apache, use o
whereis
comando:fonte
$ /usr/sbin/apache2 -v
porque apenas$ apache2 -v
retornacommand not found
. Este comando irá ajudar os usuários a localizar caminho para apache, se necessário:ps -ef | grep apache
apache2 -v
também trabalha no Debian (pelo menos Debian 8 (Jessie) no Raspberry Pi).Estou usando o Red Hat Linux e o seguinte comando funciona:
fonte
Experimente com sudo
fonte
Eu acho que você precisa ter certeza de que tipo de instalação você possui, binário ou fonte. Para verificar quais pacotes binários estão instalados: com direitos de root, execute o seguinte comando:
O resultado deve ser algo como:
Para encontrar a versão, você pode executar:
O resultado deve ser algo como: Versão do servidor: Apache / 2.4.10 (Debian)
fonte
Você também pode usar o gerenciador de pacotes diretamente:
Isso não está focado apenas no número da versão , mas fará uma pesquisa mais ampla, que fornecerá outras informações úteis, como as versões dos módulos.
fonte
dpkg -l apache2 | grep ^ii | awk '{print $3}' | cut -f1 -d-
oudpkg -l "apache2*" | grep ^ii | awk '{print $3}' | cut -f1 -d- | head -n 1
.Outra maneira de verificar uma versão instalada do pacote (incluindo o Apache) no sistema baseado em Debian, podemos usar:
por exemplo, para Apache
que mostrará algo como (veja a
Installed
linha):fonte
Para mim, isso funciona no Debian 6 (Squeeze):
Eu tive que ir no caminho certo:
fonte
Tentei executar o comando "httpd -V" e "apachectl -V", mas não consegui executar e estava recebendo o erro:
Então eu tentei de outra maneira. Eu fui ao diretório Apache no meu servidor e tentei executar o comando:
Isso funcionou para mim e retornou a saída:
Eu espero que isso ajude.
fonte
Você pode usar
apachectl -V
ouapachectl -v
. Ambos retornarão as informações da versão do Apache!Você pode gostar mais de usar
apache2 -V
ouapache2 -v
. Parece mais fácil lembrar!fonte
Para mim
apachectl -V
não funcionou, masapachectl fullstatus
me deu a minha versão.fonte
apachectl fullstatus
não funcionou para mim. Eu peguei/usr/sbin/apachectl: 101: /usr/sbin/apachectl: www-browser: not found 'www-browser -dump http://localhost:80/server-status' failed.
(Debian 8 - Raspbian em um Raspberry Pi). No entanto,apachectl -V
funcionou.Algumas instalações do Apache são fubar (pense no empacotamento da Oracle, OHS) e não entendem o sinalizador -V, nem podem ser chamadas diretamente sem ocorrer erros de biblioteca ausentes.
A maneira mais fácil é usar o
strings
comando (parte debinutils
) no binário httpd e grep para uma string que possa se parecer com uma versão. Por exemplo, supondo que seuhttpd
binário esteja no diretório/foo/bar
:A maioria dos binários (nem todos) contém sua versão (pelo menos a versão principal) como seqüências estáticas. Este é o meu caminho para obter versões (ou corroborar o que a mensagem de ajuda de um binário corresponde ao que realmente é a realidade no terreno).
fonte
httpd
necessário estar no diretório atual para que isso funcione?Ou, menos diretamente:
nmap -A localhost -p 80
fonte
-bash: nmap: command not found
Certamente digitar / usr / sbin / apache2 -v no shell é o melhor e mais rápido caminho, a propósito, aqui está outra opção, caso haja PHP também no seu servidor e você esteja interessado em coletar a versão do Apache (e muito mais mais informações) em etapas programáticas rápidas.
Basta criar um arquivo info.php na sua pasta raiz do Apache (ou o que você quiser) e escrever dentro dela:
Agora vá para yoursite.com/info.php (ou localhost / info.php para máquinas locais).
Você verá sua versão do Apache na seção Variáveis do PHP , aqui está um exemplo:
página de despejo de exemplo phpinfo ()
Além disso, observe que essas etapas obviamente se aplicam a qualquer servidor Web com integração ao PHP, portanto não se limita ao Apache e, uma vez criada, essa página pode ser útil durante o desenvolvimento (apenas não se esqueça de removê-la nos ambientes de produção !!)
fonte
fonte