Как я могу определить, установлен ли Apache в системе?

28

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

Thach Xuyen
источник
что вы подразумеваете под 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)
Der Hochstapler
источник
-bash: dpkg: command not foundсделано ли это в определенном каталоге?
elliotrock
@elliotrock Нет, попробуйте запустить его с sudo.
Der
-bash: dpkg: command not foundту же ошибку на aws linux даже пробовал с sudo.
Кришнадас ПК
1
Этот вопрос о Linux Mint. Использование dpkg на платформах, у которых его нет, бессмысленно.
Der Hochstapler
12

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

# which apache2

По моему опыту, двоичный файл Apache находится в /usr/sbinбольшинстве установок.

Фредерик Хамиди
источник
4
В зависимости от дистрибутива, вы также можете попробовать что с 'apache' и 'httpd'
silicrockstar
4

Чтобы проверить, работает ли apache или нет (статус), введите:

sudo service apache2 status

в командной строке.

Сухприт Сингх
источник
Это работает только тогда, когда Apache установлен как (и sysvт. Д.) Сервис; что по общему признанию покроет много случаев.
Бертиб
3

Просто сделайте which httpdкак пользователь root.


источник
2
Боюсь сказать, но на Mint (производной от Debian) это было бы apacheили apache2, но не httpd...
0xC0000022L
3

Насколько я помню, Mint основан на 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

В качестве пользователя root вы можете проверить, работает ли apache под именем процесса httpd, apache или apache2, используя

ps -A | grep 'apache\|httpd'

Но опять же, Apache найдет только если процесс запущен.

siliconrockstar
источник
1
Если работает, даже если вы не root.
Хастур
Ах, круто, я не был уверен, смогут ли непривилегированные пользователи перечислить глобальные процессы, спасибо.
silicrockstar