Como posso determinar se o Apache está instalado em um sistema?

28

Eu tenho o Linux Mint no meu computador, mas não sei como descobrir se o Apache2 está nele ou onde está realmente instalado. Eu corro meu navegador da Web (PHP instalado) com http://localhostum URL e ele funciona.

Thach Xuyen
fonte
o que você quer dizer com PHP instalado?
onemach
Como isso está relacionado a c, c # ou unix?
ThiefMaster 9/02
você quer saber o caminho onde estão os arquivos desse site?
Francisco Tapia

Respostas:

43

eu recomendaria

dpkg --get-selections | grep apache

Ele lista todos os pacotes instalados que contêm "apache" em seus nomes. Por exemplo:

apache2                                         install
apache2-doc                                     install
apache2-mpm-prefork                             install
apache2-utils                                   install
apache2.2-bin                                   install
apache2.2-common                                install
libapache2-mod-php5                             install
libapache2-svn                                  install

Indica que o pacote apache2está instalado no sistema.

Outra abordagem, para encontrar qualquer daemon HTTP em execução na porta padrão, seria:

sudo lsof -nPi | grep ":80 (LISTEN)"

Que lista algo como:

apache2    1026     root    4u  IPv6    3739      0t0  TCP *:80 (LISTEN)
apache2    3966 www-data    4u  IPv6    3739      0t0  TCP *:80 (LISTEN)
apache2    4014 www-data    4u  IPv6    3739      0t0  TCP *:80 (LISTEN)
apache2    4015 www-data    4u  IPv6    3739      0t0  TCP *:80 (LISTEN)
apache2    4016 www-data    4u  IPv6    3739      0t0  TCP *:80 (LISTEN)
Der Hochstapler
fonte
-bash: dpkg: command not foundO que foi dito acima foi feito em um determinado diretório?
elliotrock
@elliotrock Não, tente executá-lo sudo.
Der Hochstapler
-bash: dpkg: command not foundmesmo erro no aws linux até tentei com o sudo.
Krishnadas PC
1
Esta pergunta é sobre o Linux Mint. Usar o dpkg em plataformas que não o possuem é inútil.
Der Hochstapler
12

Experimente o whichcomando:

# which apache2

Na minha experiência, o binário Apache está localizado na /usr/sbinmaioria das instalações.

Frédéric Hamidi
fonte
4
Dependendo distro você também pode tentar que com 'apache' e 'httpd'
siliconrockstar
4

Para verificar se o apache está em execução ou não (o status), digite:

sudo service apache2 status

na linha de comando.

Sukhpreet Singh
fonte
Isso funciona apenas onde o Apache está instalado como um sysvserviço ( etc); que reconhecidamente cobrirá muitos casos.
bertieb
3

Basta fazer um which httpdcomo usuário root.


fonte
2
Medo de dizer, mas em Mint (um derivado do Debian) seria apacheou apache2, mas não httpd...
0xC0000022L
3

Pelo que me lembro, o Mint é baseado no Ubuntu, então você deve poder verificar apt-cache policy apache2:

$ apt-cache policy apache2
apache2:
  Installed: (none)
  Candidate: 2.2.20-1ubuntu1.1
  Version table:
     2.2.20-1ubuntu1.1 0
        500 http://us.archive.ubuntu.com/ubuntu/ oneiric-updates/main amd64 Packages
        500 http://security.ubuntu.com/ubuntu/ oneiric-security/main amd64 Packages
     2.2.20-1ubuntu1 0
        500 http://us.archive.ubuntu.com/ubuntu/ oneiric/main amd64 Packages

Nesse caso, você pode ver que ele não está instalado no meu sistema. Se você não solicitou a instalação, provavelmente não é - duvido que faça parte da distribuição padrão.

Erro fatal
fonte
0

Como root, você pode testar se o apache está sendo executado sob o nome do processo httpd, apache ou apache2, usando

ps -A | grep 'apache\|httpd'

Mas, novamente, isso só encontrará apache se o processo estiver em execução.

siliconrockstar
fonte
1
Se funciona mesmo se você não for root.
Hastur
Ah, legal, não tinha certeza se usuários não privilegiados poderiam listar processos globais, obrigado.
siliconrockstar