web-dev-qa-db-fra.com

Version d'Apache installée sur une machine Debian

Comment vérifier quelle version d'Apache est installée sur une machine Debian?

Y a-t-il une commande pour faire cela?

304
pindiwala

Essayez apachectl -V:

$ apachectl -V
Server version: Apache/2.2.9 (Unix)
Server built:   Sep 18 2008 21:54:05
Server's 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 ...

Si cela ne fonctionne pas pour vous, exécutez la commande avec Sudo.

406
Todd Gamblin

Cela fonctionne pour ma Debian:

$ /usr/sbin/Apache2 -v
142
Elzo Valugi

Vous devez utiliser Apache2ctl -v ou Apache2 -v pour les nouvelles distributions Debian ou Ubuntu.

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

ou vous pouvez utiliser Apache2 -V pour obtenir plus d'informations.

Apache2 -V
Server version: Apache/2.2.16 (Debian)
Server built:   May 12 2011 11:58:18
Server's 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....
31
eaykin

J'utilise Red Hat Linux et la commande suivante fonctionne:

httpd -V
25
Dinesh

La commande varie en fonction de la façon dont votre version de Linux a nommé le serveur Apache.

Sur Debian et Mac OS:

apachectl -v

Sous Red Hat et Amazon EC2 sous Linux, utilisez:

httpd -v

Essayez d’autres versions de Linux:

Apache2 -v

Vous pouvez utiliser deux drapeaux différents:

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

Si vous voulez exécuter la commande avec le répertoire complet comme le faisait l'utilisateur mais ne savez pas où se trouve votre Apache, utilisez la commande whereis:

whereis httpd
24
Keshav Dial

Essayez avec 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's 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
shiva

Je pense que vous devez être sûr du type d'installation que vous avez binaire ou source. Pour vérifier quels paquets binaires sont installés: avec les droits root, exécutez la commande suivante:

dpkg -l |grep Apache2

le résultat devrait être quelque chose comme:

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)

Pour trouver la version que vous pouvez exécuter:

Apache2ctl -V |grep -i "Server version"

le résultat devrait ressembler à: Version du serveur: Apache/2.4.10 (Debian)

11
Tsvetomir Tsvetkov

Vous pouvez également utiliser directement le gestionnaire de paquets:

dpkg -l | grep Apache

Ce n'est pas centré sur seulement le numéro de version, mais cela fera une recherche plus large, qui vous donnera d'autres informations utiles, telles que les versions de modules.

11
Balmipour

Pour moi, cela fonctionne sur Debian 6 (Squeeze):

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

Je devais aller sur le bon chemin:

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

./apachectl: ligne 71: ulimit: fichiers ouverts: impossible de modifier la limite: opération non autorisée
Version du serveur: Apache/ 2.2.21 (Unix)
Serveur construit: 17 déc 2011 2011 19:57:53

6
merlinuwe
  1. Vous pouvez utiliser apachectl -V ou apachectl -v. Les deux renverront les informations de version d'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's 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"
  2. Vous aurez peut-être plus tendance à utiliser Apache2 -V ou Apache2 -v. Cela semble plus facile à retenir!

        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's 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
xgqfrms

J'ai essayé d'exécuter la commande "httpd -V" et "apachectl -V", mais je ne pouvais pas exécuter et j'obtenais l'erreur:

-ksh: php: non trouvé [Aucun fichier ou répertoire de ce type]

Puis j'ai essayé d'une autre manière. Je suis allé dans le répertoire Apache sur mon serveur, puis j'ai essayé d'exécuter la commande:

./apachectl -v

Cela a fonctionné pour moi et a renvoyé la sortie:

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

J'espère que ça aide.

5
RDB

Une autre façon de vérifier la version installée d'un paquet (y compris Apache) sur un système Debian consiste à utiliser:

apt-cache policy <package_name>

par exemple. pour Apache

apt-cache policy Apache2

qui montrera quelque chose comme (regardez la ligne 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
Raptor

Certaines installations d’Apache sont fubar (pensez à son emballage, OHS) et ne comprennent pas l’indicateur -V, et ne peuvent pas être invoquées directement sans rencontrer d’erreurs de bibliothèque manquantes.

Le moyen le plus simple consiste à utiliser la commande strings (qui fait partie de binutils) sur le fichier binaire httpd et grep pour une chaîne pouvant ressembler à une version. Par exemple, en supposant que votre binaire httpd est dans le répertoire /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

La plupart des fichiers binaires (pas tous) contiennent leur version (au moins leur version principale) sous forme de chaînes statiques. C’est mon moyen privilégié d’obtenir des versions (ou de corroborer le message d’aide d’un binaire qui correspond à la réalité sur le terrain.)

3
luis.espinal

Pour moi, apachectl -V n'a pas fonctionné, mais apachectl fullstatus m'a donné ma version.

3
pindiwala

Ou, moins directement:

nmap -A localhost -p 80

2
Chad

Assurément, taper /usr/sbin/Apache2 -v dans le shell est le meilleur et le plus rapide chemin à parcourir. En passant, voici une autre option, juste au cas où il y aurait PHP aussi sur votre serveur et vous êtes intéressé par la compilation de la version d'Apache (et de beaucoup d'autres informations) en étapes programmatiques rapides.

Créez simplement un fichier info.php dans votre dossier racine Web Apache (ou ce que vous préférez) et écrivez-le à l'intérieur:

<?php
    phpinfo();
?>

Maintenant, allez à yoursite.com/info.php (ou localhost/info.php pour les machines locales).

Vous verrez votre version d'Apache dans la section Variables PHP , voici un exemple:

exemple de page de vidage phpinfo ()

Notez également que ces étapes s’appliquent évidemment à n’importe quel serveur Web doté de PHP intégration, il n’est donc pas limité à Apache et une fois créé cette page pourrait être utile lors du développement (n'oubliez pas de la supprimer dans les environnements de production !!)

2
Defrag
dlocate -s Apache2 | grep '^Version:'
1
agc