如何确定Apache2上是否安装了OpenSSL和mod_ssl

时间:2009-09-02 12:56:35

标签: ssl apache2

有没有人知道判断OpenSSL和mod_ssl是否安装在Apache2上的命令?

16 个答案:

答案 0 :(得分:28)

如果您的服务器上安装了PHP,您可以创建一个php文件,让我们称之为phpinfo.php并添加此<?php echo phpinfo();?>,然后在浏览器中打开该文件,这将显示有关您的系统环境的信息,要快速查找有关Apache加载模块的信息,请在结果页面上找到“已加载模块”。

答案 1 :(得分:22)

如果您的服务器上安装了PHP,则可以使用“extension_loaded”功能在运行时进行检查。就像这样:

<?php
if (!extension_loaded('openssl')) {
    // no openssl extension loaded.
}
?>

答案 2 :(得分:20)

通常,当您编译apache2服务器(或通过软件包工具安装它)时,您可以通过点击此命令来检查可用的任何指令:

~# $(which httpd) -L | grep SSL # on RHEL/CentOS/Fedora
~# $(which apache2) -L | grep SSL # on Ubuntu/Debian

如果您没有看到任何SSL *指令,则表示您没有编译mod_ssl的apache2。

希望它有所帮助;)

答案 3 :(得分:16)

默认的Apache安装配置为在服务器标题行上发送此信息。您可以使用curl命令为任何服务器查看此内容。

$ curl --head http://localhost/
HTTP/1.1 200 OK
Date: Fri, 04 Sep 2009 08:14:03 GMT
Server: Apache/2.2.8 (Unix) mod_ssl/2.2.8 OpenSSL/0.9.8a DAV/2 PHP/5.2.6 SVN/1.5.4 proxy_html/3.0.0

答案 4 :(得分:12)

使用以下命令。

$ openssl version
OpenSSL 1.0.1e-fips 11 Feb 2013 (or similar output)

对于RHEL / CentOS / Fedora:

$ httpd -t -D DUMP_MODULES | grep ssl
ssl_module (shared)

对于Ubuntu / Debian

$ apache2 -t -D DUMP_MODULES | grep ssl
ssl_module (shared)

对于SUSE

$ httpd2 -t -D DUMP_MODUELS | grep ssl
ssl_module (shared)

答案 5 :(得分:3)

如果您只是在终端中运行openssl,它应该呈现openSSL shell。我知道自己没有mode_ssl的第一个线索就是我在虚拟主机文件中添加SSLEngine on后出现以下错误:

Invalid command 'SSLEngine', perhaps misspelled or defined by a module not included in the server configuration

在centos中,我只需通过yum install mod_ssl

安装它

答案 6 :(得分:3)

确定 openssl &amp;的 ssl_module

# rpm -qa | grep openssl
openssl-libs-1.0.1e-42.el7.9.x86_64
openssl-1.0.1e-42.el7.9.x86_64
openssl098e-0.9.8e-29.el7.centos.2.x86_64
openssl-devel-1.0.1e-42.el7.9.x86_64

mod_ssl的

# httpd -M | grep ssl

# rpm -qa | grep ssl

答案 7 :(得分:3)

使用Apache 2,您可以通过运行以下命令来查看HTTP守护程序当前加载了哪些模块:

apache2ctl -M

-M选项实际上只是传递给 httpd 的参数。

  

apache2ctl是Apache超文本传输​​协议的前端   (HTTP)服务器。它是          旨在帮助管理员控制Apache apache2守护程序的功能。

   NOTE: The default Debian configuration requires the environment variables APACHE_RUN_USER,
   APACHE_RUN_GROUP, and APACHE_PID_FILE to be set in /etc/apache2/envvars.

   The apache2ctl script returns a 0 exit value on success, and >0 if an error  occurs.   For
   more details, view the comments in the script.

答案 8 :(得分:3)

幸运的是,Linux的大多数版本都有OpenSSL&#34;开箱即用&#34;。

验证安装:

openssl version
回应:
OpenSSL 1.0.1t 3 May 2016

注意:版本OpenSSL 1.0.1到1.0.1f(包括)
容易受到OpenSSL Heartbleed Bug的影响。
1.0.1g及更高版本已修复。

有关其他安装信息:

的Ubuntu / Debian的
dpkg -l | grep -i openssl
回应:
ii libcrypt-openssl-random-perl 0.04-2+b1 amd64 module to access the OpenSSL pseudo-random number generator
ii libcurl3:amd64 7.38.0-4+deb8u5 amd64 easy-to-use client-side URL transfer library (OpenSSL flavour)
ii libgnutls-openssl27:amd64 3.3.8-6+deb8u4 amd64 GNU TLS library - OpenSSL wrapper
ii openssl 1.0.1t-1+deb8u6 amd64 Secure Sockets Layer toolkit - cryptographic utility
ii python-ndg-httpsclient 0.3.2-1 all enhanced HTTPS support for httplib and urllib2 using PyOpenSSL
ii python-openssl 0.14-1 all Python 2 wrapper around the OpenSSL library
ii ssl-cert 1.0.35 all simple debconf wrapper for OpenSSL

是的,OpenSSL已经安装好了!

要安装OpenSSL,如果您没有,请尝试:

于Debian / Ubuntu:
sudo apt-get install openssl

的RedHat / CentOS的:
yum install openssl

答案 9 :(得分:2)

你应该安装这个Apache mod http://httpd.apache.org/docs/2.0/mod/mod_info.html,它基本上可以让你了解你正在使用的mod和Apache设置。 我已经在我的Apache上启用了它,它为我的网站提供了这个信息,

服务器版本:Apache / 2.2.3(Debian)mod_jk / 1.2.18 PHP / 5.2.0-8 + etch13 mod_ssl / 2.2.3 OpenSSL / 0.9.8c mod_perl / 2.0.2 Perl / v5.8.8

答案 10 :(得分:2)

只需查看Apache日志目录中的 ssl_engine.log ,您可以在其中找到类似的内容:

[ssl:info] [pid 5963:tid 139718276048640] AH01876: mod_ssl/2.4.9 compiled against Server: Apache/2.4.9, Library: OpenSSL/1.0.1h

答案 11 :(得分:1)

在php命令中验证谎言

 $php -i | grep openssl

答案 12 :(得分:0)

在httpd.conf中启用mod_ssl并重启apache。您将在error.log中看到openssl信息,如下所示

&#13;
&#13;
href="/assets/whatever.css">
&#13;
&#13;
&#13;

答案 13 :(得分:0)

要找到ssl version

  1. 在命令提示符下转到Apache bin文件夹
  2. 输入这些命令“ openssl版本”

答案 14 :(得分:0)

在www文件夹中使用以下代码创建一个test.php文件:

<?php echo phpinfo();?>

在浏览器中导航到该页面/ URL时。如果启用了openssl,将会看到类似的内容:

enter image description here

答案 15 :(得分:-1)

就我而言,这就是我获取信息的方式:

  • 找到apache日志的位置,然后去那里,在我的情况下:

    cd /var/log/apache2

  • 找到可以在哪个日志中找到openssl信息:

    grep -i apache.*openssl *_log

    e.g. error_log ...

  • 获取新信息,重新启动apache,例如

    rcapache2 restart # or service apache2 restart

  • 检查日志中的最后一个条目,例如

    /var/log/apache2 # tail error_log

    [Thu Jun 09 07:42:24 2016] [notice] Apache/... (Linux/...) mod_ssl/2.2.22 OpenSSL/1.0.1t ...