Як я можу визначити, чи встановлено Apache в системі?


28

У мене на моєму комп’ютері є Linux Mint, але я не знаю, як дізнатися, чи є на ньому Apache2 чи де він фактично встановлений. Я запускаю свій веб-браузер (PHP встановлено) з http://localhostURL-адресою, і він працює.


що ви розумієте під встановленим PHP?
onemach

Як це пов'язано з c, c # або unix?
ThiefMaster

Ви хочете знати шлях, де знаходяться файли з цього сайту?
Франсіско Тапія

Відповіді:


43

Я б рекомендував

dpkg --get-selections | grep apache

У ньому перераховані всі встановлені пакети, що містять у своєму імені "apache". Наприклад:

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

Це вказує, що пакет apache2встановлений у системі.

Іншим підходом для пошуку будь-якого запущеного демона HTTP на порту за замовчуванням було б:

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

У якому перелічено щось на кшталт:

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 foundчи зроблено вище в певному каталозі?
elliotrock

@elliotrock Ні, спробуйте запустити його sudo.
Der Hochstapler

-bash: dpkg: command not foundта ж помилка на aws linux навіть спробувала з sudo.
ПК

1
Це питання стосується Linux Mint. Використовувати dpkg на платформах, у яких немає, безглуздо.
Der Hochstapler

12

Спробуйте whichкоманду:

# which apache2

На мій досвід, бінарний апарат Apache розташований у /usr/sbinбільшості установок.


4
Залежно від дистрибутиву, ви можете також спробувати, що з 'apache' та 'httpd'
siliconrockstar

4

Щоб перевірити, чи працює апарат apache чи ні (статус), введіть:

sudo service apache2 status

у командному рядку.


Це працює лише там, де Apache встановлений як ( sysvтощо) послуга; що, безумовно, охоплюватиме багато справ.
bertieb

3

Просто зробіть which httpdкорінь користувача як користувача.


2
Боячись сказати, але на монетному дворі (похідне Debian) було б apacheабо apache2, але не httpd...
0xC0000022L

3

Як я пам’ятаю, монетний двір базується на Ubuntu, тому ви повинні мати можливість перевірити 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

У цьому випадку ви бачите, що він не встановлений у моїй системі. Якщо ви не просили його встановити, можливо, це не так - я сумніваюся, що це частина дистрибутива за замовчуванням.


0

Як корінь, ви можете перевірити, чи apache працює під ім'ям процесу httpd, apache або apache2, використовуючи

ps -A | grep 'apache\|httpd'

Але знову-таки, це знайде апаш лише тоді, коли процес запущений.


1
Якщо працює, навіть якщо ви не root.
Хастур

Ах здорово, не був впевнений, чи можуть непривілейовані користувачі перелічити глобальні процеси, дякую.
siliconrockstar
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.