Версия Apache, установленная на машине Debian

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

Есть ли команда для этого?

+270
источник поделиться
17 ответов

Попробуйте apachectl -V:

$ apachectl -V
Server version: Apache/2.2.9 (Unix)
Server built:   Sep 18 2008 21:54:05
Server Module Magic Number: 20051115:15
Server loaded:  APR 1.2.7, APR-Util 1.2.7
Compiled using: APR 1.2.7, APR-Util 1.2.7
... etc ...

Если это не сработает для вас, запустите команду с помощью sudo.

+361
источник

Это работает для моего Debian:

$ /usr/sbin/apache2 -v
+122
источник

Вы должны использовать apache2ctl -v или apache2 -v для более новых дистрибутивов Debian или Ubuntu.

apache:/etc/apache2# apache2ctl -v
Server version: Apache/2.2.16 (Debian)
Server built:   May 12 2011 11:58:18

или вы можете использовать apache2 -V, чтобы получить дополнительную информацию.

apache2 -V
Server version: Apache/2.2.16 (Debian)
Server built:   May 12 2011 11:58:18
Server Module Magic Number: x
Server loaded:  APR 1.4.2, APR-Util 1.3.9
Compiled using: APR 1.2.12, APR-Util 1.3.9
Architecture:   64-bit
Server MPM:     Worker
  threaded:     yes (fixed thread count)
    forked:     yes (variable process count)
Server compiled with....
+27
источник

Я использую Red Hat Linux и работает следующая команда:

httpd -V
+24
источник

Команда зависит от того, как ваша версия Linux назвала Apache Server.

В Debian и Mac OS:

apachectl -v

В Red Hat и Amazon EC2 Linux используется:

httpd -v

В других версиях Linux попробуйте:

apache2 -v

Вы можете использовать два разных флага:

-v # gives you the version number
-V # gives you the compile settings including version number.

Если вы хотите запустить команду с полным каталогом, например user3786265, но не знаете, где находится ваш apache, используйте команду whereis:

whereis httpd
+21
источник

Попробуйте с помощью sudo

apachectl -V
-bash: apachectl: command not found

sudo apachectl -V
Server version: Apache/2.4.6 (Debian)
Server built:   Aug 12 2013 18:20:23
Server Module Magic Number: 20120211:24
Server loaded:  APR 1.4.8, APR-UTIL 1.5.3
Compiled using: APR 1.4.8, APR-UTIL 1.5.2
Architecture:   32-bit
Server MPM:     prefork
  threaded:     no
  forked:     yes (variable process count)
Server compiled with....
bla bla....
+15
источник

Вы также можете использовать диспетчер пакетов напрямую:

dpkg -l | grep apache

Это не ориентируется только на номер версии, но это сделает более широкий поиск, который даст вам другую полезную информацию, такую ​​как версии модулей.

+9
источник

Для меня это работает на Debian 6 (Squeeze):

Linux www809 2.6.26-2-xen-686 # 1 SMP Wed Sep 21 09:56:47 UTC 2011 i686 GNU/Linux

Мне нужно было идти по правильному пути:

/usr/local/apache/bin** $ **./apachectl -v

./apachectl: строка 71: ulimit: открытые файлы: невозможно изменить предел: операция не разрешена
Версия сервера: Apache/ 2.2.21 (Unix)
Сервер построен: 17 декабря 2011 19:57:53

+6
источник

Еще один способ проверить установленную версию пакета (включая Apache) на базе Debian, мы можем использовать:

apt-cache policy <package_name>

например. для Apache

apt-cache policy apache2

который будет показывать что-то вроде (посмотрите на строку Installed):

$ apt-cache policy apache2
apache2:
  Installed: (none)
  Candidate: 2.2.22-1ubuntu1.9
  Version table:
     2.2.22-1ubuntu1.9 0
        500 http://hk.archive.ubuntu.com/ubuntu/ precise-updates/main amd64 Packages
        500 http://security.ubuntu.com/ubuntu/ precise-security/main amd64 Packages
     2.2.22-1ubuntu1 0
        500 http://hk.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages
+5
источник

Я попробовал запустить команду "httpd -V" и "apachectl -V", но я не смог выполнить и получал ошибку:

-ksh: php: не найден [Нет такого файла или каталога]

Тогда я попробовал другой путь. Я пошел в каталог Apache на моем сервере, а затем попробовал выполнить команду:

./apachectl -v

Это сработало для меня и вернуло вывод:

Server version: Apache/2.2.20 (Unix)
Server built:   Sep  6 2012 17:22:16

Надеюсь, это поможет.

+5
источник
  • Вы можете использовать apachectl -V или apachectl -V. Оба из них вернут информацию о версии Apache!

        xgqfrms:~/workspace $ apachectl -v
    
        Server version: Apache/2.4.7 (Ubuntu)
        Server built:   Jul 15 2016 15:34:04
    
    
        xgqfrms:~/workspace $ apachectl -V
    
        Server version: Apache/2.4.7 (Ubuntu)
        Server built:   Jul 15 2016 15:34:04
        Server Module Magic Number: 20120211:27
        Server loaded:  APR 1.5.1-dev, APR-UTIL 1.5.3
        Compiled using: APR 1.5.1-dev, APR-UTIL 1.5.3
        Architecture:   64-bit
        Server MPM:     prefork
          threaded:     no
            forked:     yes (variable process count)
        Server compiled with....
         -D APR_HAS_SENDFILE
         -D APR_HAS_MMAP
         -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
         -D APR_USE_SYSVSEM_SERIALIZE
         -D APR_USE_PTHREAD_SERIALIZE
         -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
         -D APR_HAS_OTHER_CHILD
         -D AP_HAVE_RELIABLE_PIPED_LOGS
         -D DYNAMIC_MODULE_LIMIT=256
         -D HTTPD_ROOT="/etc/apache2"
         -D SUEXEC_BIN="/usr/lib/apache2/suexec"
         -D DEFAULT_PIDLOG="/var/run/apache2.pid"
         -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
         -D DEFAULT_ERRORLOG="logs/error_log"
         -D AP_TYPES_CONFIG_FILE="mime.types"
         -D SERVER_CONFIG_FILE="apache2.conf"
  • Вы можете больше походить на apache2 -V или apache2 -V. Кажется, легче запомнить!

        xgqfrms:~/workspace $ apache2 -v
    
        Server version: Apache/2.4.7 (Ubuntu)
        Server built:   Jul 15 2016 15:34:04
    
    
        xgqfrms:~/workspace $ apache2 -V
    
        Server version: Apache/2.4.7 (Ubuntu)
        Server built:   Jul 15 2016 15:34:04
        Server Module Magic Number: 20120211:27
        Server loaded:  APR 1.5.1-dev, APR-UTIL 1.5.3
        Compiled using: APR 1.5.1-dev, APR-UTIL 1.5.3
        Architecture:   64-bit
        Server MPM:     prefork
          threaded:     no
            forked:     yes (variable process count)
        Server compiled with....
         -D APR_HAS_SENDFILE
         -D APR_HAS_MMAP
         -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
         -D APR_USE_SYSVSEM_SERIALIZE
         -D APR_USE_PTHREAD_SERIALIZE
         -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
         -D APR_HAS_OTHER_CHILD
         -D AP_HAVE_RELIABLE_PIPED_LOGS
         -D DYNAMIC_MODULE_LIMIT=256
         -D HTTPD_ROOT="/etc/apache2"
         -D SUEXEC_BIN="/usr/lib/apache2/suexec"
         -D DEFAULT_PIDLOG="/var/run/apache2.pid"
         -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
         -D DEFAULT_ERRORLOG="logs/error_log"
         -D AP_TYPES_CONFIG_FILE="mime.types"
         -D SERVER_CONFIG_FILE="apache2.conf"
+5
источник

Я думаю, вы должны быть уверены, какой тип установки у вас есть двоичный или источник. Чтобы проверить, какие бинарные пакеты установлены: с правами root выполните следующую команду:

dpkg -l |grep apache2

результат должен выглядеть примерно так:

dpkg -l |grep apache2
ii  apache2                               2.4.10-10+deb8u8                      amd64        Apache HTTP Server
ii  apache2-bin                           2.4.10-10+deb8u8                      amd64        Apache HTTP Server (modules and other binary files)
ii  apache2-data                          2.4.10-10+deb8u8                      all          Apache HTTP Server (common files)
ii  apache2-doc                           2.4.10-10+deb8u8                      all          Apache HTTP Server (on-site documentation)

Чтобы найти версию, которую вы можете запустить:

apache2ctl -V |grep -i "Server version"
Результат

должен выглядеть примерно так: Версия сервера: Apache/2.4.10 (Debian)

+4
источник

Для меня apachectl -V не работает, но apachectl fullstatus предоставил мне свою версию.

+3
источник

Некоторые установки Apache являются fubar (думаю, что Oracle упаковывает его, OHS) и не понимают флаг -V и не могут быть вызваны напрямую, не запуская недостающих ошибок библиотеки.

Самый простой способ - использовать команду strings (часть binutils) в битах httpd и grep для строки, которая может напоминать версию. Например, если ваш двоичный файл httpd находится в каталоге /foo/bar:

$ strings /foo/bar/httpd  | grep 2.2
GLIBC_2.2.5
Oracle-HTTP-Server/2.2.22 (Unix)
Success_Accepted_202
202 Accepted

Большинство двоичных файлов (не все) содержат их версию (по крайней мере, их основную версию) как статические строки. Это мой путь к получению версий (или подтверждение того, что бинарное справочное сообщение соответствует действительности на земле).

+3
источник

Или, менее прямо:

nmap -A localhost -p 80

+2
источник
dlocate -s apache2 | grep '^Version:'
+1
источник

Конечно, типизация /usr/sbin/apache 2 -v в оболочке - лучший и быстрый способ, кстати, здесь еще один вариант, на всякий случай, если PHP тоже на вашем сервере, и вы заинтересованы в сборе версии Apache (и намного больше информации) в быстрых программных шагах.

Просто создайте файл info.php в своей корневой папке Apache (или как угодно) и напишите их внутри него:

<?php
    phpinfo();
?>

Теперь перейдите на сайт yoursite.com/info.php(или localhost/info.php для локальных машин).

Вы увидите версию Apache в разделе "Переменные PHP", вот пример:

phpinfo() пример страницы дампа

Кроме того, обратите внимание, что эти шаги, очевидно, применимы к любому веб-серверу с интеграцией PHP, поэтому он не ограничивается Apache и когда-то созданный, эта страница может быть удобной при разработке (просто не забудьте удалите его в производственных условиях!)

+1
источник

Посмотрите другие вопросы по меткам или Задайте вопрос