¿Cómo puedo determinar si Apache está instalado en un sistema?

28

Tengo Linux Mint en mi computadora, pero no sé cómo saber si Apache2 está en él o dónde está realmente instalado. Ejecuto mi navegador web (PHP instalado) http://localhostcomo URL y funciona.

Thach Xuyen
fuente
¿Qué quieres decir con PHP instalado?
onemach
¿Cómo se relaciona eso con c, c # o unix?
ThiefMaster
¿Quieres saber la ruta donde están los archivos de ese sitio?
Francisco Tapia

Respuestas:

43

yo recomendaria

dpkg --get-selections | grep apache

Enumera todos los paquetes instalados que contienen "apache" en su nombre. Por ejemplo:

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 el paquete apache2está instalado en el sistema.

Otro enfoque, para encontrar cualquier demonio HTTP en ejecución en el puerto predeterminado sería:

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

Que enumera 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
fuente
-bash: dpkg: command not found¿Se hace lo anterior en un determinado directorio?
elliotrock
@elliotrock No, intenta ejecutarlo con sudo.
Der Hochstapler
-bash: dpkg: command not foundmismo error en aws linux incluso intentó con sudo.
Krishnadas PC
1
Esta pregunta es sobre Linux Mint. Usar dpkg en plataformas que no lo tienen no tiene sentido.
Der Hochstapler
12

Prueba el whichcomando:

# which apache2

En mi experiencia, el binario de Apache se encuentra en la /usr/sbinmayoría de las instalaciones.

Frédéric Hamidi
fuente
44
Dependiendo de la distribución, también puede probar con 'apache' y 'httpd'
siliconrockstar
4

Para verificar si apache se está ejecutando o no (el estado), escriba:

sudo service apache2 status

en la línea de comando.

Sukhpreet Singh
fuente
Esto solo funciona cuando Apache está instalado como un servicio ( sysvetc.); que ciertamente cubrirá muchos casos.
bertieb
3

Simplemente haga which httpdcomo usuario root.


fuente
2
Miedo de decir, pero en Mint (un derivado de Debian) sería apacheo apache2, pero no httpd...
0xC0000022L
3

Como recuerdo, Mint se basa en Ubuntu, por lo que debería 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

En este caso, puede ver que no está instalado en mi sistema. Si no ha pedido que se instale, probablemente no lo esté; dudo que sea parte de la distribución predeterminada.

Error fatal
fuente
0

Como root, puede probar si apache se ejecuta con el nombre de proceso httpd, apache o apache2, utilizando

ps -A | grep 'apache\|httpd'

Pero nuevamente, esto solo encontrará apache si el proceso se está ejecutando.

siliconrockstar
fuente
1
Si funciona incluso si no eres root.
Hastur
Ah, genial, no estaba seguro de si los usuarios sin privilegios podían enumerar procesos globales, gracias.
siliconrockstar