check - Versione di Apache installata su una macchina Debian




web server (15)

Come posso verificare quale versione di Apache è installata su una macchina Debian?

C'è un comando per farlo?


Answers

  1. È possibile utilizzare apachectl -V o apachectl -v . Entrambi restituiranno le informazioni sulla versione di 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. Potrebbe essere più come usare apache2 -V o apache2 -v . Sembra più facile da ricordare!

        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"


Per me apachectl -V non ha funzionato, ma apachectl fullstatus mi ha dato la mia versione.


Puoi anche utilizzare direttamente il gestore pacchetti:

dpkg -l | grep apache

Questo non è focalizzato sul solo numero di versione , ma farà una ricerca più ampia, che ti darà altre informazioni utili, come le versioni dei moduli.


dlocate -s apache2 | grep '^Version:'

Un altro modo per controllare una versione installata di un pacchetto (inclusa Apache) su un sistema basato su Debian, possiamo usare:

apt-cache policy <package_name>

ad esempio per Apache

apt-cache policy apache2

che mostrerà qualcosa di simile (guarda la riga 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

Prova 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 ...

Se non funziona per te, esegui il comando con sudo .


Dovresti usare apache2ctl -v o apache2 -v per le nuove distribuzioni Debian o Ubuntu.

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

oppure puoi usare apache2 -V per ottenere maggiori informazioni.

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....

Sicuramente digitare / usr / sbin / apache2 -v nella shell è il modo migliore e più veloce per andare, tra l'altro ecco un'altra opzione, nel caso ci sia anche PHP nel tuo server e sei interessato a raccogliere la versione di Apache (e molto altro più informazioni) in rapidi passaggi programmatici.

Basta creare un file info.php nella cartella radice Web di Apache (o qualsiasi altra cosa tu voglia) e scriverli al suo interno:

<?php
    phpinfo();
?>

Ora vai su yoursite.com/info.php (o localhost / info.php per le macchine locali).

Vedrai la tua versione di Apache nella sezione Variabili PHP , ecco un esempio:

phpinfo () esempio di pagina di dumping

Inoltre, si noti che questi passaggi si applicano ovviamente a qualsiasi server Web con integrazione con PHP, quindi non è limitato ad Apache e una volta creata tale pagina potrebbe essere utile durante lo sviluppo (non dimenticare di rimuoverlo negli ambienti di produzione !!)


Ho provato a eseguire il comando "httpd-V" e "apachectl -V", ma non ho potuto eseguire e stava ottenendo l'errore:

-ksh: php: non trovato [Nessun file o directory simile]

Poi ho provato un altro modo. Sono andato alla directory Apache sul mio server e poi ho provato ad eseguire il comando:

./apachectl -v

Questo ha funzionato per me e ha restituito l'output:

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

Spero che aiuti.


Penso che devi essere sicuro di quale tipo di installazione hai binario o sorgente. Per verificare quali pacchetti binari sono installati: con i diritti di root eseguire il seguente comando:

dpkg -l |grep apache2

il risultato dovrebbe essere qualcosa come:

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)

Per trovare la versione che è possibile eseguire:

apache2ctl -V |grep -i "Server version"

il risultato dovrebbe essere qualcosa come: Versione server: Apache / 2.4.10 (Debian)


Il comando varia a seconda di come la tua versione di Linux ha chiamato Apache Server.

Su Debian e Mac OS:

apachectl -v

Su Red Hat e Amazon EC2 Linux usa:

httpd -v

Su altre versioni di Linux prova:

apache2 -v

Puoi utilizzare due flag diversi:

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

Se vuoi eseguire il comando con la directory completa come user3786265 ma non sai dove si trova il tuo apache, usa il comando whereis :

whereis httpd

O, meno direttamente:

nmap -A localhost -p 80


Per me funziona su Debian 6 (Squeeze):

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

Dovevo andare sulla buona strada:

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

./apachectl: riga 71: ulimit: file aperti: impossibile modificare il limite: operazione non consentita
Versione server: Apache / 2.2.21 (Unix)
Server realizzato: 17 dicembre 2011 19:57:53


Provalo 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....

In base alle risposte precedenti, ecco un modo alternativo semplice di stampare la versione R, seguito dal nome e dalla versione di ogni pacchetto caricato nello spazio dei nomi. Funziona nel taccuino Jupyter, dove ho avuto problemi con sessionInfo() e R --version .

print(paste("R", getRversion()))
print("-------------")
for (package_name in sort(loadedNamespaces())) {
    print(paste(package_name, packageVersion(package_name)))
}

Su:

[1] "R 3.2.2"
[1] "-------------"
[1] "AnnotationDbi 1.32.2"
[1] "Biobase 2.30.0"
[1] "BiocGenerics 0.16.1"
[1] "BiocParallel 1.4.3"
[1] "DBI 0.3.1"
[1] "DESeq2 1.10.0"
[1] "Formula 1.2.1"
[1] "GenomeInfoDb 1.6.1"
[1] "GenomicRanges 1.22.3"
[1] "Hmisc 3.17.0"
[1] "IRanges 2.4.6"
[1] "IRdisplay 0.3"
[1] "IRkernel 0.5"




apache debian version