Jak mogę ustalić, czy Apache jest zainstalowany w systemie?

28

Mam Linux Mint na moim komputerze, ale nie wiem, jak sprawdzić, czy jest na nim Apache2, czy gdzie jest faktycznie zainstalowany. Używam przeglądarki internetowej (z zainstalowanym PHP) z http://localhostadresem URL i działa.

Thach Xuyen
źródło
co rozumiesz przez zainstalowane PHP?
onemach
Jak to się ma do c, c # lub unix?
ThiefMaster
chcesz poznać ścieżkę, gdzie są pliki z tej witryny?
Francisco Tapia

Odpowiedzi:

43

Chciałbym polecić

dpkg --get-selections | grep apache

Wyświetla listę wszystkich zainstalowanych pakietów, które zawierają w nazwie „apache”. Na przykład:

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

Wskazuje, że pakiet apache2jest zainstalowany w systemie.

Innym sposobem, aby znaleźć każdy uruchomiony demon HTTP na porcie domyślnym będzie:

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

Która zawiera listę takich jak:

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
źródło
-bash: dpkg: command not foundczy powyższe czynności zostały wykonane w określonym katalogu?
elliotrock,
@elliotrock Nie, spróbuj go uruchomić sudo.
Der Hochstapler,
-bash: dpkg: command not foundten sam błąd na aws linux nawet próbował z sudo.
Krishnadas PC
1
To pytanie dotyczy Linux Mint. Używanie dpkg na platformach, które go nie mają, jest bezcelowe.
Der Hochstapler
12

Spróbuj wykonać whichpolecenie:

# which apache2

Z mojego doświadczenia wynika, że ​​plik binarny Apache znajduje się w /usr/sbinwiększości instalacji.

Frédéric Hamidi
źródło
4
W zależności od dystrybucji możesz spróbować także z „apache” i „httpd”
siliconrockstar
4

Aby sprawdzić, czy apache działa, czy nie (status), wpisz:

sudo service apache2 status

w wierszu poleceń.

Sukhpreet Singh
źródło
Działa to tylko wtedy, gdy Apache jest zainstalowany jako sysvusługa ( itp.); co oczywiście obejmie wiele spraw.
bertieb
3

Po prostu zrób which httpdjako root użytkownika.


źródło
2
Boję się powiedzieć, ale na Mint (pochodna Debiana) byłoby apachelub apache2, ale nie httpd...
0xC0000022L
3

Jak pamiętam, Mint jest oparty na Ubuntu, więc powinieneś być w stanie sprawdzić 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

W takim przypadku widać, że nie jest zainstalowany w moim systemie. Jeśli nie poprosiłeś o jego zainstalowanie, prawdopodobnie tak nie jest - wątpię, że jest to część domyślnej dystrybucji.

Błąd krytyczny
źródło
0

Jako root możesz sprawdzić, czy apache działa pod nazwą procesu httpd, apache lub apache2, używając

ps -A | grep 'apache\|httpd'

Ale znowu znajdzie apache tylko wtedy, gdy proces jest uruchomiony.

siliconrockstar
źródło
1
Jeśli działa, nawet jeśli nie jesteś rootem.
Hastur
Ach fajnie, nie byłem pewien, czy nieuprzywilejowani użytkownicy mogą wymienić globalne procesy, dzięki.
siliconrockstar