Attention: lors de l'exécution d'Apache 2.4 sur Ubuntu 14, apache2ctl -Vne fonctionne pas sans privilèges root (... et il n'imprime pas la version). Alors que cela fonctionne sur Ubuntu 12 avec Apache 2.2. Rusé.
philippe_b
Cela fonctionne sur Ubuntu 12.04 et je pense que beaucoup de gens utilisent encore Ubuntu 12.04, comme moi, qui ne veulent pas passer à 14 jusqu'à ce que tous les bogues avec divers logiciels soient éliminés.
JohnMerlino
Fonctionne surDebian 7.1
Cyclonecode
apachectl -V ne fonctionne pas sur suse10.04 à la place, nous devons taper / usr / sbin / apache2ctl -v pour obtenir la bonne réponse avec l'autorisation root
farzam
1
A bien fonctionné sur Red Hat Enterprise Linux 6 (64 bits)
Soit -V supérieur ou minuscule -v est correct mais vous devrez peut-être utiliser sudo à moins que vous ne soyez connecté en tant que root.
sdexp
27
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
Sur Red Hat et Amazon EC2 Linux, utilisez:
httpd -v
Sur d'autres versions de Linux, essayez:
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 souhaitez exécuter la commande avec le répertoire complet comme l'a fait user3786265 mais ne savez pas où se trouve votre apache, utilisez la whereiscommande:
Brillant. Votre réponse couvre la gamme d'environnements de serveurs dans lesquels vous pourriez essayer de trouver la version d'Apache. Si c'était ma question, j'aurais marqué cela comme la réponse . Peut-être que la seule chose que je suggérerais d'ajouter à votre réponse, ce sont les chemins communs. Dans certains environnements, la commande peut ne pas être dans $ PATH, donc les personnes qui essaient ces commandes peuvent être bloquées. Par exemple, dans mon environnement Debian, je devais utiliser $ /usr/sbin/apache2 -vparce que $ apache2 -vrevient command not found. Cette commande aidera les utilisateurs à localiser le chemin vers apache, si nécessaire:ps -ef | grep apache
inspirationnz
apache2 -vfonctionne également sur Debian (au moins Debian 8 (Jessie) sur Raspberry Pi).
Peter Mortensen
25
J'utilise Red Hat Linux et la commande suivante fonctionne:
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....
Cela ne fonctionnera pas s'il y a actuellement une erreur de syntaxe dans vos fichiers de configuration
Wolfgang Fahl
12
Je pense que vous devez être sûr du type d'installation que vous avez en binaire ou en source. Pour vérifier quels packages 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, vous pouvez exécuter:
apache2ctl -V |grep -i "Server version"
le résultat devrait être quelque chose comme: Version du serveur: Apache / 2.4.10 (Debian)
Vous pouvez également utiliser directement le gestionnaire de packages:
dpkg -l | grep apache
Cela ne se concentre pas uniquement sur le numéro de version , mais cela fera une recherche plus large, qui vous donnera d'autres informations utiles, comme les versions de module.
La restriction d'apache peut être directement transmise à dpkg. Pour une interprétation automatisée, vous avez également besoin d'une valeur unique plutôt que d'une liste, et vous ne devriez pas avoir les packages apache2- * «désinstallés» affichés. Veuillez également considérer dpkg -l apache2 | grep ^ii | awk '{print $3}' | cut -f1 -d-ou dpkg -l "apache2*" | grep ^ii | awk '{print $3}' | cut -f1 -d- | head -n 1.
smoe
6
Une autre façon de vérifier la version installée d'un paquet (y compris Apache) sur un système basé sur Debian, nous pouvons utiliser:
apt-cache policy <package_name>
par exemple pour Apache
apt-cache policy apache2
qui montrera quelque chose comme (regardez la Installedligne):
Linux www809 2.6.26-2-xen-686 # 1 SMP mer 21 sept. 09:56:47 UTC 2011 i686 GNU / Linux
Je devais aller dans le bon sens:
/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) Version du
serveur: 17 décembre 2011 19:57:53
'apachectl -v' fonctionne pour moi sur Mac, CentOS et Ubuntu. Sur quelle distribution étiez-vous? apachectl fullstatus a besoin de mod_status pour que cela fonctionne. Ce n'est donc pas une solution universelle non plus.
Konzulic
apachectl fullstatusN'a pas travaillé pour moi. J'ai eu /usr/sbin/apachectl: 101: /usr/sbin/apachectl: www-browser: not found 'www-browser -dump http://localhost:80/server-status' failed.(Debian 8 - Raspbian sur un Raspberry Pi). Cependant, apachectl -Va fonctionné.
Peter Mortensen
3
Certaines installations d'Apache sont fubar (pensez à l'emballage de Oracle, OHS) et ne comprennent pas l'indicateur -V, ni ne peuvent être invoquées directement sans se heurter à des erreurs de bibliothèque manquantes.
Le moyen le plus simple consiste à utiliser la stringscommande (partie de binutils) sur le binaire httpd et grep pour une chaîne qui pourrait ressembler à une version. Par exemple, en supposant que votre httpdbinaire se trouve dans le répertoire /foo/bar:
La plupart des binaires (pas tous) contiennent leur version (au moins leur version principale) sous forme de chaînes statiques. C'est ma façon idéale d'obtenir des versions (ou de corroborer ce que le message d'aide d'un binaire correspond à ce qu'est réellement la réalité sur le terrain.)
N'est-il pas httpdnécessaire d'être dans le répertoire actuel pour que cela fonctionne?
Peter Mortensen
1
Cela m'a aidé à découvrir ma version précédente sur mon ancienne racine montée à partir de la nouvelle installation d'Ubuntu. À noter: "cordes" fait partie du paquet "binutils"
Zefiro
@PeterMortensen, oui. Je suppose que mon exemple supposait que httpd se trouverait dans le répertoire actuel (et que le lecteur en déduirait l'exemple et l'ajusterait au besoin.) J'édite ma réponse maintenant pour refléter cela .
luis.espinal
@Zefiro, merci pour l'avertissement. Je mettrai à jour ma réponse pour mentionner les binutils.
Si apache est configuré pour ne pas ajouter d'informations de version aux en-têtes HTTP, vous ne trouverez rien.
Marki555
nmap peut ne pas être installé (par exemple sur un Raspberry Pi):-bash: nmap: command not found
Peter Mortensen
2
Sûrement, taper / usr / sbin / apache2 -v dans le shell est le moyen le plus rapide et le plus rapide, en passant, voici une autre option, juste au cas où il y aurait aussi PHP sur votre serveur et que vous souhaitez rassembler la version Apache (et bien plus plus d'infos) en étapes programmatiques rapides.
Créez simplement un fichier info.php dans votre dossier racine Web Apache (ou ce que vous voulez) et écrivez-les à l'intérieur:
<?php
phpinfo();
?>
Allez maintenant sur votresite.com/info.php (ou localhost / info.php pour les machines locales).
Vous verrez votre version Apache dans la section Variables PHP , voici un exemple:
De plus, veuillez noter que ces étapes s'appliquent évidemment à tout serveur Web avec intégration PHP, donc ce n'est pas limité à Apache et une fois créée, cette page pourrait être pratique lors du développement (n'oubliez pas de la supprimer dans les environnements de production !!)
Réponses:
Essayez apachectl -V:
Si cela ne fonctionne pas pour vous, exécutez la commande avec
sudo
.la source
apache2ctl -V
ne fonctionne pas sans privilèges root (... et il n'imprime pas la version). Alors que cela fonctionne sur Ubuntu 12 avec Apache 2.2. Rusé.Debian 7.1
Cela fonctionne pour mon Debian:
la source
Vous devez utiliser apache2ctl -v ou apache2 -v pour les distributions Debian ou Ubuntu plus récentes.
ou vous pouvez utiliser apache2 -V pour obtenir plus d'informations.
la source
La commande varie en fonction de la façon dont votre version de Linux a nommé le serveur Apache.
Sur Debian et Mac OS:
Sur Red Hat et Amazon EC2 Linux, utilisez:
Sur d'autres versions de Linux, essayez:
Vous pouvez utiliser deux drapeaux différents:
Si vous souhaitez exécuter la commande avec le répertoire complet comme l'a fait user3786265 mais ne savez pas où se trouve votre apache, utilisez la
whereis
commande:la source
$ /usr/sbin/apache2 -v
parce que$ apache2 -v
revientcommand not found
. Cette commande aidera les utilisateurs à localiser le chemin vers apache, si nécessaire:ps -ef | grep apache
apache2 -v
fonctionne également sur Debian (au moins Debian 8 (Jessie) sur Raspberry Pi).J'utilise Red Hat Linux et la commande suivante fonctionne:
la source
Essayez-le avec sudo
la source
Je pense que vous devez être sûr du type d'installation que vous avez en binaire ou en source. Pour vérifier quels packages binaires sont installés: avec les droits root, exécutez la commande suivante:
le résultat devrait être quelque chose comme:
Pour trouver la version, vous pouvez exécuter:
le résultat devrait être quelque chose comme: Version du serveur: Apache / 2.4.10 (Debian)
la source
Vous pouvez également utiliser directement le gestionnaire de packages:
Cela ne se concentre pas uniquement sur le numéro de version , mais cela fera une recherche plus large, qui vous donnera d'autres informations utiles, comme les versions de module.
la source
dpkg -l apache2 | grep ^ii | awk '{print $3}' | cut -f1 -d-
oudpkg -l "apache2*" | grep ^ii | awk '{print $3}' | cut -f1 -d- | head -n 1
.Une autre façon de vérifier la version installée d'un paquet (y compris Apache) sur un système basé sur Debian, nous pouvons utiliser:
par exemple pour Apache
qui montrera quelque chose comme (regardez la
Installed
ligne):la source
Pour moi, cela fonctionne sur Debian 6 (Squeeze):
Je devais aller dans le bon sens:
la source
J'ai essayé d'exécuter la commande "httpd -V" et "apachectl -V", mais je n'ai pas pu l'exécuter et j'obtenais l'erreur:
Ensuite, j'ai essayé une autre façon. Je suis allé dans le répertoire Apache sur mon serveur, puis j'ai essayé d'exécuter la commande:
Cela a fonctionné pour moi et a renvoyé la sortie:
J'espère que ça aide.
la source
Vous pouvez utiliser
apachectl -V
ouapachectl -v
. Les deux renverront les informations de version d'Apache!Vous préférerez peut-être utiliser
apache2 -V
ouapache2 -v
. Cela semble plus facile à retenir!la source
Pour moi
apachectl -V
n'a pas fonctionné, maisapachectl fullstatus
m'a donné ma version.la source
apachectl fullstatus
N'a pas travaillé pour moi. J'ai eu/usr/sbin/apachectl: 101: /usr/sbin/apachectl: www-browser: not found 'www-browser -dump http://localhost:80/server-status' failed.
(Debian 8 - Raspbian sur un Raspberry Pi). Cependant,apachectl -V
a fonctionné.Certaines installations d'Apache sont fubar (pensez à l'emballage de Oracle, OHS) et ne comprennent pas l'indicateur -V, ni ne peuvent être invoquées directement sans se heurter à des erreurs de bibliothèque manquantes.
Le moyen le plus simple consiste à utiliser la
strings
commande (partie debinutils
) sur le binaire httpd et grep pour une chaîne qui pourrait ressembler à une version. Par exemple, en supposant que votrehttpd
binaire se trouve dans le répertoire/foo/bar
:La plupart des binaires (pas tous) contiennent leur version (au moins leur version principale) sous forme de chaînes statiques. C'est ma façon idéale d'obtenir des versions (ou de corroborer ce que le message d'aide d'un binaire correspond à ce qu'est réellement la réalité sur le terrain.)
la source
httpd
nécessaire d'être dans le répertoire actuel pour que cela fonctionne?Ou, moins directement:
nmap -A localhost -p 80
la source
-bash: nmap: command not found
Sûrement, taper / usr / sbin / apache2 -v dans le shell est le moyen le plus rapide et le plus rapide, en passant, voici une autre option, juste au cas où il y aurait aussi PHP sur votre serveur et que vous souhaitez rassembler la version Apache (et bien plus plus d'infos) en étapes programmatiques rapides.
Créez simplement un fichier info.php dans votre dossier racine Web Apache (ou ce que vous voulez) et écrivez-les à l'intérieur:
Allez maintenant sur votresite.com/info.php (ou localhost / info.php pour les machines locales).
Vous verrez votre version Apache dans la section Variables PHP , voici un exemple:
Exemple de page de vidage de phpinfo ()
De plus, veuillez noter que ces étapes s'appliquent évidemment à tout serveur Web avec intégration PHP, donc ce n'est pas limité à Apache et une fois créée, cette page pourrait être pratique lors du développement (n'oubliez pas de la supprimer dans les environnements de production !!)
la source
la source