Come posso determinare se Apache è installato su un sistema?


28

Ho Linux Mint sul mio computer ma non so come scoprire se Apache2 è su di esso o dove è effettivamente installato. Eseguo il mio browser Web (installato PHP) http://localhostcome URL e funziona.


cosa intendi con PHP installato?
onemach

Che relazione c'è con c, c # o unix?
ThiefMaster,

vuoi sapere il percorso dove sono i file da quel sito?
Francisco Tapia,

Risposte:


43

io raccomanderei

dpkg --get-selections | grep apache

Elenca tutti i pacchetti installati che contengono "apache" nel loro nome. Per esempio:

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 che il pacchetto apache2è installato sul sistema.

Un altro approccio, per trovare qualsiasi demone HTTP in esecuzione sulla porta predefinita sarebbe:

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

Che elenca qualcosa del tipo:

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)

-bash: dpkg: command not foundquanto sopra è fatto in una determinata directory?
elliotrock,

@elliotrock No, prova a eseguirlo sudo.
Der Hochstapler,

-bash: dpkg: command not foundlo stesso errore su aws linux ha persino provato con sudo.
Krishnadas PC

1
Questa domanda riguarda Linux Mint. L'uso di dpkg su piattaforme che non lo hanno è inutile.
Der Hochstapler,

12

Prova il whichcomando:

# which apache2

Nella mia esperienza, il binario di Apache si trova nella /usr/sbinmaggior parte delle installazioni.


4
A seconda della distro potresti anche provare quale con 'apache' e 'httpd'
siliconrockstar

4

Per verificare se apache è in esecuzione o meno (lo stato), digitare:

sudo service apache2 status

alla riga di comando.


Funziona solo dove Apache è installato come sysvservizio ( etc); che certamente coprirà molti casi.
bertieb,

3

Basta fare which httpdcome utente root.


2
Paura di dirlo, ma su Mint (un derivato Debian) sarebbe apacheo apache2, ma non httpd...
0xC0000022L

3

Come ricordo, Mint si basa su Ubuntu, quindi dovresti essere in grado di controllare 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

In questo caso, puoi vedere che non è installato sul mio sistema. Se non hai richiesto l'installazione, probabilmente non lo è - dubito che faccia parte della distribuzione predefinita.


0

Come root, puoi verificare se apache è in esecuzione con il nome del processo httpd, apache o apache2, usando

ps -A | grep 'apache\|httpd'

Ma di nuovo, questo troverà apache solo se il processo è in esecuzione.


1
Se funziona anche se non sei root.
Hastur,

Ah bene, non ero sicuro che gli utenti non privilegiati potessero elencare i processi globali, grazie.
siliconrockstar,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.