¿Cómo puedo verificar qué versión de Apache está instalada en una máquina Debian?Versión de Apache instalada en una máquina Debian
¿Hay un comando para hacer esto?
¿Cómo puedo verificar qué versión de Apache está instalada en una máquina Debian?Versión de Apache instalada en una máquina Debian
¿Hay un comando para hacer esto?
Try 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 esto no funciona para usted, ejecute el comando con sudo
.
No funciona en Debian estándar 2.6.32-5-686-bigmem –
No hay tal comando ni paquete. –
Advertencia: cuando se ejecuta Apache 2.4 en Ubuntu 14, 'apache2ctl -V' no funciona sin privilegios de root (... y no imprime la versión).Mientras que funciona en Ubuntu 12 con Apache 2.2. Difícil. –
O, menos directamente:
nmap -A localhost -p 80
Para mí apachectl -V
no funcionó, pero apachectl fullstatus
me dio mi versión.
'apachectl -v' funciona para Mac, CentOS y Ubuntu. ¿En qué distribución estabas corriendo? apachectl fullstatus necesita mod_status para hacer que esto funcione. Entonces tampoco es una solución universal. – Konzula
'apachectl fullstatus' no funcionó para mí. Obtuve '/ usr/sbin/apachectl: 101:/usr/sbin/apachectl: www-browser: no encontrado 'www-browser -dump http: // localhost: 80/server-status' failed. (Debian 8 - Raspbian en una Raspberry Pi). Sin embargo, 'apachectl -V' funcionó. –
Debe utilizar apache2ctl -v -v o apache2 para nuevas distribuciones Debian o Ubuntu.
apache:/etc/apache2# apache2ctl -v
Server version: Apache/2.2.16 (Debian)
Server built: May 12 2011 11:58:18
o puede utilizar apache2 -V para obtener más información.
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....
Esto funciona para mi Debian:
$ /usr/sbin/apache2 -v
funciona también con Ubuntu –
Para mí esto funciona en Debian 6 (Squeeze):
Linux www809 2.6.26-2-xen-686 #1 SMP Wed Sep 21 09:56:47 UTC 2011 i686 GNU/Linux
tuve que ir por el camino correcto:
/usr/local/apache/bin** $ **./apachectl -v
./apachectl: line 71: ulimit: open files: cannot modify limit: Operation not permitted
Server version: Apache/2.2.21 (Unix)
Server built: Dec 17 2011 19:57:53
intentarlo con 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....
Esto no funcionará si actualmente hay un error de sintaxis en sus archivos de configuración –
estoy usando Red Hat Linux y las siguientes obras de comando:
httpd -V
Esto funcionó en las ventanas de Xampp también –
también puede utilizar el gestor de paquetes directamente:
dpkg -l | grep apache
Esto no es se centró en solo el número de versión, pero hará una búsqueda más amplia, que le dará otro uso información ul, como versiones de módulo.
¡De acuerdo! ¡La forma más precisa! – GTodorov
La restricción a apache se puede pasar a dpkg directamente. Para una interpretación automatizada, también necesita un único valor en lugar de una lista, y no debe mostrar los paquetes apache2- * "desinstalados". Considere también 'dpkg -l apache2 | grep^ii | awk '{print $ 3}' | corte -f1 -d-'or 'dpkg -l" apache2 * "| grep^ii | awk '{print $ 3}' | corte -f1 -d- | cabeza -n 1'. – smoe
Otra forma redonda para comprobar un paquete (incluyendo Apache) versión instalada en un sistema basado en Debian, podemos utilizar:
apt-cache policy <package_name>
por ejemplopara Apache
apt-cache policy apache2
que mostrará algo así como (mirar la línea 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
He intentado ejecutar el comando "httpd -V" y "apachectl -V", pero no pude ejecutar y estaba recibiendo el error:
-ksh: php: not found [No such file or directory]
Luego probé de otra manera. Fui al directorio de Apache en mi servidor y luego trató de ejecutar el comando:
./apachectl -v
Esto funcionó para mí y volví la salida:
Server version: Apache/2.2.20 (Unix)
Server built: Sep 6 2012 17:22:16
espero que esto ayude.
El comando varía según la forma en que su versión de Linux haya denominado el Servidor Apache.
En Debian y Mac OS:
apachectl -v
En Red Hat y Amazon EC2 Linux utilizan:
httpd -v
En otras verisons de Linux Proveedores:
apache2 -v
Se puede utilizar dos banderas diferentes:
-v # gives you the version number
-V # gives you the compile settings including version number.
Si desea ejecutar el comando con el directorio completo como user3786265 hice, pero no sabe dónde se encuentra su Apache, utilice el comando whereis
:
whereis httpd
Brillante. Su respuesta cubre la gama de entornos de servidor en los que uno podría estar tratando de encontrar la versión de Apache. Si fuera mi pregunta, habría marcado esto como * la respuesta *. Quizás lo único que sugiero agregar a su respuesta son los caminos comunes. En algunos entornos, el comando puede no estar en $ PATH, por lo que las personas que prueban estos comandos pueden quedarse atascadas. p.ej. En mi entorno Debian, tuve que usar '$/usr/sbin/apache2 -v' porque solo' $ apache2 -v' devuelve 'comando no encontrado'. Este comando ayudará a los usuarios a encontrar la ruta a apache, si es necesario: 'ps -ef | grep apache' – inspirednz
'apache2 -v' también funciona en Debian (al menos [Debian 8] (https://en.wikipedia.org/wiki/Debian#Release_timeline) (Jessie) en Raspberry Pi). –
dlocate -s apache2 | grep '^Version:'
Algunas instalaciones de Apache son fubar (piense en el paquete de Oracle, OHS) y no comprende el indicador -V, ni puede invocarse directamente sin tener que encontrar errores de biblioteca faltantes.
La manera más fácil es usar el comando strings
(parte de binutils
) en httpd binary y grep para una cadena que podría parecerse a una versión. Por ejemplo, asumiendo que su httpd
binario es en el directorio /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 mayoría de los binarios (no todos) contienen su versión (al menos su versión principal) como cadenas estáticas. Esta es mi go-a manera de conseguir versiones (o para corroborar lo que coincide con el mensaje de ayuda de un binario de lo que la realidad sobre el terreno es en realidad.)
¿No se requiere 'httpd' para estar en el directorio actual para que esto funcione? –
Esto me ayudó a encontrar mi versión anterior en mi antigua raíz montada desde la nueva instalación de Ubuntu. Vale la pena mencionar: "strings" es parte del paquete "binutils" – Zefiro
@PeterMortensen, sí. Supongo que mi ejemplo suponía que httpd estaría en el directorio actual (y que el lector lo deduciría del ejemplo y lo ajustaría según fuera necesario). * Estoy editando mi respuesta ahora para reflejar eso *. –
Usted puede utilizar apachectl -V
o apachectl -v
. ¡Ambos devolverán la información de la versión de 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"
Usted puede ser más como el uso de apache2 -V
o apache2 -v
. ¡Parece más fácil de recordar!
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"
escribir Seguramente /usr/sbin/apache2 -v en la cáscara es la mejor y más rápida manera de ir, por cierto aquí es otra opción, por si acaso también hay PHP en su servidor y le interesa recopilar la versión de Apache (y mucha más información) en pasos programáticos rápidos.
Simplemente crea un archivo info.php en la carpeta raíz del servidor web Apache (o lo que quieras) y escribir estos en su interior:
<?php
phpinfo();
?>
Ahora ve a yoursite.com/info.php (o localhost/info.php para máquinas locales).
verá su versión de Apache en variables PHP sección, aquí está un ejemplo:
Además, tenga en cuenta que estos pasos, obviamente, se aplican a cualquier servidor web con la integración de PHP, por lo que no está limitado a Apache y una vez creado, esa página podría ser útil mientras se desarrolla (¡simplemente no olvides eliminarla en entornos de producción!)
Creo que debes estar seguro de qué tipo de instalación tiene binario o fuente. Para comprobar qué paquetes binarios están instalados: con derechos de root execute siguiente comando:
dpkg -l |grep apache2
resultado debería ser algo como:
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)
Para encontrar la versión se puede ejecutar:
apache2ctl -V |grep -i "Server version"
resultado debería ser algo como: Versión del servidor: Apache/2 .4.10 (Debian)
Stack Overflow es un sitio para preguntas de programación y desarrollo. Esta pregunta parece estar fuera de tema porque no se trata de programación o desarrollo. Consulte [Qué temas puedo preguntar aquí] (http://stackoverflow.com/help/on-topic) en el Centro de ayuda. Tal vez [Superusuario] (http://superuser.com/) o [Unix & Linux Stack Exchange] (http://unix.stackexchange.com/) sería un mejor lugar para preguntar. También vea [¿Dónde publico preguntas sobre Dev Ops?] (Http://meta.stackexchange.com/q/134306). – jww