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

如何确定Apache2上是否安装了OpenSSL和mod_ssl,ssl,apache2,Ssl,Apache2,有人知道用于确定Apache2上是否安装了OpenSSL和mod_ssl的命令吗?您应该安装此Apache mod,它基本上会提供您正在使用的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默认的Apache安装配置为在服务

有人知道用于确定Apache2上是否安装了OpenSSL和mod_ssl的命令吗?

您应该安装此Apache mod,它基本上会提供您正在使用的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

默认的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

通常,在编译apache2服务器(或通过packages facility stuff安装)时,您可以通过点击以下命令来检查可用的任何指令:

~# $(which httpd) -L | grep SSL # on RHEL/CentOS/Fedora
~# $(which apache2) -L | grep SSL # on Ubuntu/Debian
如果您没有看到任何SSL*指令,这意味着您没有编译带有mod_SSL的apache2


希望有帮助;)

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

如果服务器上安装了PHP,则可以在运行时使用“”函数对其进行检查。就这样,

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

如果您只是在终端中运行
openssl
,它应该显示openssl外壳。我知道自己没有
模式\u ssl
的第一条线索是在我的virtualhost文件中添加
SSLEngine on
后出现以下错误:

Invalid command 'SSLEngine', perhaps misspelled or defined by a module not included in the server configuration
在centos中,我只需通过
yum install mod_ssl

安装它,只需查看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

使用以下命令

$ 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_MODULES | grep ssl
ssl_module (shared)

要确定opensslssl\u模块

# 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


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

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

  • 在我的例子中,找到apache日志所在的位置并转到那里:

    cd/var/log/apache2

  • 查找可在其中找到openssl信息的日志:

    grep-i apache.*openssl*\u日志

    例如错误日志…

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

    rcapache2重启#或服务apache2重启

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

    /var/log/apache2#尾部错误_log

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


幸运的是,大多数版本的Linux都有“开箱即用”的OpenSSL

要验证安装,请执行以下操作:
openssl版本

答复:
OpenSSL 1.0.1t 2016年5月3日

注:OpenSSL 1.0.1至1.0.1f(含)版本
易受OpenSSL Heartbleed错误的攻击。
1.0.1g及更高版本是固定的

有关其他安装信息: Ubuntu/Debian
dpkg-l | grep-i openssl

答复:
ii libcrypt openssl random perl 0.04-2+b1 amd64模块访问openssl伪随机数生成器
ii libcurl3:amd64 7.38.0-4+deb8u5 amd64易于使用的客户端URL传输库(OpenSSL风格)
ii libgnutls-openssl27:amd64 3.3.8-6+deb8u4 amd64 GNU TLS库-OpenSSL包装器
ii openssl 1.0.1t-1+deb8u6 amd64安全套接字层工具包-加密实用程序
ii python ndg httpsclient 0.3.2-1使用PyOpenSSL对httplib和urllib2的所有增强HTTPS支持
ii python openssl 0.14-1围绕openssl库的所有python 2包装器
ii ssl证书1.0.35 OpenSSL的所有简单debconf包装

是的,安装了OpenSSL

要安装OpenSSL(如果您没有),请尝试: Debian/Ubuntu:
sudo apt get安装openssl

RedHat/CentOS:

yum安装openssl

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

[Fri Mar 23 15:13:38.448268 2018][MPU工人:通知][pid 8891:tid 1]AH00292:Apache/2.4.29(Unix)OpenSSL/1.0.2n已配置--恢复正常操作

[Fri Mar 23 15:13:38.448502 2018][core:notice][pid 8891:tid 1]AH00094:命令行:'/opt/apps/apache64/2.4.29/bin/httpd'
查找
ssl版本

  • 在命令提示符下转到Apache bin文件夹
  • 输入以下命令“openssl版本”

  • 在php命令中进行验证

     $php -i | grep openssl
    

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

    <?php echo phpinfo();?>
    
    
    
    当您在浏览器中导航到该页面/URL时。如果启用了openssl,您将看到类似的情况:


    您想要实现什么?我正在尝试安装ssl证书。第一步是,我需要确保已安装OpenSSL和mod_ssl。我假设我有,因为我启用了ssl模块并安装了ssl。然而,当我运行第一个命令:openssl genrsa–des3 1024–out www.mydomain.com.key时,我得到了类似于帮助信息的信息。。因此,我决定在查看命令之前,先尝试确定是否安装了OpenSSl和mod_ssl。希望这能解释
    <?php echo phpinfo();?>