apache安装mod_ssl.so模块解决办法

2018-07-31 10:17:11 出处:软件园 作者:动力软件园 责任编辑:honhole

下载到apache的ssl证书后,如何使用,ssl证书放在那里,其实很简单和apache的httpd.conf配置文件一样。


首先打开apache的配置文件默认,确认是否安装mod_ssl.so模块,由于各个版本的apache配置略有不同。

/etc/httpd/conf

有些朋友打开httpd.conf文件,里边就没有下边这句,直接懵逼了。如果有就可以直接使用,没有就装。

LoadModule ssl_module modules/mod_ssl.so  
Include conf.d/*.conf


查看是否有上边两句话,有的话把注释#删除了。有没有主要看大家前期的阿帕奇是如何安装的。默认的apache安装是不安装ssl的,没有的话需要我们通过动态编译的方式加载,你也可以重新安装。




下边介绍3中安装方式。



动态编译方式安装:(摘自互联网,我是没看懂,放弃,你们也可以尝试。)


先下载对应版本的ssl文件


根据服务器apache版本下载对应版本:apache历史版本下载

将modules下的loggers,ssl两个文件【一定是两个文件否则出错】放到服务器端apache的modules下


动态编译:无需重新编译apache,使用whereis openssl查找openssl路径,直接进入[source]/modules/ssl;


执行[apache]/bin/apxs -a -i -c -L/usr/lib/openssl/engines/lib -c *.c -lcrypto -lssl -ldl;


如果执行上面的命令失败,请执行以下命令,验证成功

/usr/local/apache24/bin/apxs -a -i -DHAVE_OPENSSL=1 -I/usr/include/openssl -L/usr/lib64/openssl -c *.c -lcrypto -lssl -ldl

这种方式加载之后,在apache的安装目录下的modules目录会生成一个mod_ssl.so,

同时httpd.conf中会增加一行LoadModule php5_module modules/libphp5.so([apache]表示Apache的安装目录,[source]表示Apache源码目录)




重新安装方式:指定安装 对于正在生产的服务器,放弃。

重点是这句话,就像指定路径一样    --enable-ssl

./configure --prefix=/usr/local/httpd --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
--with-pcre=/usr/local/pcre --enable-ssl



YUM方式安装mod_ssl.so模块,这个是最简单了



yum -y install mod_ssl


安装完之后/etc/httpd/conf.d目录下会出现一个ssl.conf文件(httpd.conf里要有这句话Include conf.d/*.conf)。这个文件是重点。


JC2FIOQD)UNCR7]{NH~WF_D.png


是不是很熟悉,这个就是阿里云提供的ssl下载文件,你可以自己指定路径,也可以把证书放在默认的路径。



这文件还需要配置443的站点信息



<VirtualHost _default_:443>
          ServerAdmin webmaster@pw88.com
          DocumentRoot "/wwwwebroot/"
          ServerName pw88.com
          ServerAlias *.pw88.com
          ErrorLog "|/usr/local/sbin/cronolog /log/%Y/%m/%Y-%m-%d-www.xx.com-error.log"
          CustomLog "|/usr/local/sbin/cronolog /log/%Y/%m/%Y-%m-%d-www.xx.com-access.log" combined
              <Directory "/wwwwebroot/www.pw88.com">
                  Options FollowSymLinks
                  AllowOverride None
                  Order allow,deny
                  Allow from all
              </Directory>
      RewriteEngine on
      RewriteCond %{HTTP_HOST} ^xx.com [NC]
      RewriteRule ^/(.*)$ https://www.xx.com/$1 [R=301,NC]
</VirtualHost>



最后 services httpd configtest 测试一下脚本是否存在错误,没有错误ok。重启吧。


153300181810678103996239994569.png

广告
广告
热门软件
3333
() ()
相关软件