欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

apache安装mod_ssl.so模块解决办法 以及 配置 https ssl 证书 自己亲自做的 有大用 有大大用 有大大大用

下面这个是自己亲自跟着做的 有大用



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

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

1
/etc/httpd/conf       /www/wdlinux/httpd-2.2.22/conf/httpd.conf                                         

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

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

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

下边介绍3中安装方式。

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

先下载对应版本的ssl文件

根据服务器apache版本下载对应版本:apache历史版本下载  (通过 # /www/wdlinux/apache/bin/httpd -v - v 和 # /www/wdlinux/httpd-2.2.22/bin/httpd -v  得到版本均是 2.2.22 , 通过phpinfo 得到 httpd 为 /www/wdlinux/apache/bin/httpd -v(我下载的是2.2.15应该没问题))

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

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

(我的是 /www/wdlinux/httpd-2.2.22/modules/ssl);

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

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

 /www/wdlinux/httpd-2.2.22/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

1
2
./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模块,这个是最简单了 (下面的方法好像不能用 ,会覆盖原来的 apache,等相关配置)

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的站点信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<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-<a href="http://www.pw88.com/soft/85715.html" target="_blank" class="infotextkey">access</a>.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                            

来自  

https://www.pw88.com/teach/seo/297.html



上面的操作就己经能完成了,下面的(

关于 ssl.conf (http-ssl.conf ) 文件的配置文件

可以见 本站搜索 "阿里 ssl 有大用"  "西部 ssl 有大用"

主要就是下面这两个网址 

/node-admin/13095     /node-admin/10453

)可以不用看了 




apache安装mod_ssl.so

很久很久以前,安装Apache的时候,根本没想过将来的某一天会使用到ssl,所以也就没有安装那个模块,结果今天需要用到的时候,却无从下手了。

Apache    

由于在安装Apache的时候,mod_ssl.so这个文件没有被安装,因此决定安装这个文件。安装的方法主要有两种:重新编译安装和加载安装模块。

安装方法1:简单,就是直接重新编译apache,然后加上–enable-ssl,这个方法就不多说了,这里主要介绍方法2。

安装方法2:动态安装。Apache有类似PHP那样动态加载模块的机制,首先使用了网上介绍比较多的方法安装:

注意:下文[apache]表示Apache的安装目录,[source]表示Apache源码目录。

1. 进入 [source]/modules/ssl

2. 执行 [apache]/bin/apxs -a -i -c mod_ssl.c

然后系统会提示安装成功,但是启动httpd的时候却会提示:

httpd: Syntax error on line 146 of [apache]/conf/httpd.conf: Cannot load modules/mod_ssl.so into server: [apache]/modules/mod_ssl.so: undefined symbol: ssl_cmd_SSLPassPhraseDialog

于是上网查了很久的资料,结果却不如人意。最终发现安装mod_ssl.so需要指定openssl的相关信息。

下面是正确的方法:

1. 进入[source]/modules/ssl

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

重启httpd即可。

总结:显然第二种方法是比较麻烦的,因此我郑重推荐使用第一种方法:重新编译apache,加上–enable-ssl选项。

来自  https://www.sbssw.com/install_mod_ssl_with_apache/



linux Apache设置https访问以及加载mod_ssl.so模块以及问题解决

2017年11月08日 21:50:18 丁丁丁梦涛 阅读数:4075                
 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/dmt742055597/article/details/78483654

开始之前的话:                

1.配置好服务器防火墙的443端口规则;                

2.增加阿里云服务器安全组的443端口规则。                


               

1.申请证书【阿里云免费证书】                

1.1登陆阿里云进入控制台                

1.2左侧选择安全 下拉框选择证书服务                

1.3右上角选择购买证书 选择免费 然后立即购买-支付                


               

               

1.4返回证书列表页面 选择补全-填写要配置的域名,设置域名验证类型,我选择文件【不同服务商的话更简单方便】 选择系统生成的csr最后提交

1.5稍等一段时间,下载验证文件上传到指定目录即可

1.6再过一段时间 即会审批证书了【注:域名不要包含敏感字符】


               


               

1.7 第一条证书是正在审核中的 第二条证书是审核通过的,审核通过后 根据web服务器类型选择下载证书                

2.安装证书【linux-apache为例】                

2.1根据阿里提供的安装教程安装


               

2.2根据如上配置 重启apache的时候出错了;原因就是当前apache没有加载mod_ssl.so模块

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

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

2.2.3 cd到服务端的modules/ssl目录;执行命令: apxs -i -c -a -D HAVE_OPENSSL=1 -I /usr/include/openssl -lcrypto -lssl -ldl *.c 即可

2.2.4重启web服务器 service httpd restart即可

2.3至此证书安装完成

3.访问域名                

3.1直接访问域名与https访问试试效果

3.2如果显示的页面不一样 则是因为工作目录不一样导致的,修改httpd-ssl.conf 设置工作目录 重启web服务器即可

4.至此完美结束

安装过程中出现错误及解决方案:                

问题一:                

php安装扩展错误:Cannot find config.m4. Make sure that you run /usr/local/bin/phpize in the top level sourc                

解决方案:                

如果在安装php扩展的时候出现如题的错误:只需到php的安装目录下如:cd /usr/local/php/php-7.0.4/ext/openssl 执行命令:  cp ./config0.m4 ./config.m4 即可解决
               

问题二:                

如果根据以上配置依然不能以https方式访问,请注意服务器防火墙对443端口是否有限制,可以用telnet ip 443 进行检查,其次注意阿里云服务器的安全组是否添加了443端口的配置规则。                

推荐参考:http://blog.csdn.net/weixin_38893715/article/details/72780895                


               

****************************只要思想不滑坡,办法总比困难多****************************                

来自  https://blog.csdn.net/dmt742055597/article/details/78483654                


               

               

linux Apache设置https访问以及加载mod_ssl.so模块

2017年06月16日 18:16:27 保罗森 阅读数:9321                                
 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/slyjit/article/details/73346409

1.申请证书【阿里云免费证书】                                

1.1登陆阿里云进入控制台                                

1.2左侧选择安全 下拉框选择证书服务                                

1.3右上角选择购买证书 

1.4 品牌选择Symantec ,证书类型先选择增强型OV SSL 然后会在这个旁边出现一个免费的DV SSK 然后立即购买-支付                                

                               

1.4返回证书列表页面 选择补全-填写要配置的域名,设置域名验证类型,我选择文件【不同服务商的话更简单方便】 选择系统生成的csr最后提交

1.5稍等一段时间,下载验证文件上传到指定目录即可

1.6再过一段时间 即会审批证书了【注:域名不要包含敏感字符】【点击查看审核不通过的各种原因


                               

1.7 第一条证书是正在审核中的 第二条证书是审核通过的,审核通过后 根据web服务器类型选择下载证书                                

2.安装证书【linux-apache为例】                                

2.1根据阿里提供的安装教程安装

                               

2.2根据如上配置 重启apache的时候出错了;原因就是当前apache没有加载mod_ssl.so模块

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

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

2.2.3 cd到服务端的modules/ssl目录;执行命令: apxs -i -c -a -D HAVE_OPENSSL=1 -I /usr/include/openssl -lcrypto -lssl -ldl *.c 即可

2.2.4重启web服务器 service httpd restart即可

2.3至此证书安装完成

3.访问域名                                

3.1直接访问域名与https访问试试效果

3.2如果显示的页面不一样 则是因为工作目录不一样导致的,修改httpd-ssl.conf 设置工作目录 重启web服务器即可

4.本地搭建https证书申请                                

    4.1 阿里现在的审核还是挺慢的  如果只是为了本地测试 可以自己生成证书

    4.2 win+R 执行cmd 进入到apache/bin目录
                               

    4.3依次执行如下命令

        
                               

  1. >set OPENSSL_CONF=..\conf\openssl.cnf
  2. >openssl genrsa 1024>server.key                                            
  3. >openssl req -new -key server.key>server.csr
  4. >>openssl req -x509 -days 1000 -key server.key -in server.csr > server.crt

                               

        执行完毕之后会在bin目录下生成三个文件 私钥文件(server.key) 证书请求文件(server.csr)以及证书(server.crt)

        将文件复制到apache/conf/X目录下(X为任意名) 修改配置文件httpd.conf:
                               

  1. LoadModule ssl_module modules/mod_ssl.so
  2. Include conf/vhostssl.conf
                               

        修改vhostssl.conf

        
                               

  1. <VirtualHost *:443>                                            
  2. DocumentRoot "D:\x\mobile2"
  3. ServerName x.x.com
  4. <Directory "D:\x\mobile2">                                            
  5. Options FollowSymLinks ExecCGI
  6. AllowOverride All
  7. Order allow,deny
  8. Allow from all
  9. Require all granted
  10. </Directory>                                            
  11. SSLEngine on
  12. SSLCertificateFile "D:\x\Apache\conf\y\server.crt"
  13. SSLCertificateKeyFile "D:\x\Apache\conf\y\server.key"
  14. </VirtualHost>                                            

                               

   
                               

来自  https://blog.csdn.net/slyjit/article/details/73346409 
                               


普通分类: