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
を付けてコマンドを実行します。
これは私のDebianにも当てはまります。
$ /usr/sbin/Apache2 -v
新しいDebianの場合は、Apache2ctl-vまたはApache2 -vを使用する必要があります。 Ubuntuディストリビューション.
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....
私は Red Hat Linux を使用していて、次のコマンドが動作します。
httpd -V
このコマンドは、使用している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
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
これはバージョン番号だけに焦点を当てているわけではありませんが、検索範囲が広がるため、モジュールバージョンなどの他の有用な情報が得られます。
私にとっては、これは Debian 6 (Squeeze)で動作します。
Linux www809 2.6.26-2-xen-686#1 SMP水9月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"
コマンド "httpd -V"と "apachectl -V"を実行しようとしましたが、実行できず、エラーが発生しました。
-ksh:php:見つかりません[そのようなファイルまたはディレクトリはありません]
それから私は別の方法を試しました。私は自分のサーバーのApacheディレクトリに行き、それからコマンドを実行しようとしました:
./apachectl -v
これは私のために働き、出力を返しました:
Server version: Apache/2.2.20 (Unix)
Server built: Sep 6 2012 17:22:16
これが役に立つことを願っています。
Debianベースのシステムにパッケージ(Apacheを含む)がインストールされているバージョンを確認するもう1つの方法は、次のとおりです。
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
Apacheのいくつかのインストールでは、(Oracleのそれをパッケージ化したものと考えています。OHS)、-Vフラグを理解していません。また、見つからないライブラリエラーが発生することなく直接起動することもできません。
最も簡単な方法は、httpdバイナリとgrepでstrings
コマンド(binutils
の一部)をバージョンに似た文字列として使用することです。たとえば、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
ほとんどのバイナリ(全部ではありません)は静的文字列としてそれらのバージョン(少なくともそれらのメジャーバージョン)を含んでいます。これは私がバージョンを手に入れようとしている方法です(あるいはバイナリのヘルプメッセージが実際に現実のものと一致していることを裏付けるものです)。
私にとってapachectl -V
は動作しませんでしたが、apachectl fullstatus
は私に私のバージョンを与えてくれました。
または、それほど直接的ではありません。
nmap -A localhost -p 80
PHPがある場合は、シェルに/ usr/sbin/Apache2 -vと入力するのが最善かつ最速の方法です。あなたのサーバーでも、あなたは素早いプログラムのステップでApacheバージョン(そしてもっと多くの情報)を集めることに興味があります。
ApacheのWebルートフォルダ(または好きなもの)にinfo.phpファイルを作成して、その中に次のように記述するだけです。
<?php
phpinfo();
?>
yoursite.com/info.php(またはローカルマシンの場合はlocalhost/info.php)に進んでください。
ApacheのバージョンはPHP変数のセクションにあります。ここに例があります。
また、これらの手順はPHPの統合がある任意のWebサーバーに明らかに適用されるので注意してください。開発中に便利です(本番環境では必ず削除してください)。
dlocate -s Apache2 | grep '^Version:'