DebianマシンにインストールされているApacheのバージョンを確認するにはどうすればよいですか?
これを行うためのコマンドはありますか?
DebianマシンにインストールされているApacheのバージョンを確認するにはどうすればよいですか?
これを行うためのコマンドはありますか?
回答:
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 ...
うまくいかない場合は、でコマンドを実行してくださいsudo
。
apache2ctl -V
root権限がないと動作しません(...バージョンを出力しません)。一方、Apache 2.2を搭載したUbuntu 12では動作します。トリッキー。
Debian 7.1
新しいDebianまたはUbuntuディストリビューションでは、apache2ctl -vまたはapache2 -vを使用する必要があります。
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'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....
コマンドは、使用しているLinuxのバージョンでのApacheサーバーの命名方法によって異なります。
DebianおよびMac OSの場合:
apachectl -v
Red HatとAmazonのEC2 Linuxを使用する場合:
httpd -v
Linuxの他のバージョンでは、次のことを試してください。
apache2 -v
2つの異なるフラグを使用できます。
-v # gives you the version number
-V # gives you the compile settings including version number.
user3786265のように完全なディレクトリでコマンドを実行したいが、apacheの場所がわからない場合は、whereis
次のコマンドを使用します。
whereis httpd
$ /usr/sbin/apache2 -v
単に$ apache2 -v
戻るだけなので、使用する必要がありましたcommand not found
。:このコマンドは、必要に応じて、ユーザーが、apacheのパスを見つけるのに役立ちますps -ef | grep apache
apache2 -v
Debian(少なくともRaspberry Pi上のDebian 8(Jessie))でも動作します。
Red Hat Linuxを使用しており、次のコマンドが機能します。
httpd -V
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....
バイナリまたはソースのインストールの種類を確認する必要があると思います。インストールされているバイナリパッケージを確認するには、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)
パッケージマネージャを直接使用することもできます。
dpkg -l | grep apache
これはバージョン番号だけに焦点を合わせているわけではありませんが、より広い範囲で検索が行われ、モジュールのバージョンなど、他の有用な情報が得られます。
dpkg -l apache2 | grep ^ii | awk '{print $3}' | cut -f1 -d-
または もご検討くださいdpkg -l "apache2*" | grep ^ii | awk '{print $3}' | cut -f1 -d- | head -n 1
。
Debianベースのシステムにインストールされているパッケージ(Apacheを含む)のバージョンを確認する別の方法として、次の方法を使用できます。
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
私にとってこれは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)
サーバーの構築:2011年12月17日19:57:53
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'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"
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'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"
私にとってapachectl -V
はうまくいきませんでしたapachectl fullstatus
が、私のバージョンをくれました。
apachectl fullstatus
私にとってはうまくいきませんでした。/usr/sbin/apachectl: 101: /usr/sbin/apachectl: www-browser: not found 'www-browser -dump http://localhost:80/server-status' failed.
(Debian 8-Raspberry Pi上のRaspbian)を入手しました。しかし、apachectl -V
うまくいきました。
Apacheの一部のインストールはfubar(Oracleのパッケージング、OHSと考えてください)であり、-Vフラグを理解していないか、ライブラリが見つからないエラーに遭遇することなく直接呼び出すことができません。
最も簡単な方法は、httpdバイナリstrings
でコマンド(の一部binutils
)を使用し、バージョンに似ている可能性がある文字列に対して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
ほとんどのバイナリ(すべてではない)には、静的な文字列としてバージョン(少なくともメジャーバージョン)が含まれています。これは、バージョンを取得するための(またはバイナリのヘルプメッセージが実際に実際にあるものと一致することを裏付ける)ための私の頼りになる方法です。
httpd
これが機能するために、現在のディレクトリにある必要はありませんか?
または、直接より少なく:
nmap -A localhost -p 80
-bash: nmap: command not found
確かに/ usr / sbin / apache2 -vをシェルに入力するのが最善で最も速い方法です。サーバーにPHPがあり、Apacheバージョン(および多くの詳細情報)簡単なプログラム手順。
ただ、作るinfo.php ApacheのWebルートフォルダ(またはものは何でもあなたのような)でファイルをし、その中にこれらを記述します。
<?php
phpinfo();
?>
次にyoursite.com/info.php(またはローカルマシンの場合はlocalhost / info.php)にアクセスします。
PHPの変数セクションにApacheのバージョンが表示されます。次に例を示します。
また、これらの手順はPHP統合を備えたすべてのWebサーバーに適用されるので、Apacheに限定されないことに注意してください。一度作成すると、そのページは開発中に便利です(本番環境では削除することを忘れないでください)。