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

 

开始之前的话:

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

2.购买好证书文件,我是沃通证书,准备好证书,这里不演示证书的购买和安装。

3.根据服务器类型下载文件,apache一共有4个文件

这里提供沃通apache安装ssl教程,百度云盘连接:链接:https://pan.baidu.com/s/1okIKQ67PtR82XFYXYhiK7w  提取码:jfj5

4.我的apache是编译安装的,文件目录在/usr/local/apache    按照以上文档设置后发现是缺少mod-ssl.so这个模块的。所以我设置好配置文件后重启服务直接报错

[root@www bin]# ./apachectl -k restart
Syntax error on line 60 of /usr/local/apache/conf/extra/httpd-ssl.conf:
Invalid command 'SSLCipherSuite', perhaps misspelled or defined by a module not included in the server configuration

 

查阅资料发现也的确是这个模块未安装,因为是编译安装的,所以只能下载对应的版本文件上传编译安装这个模块

5.查找自己的apache版本:

[root@www bin]# ./apachectl -v
Server version: Apache/2.2.34 (Unix)
Server built:   Aug  4 2017 04:25:09

 

是apache/2.2.34版本,

6.根据服务器apache版本下载对应版本:apache历史版本下载 (好像要梯子,我是直接香港服务器下载的)

去官网下载对应的版本httpd2.2.34.tar.gz

 

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

[root@www apache]# cd modules/
[root@www modules]# ls  ##这里是没有要上传的两个文件目录
httpd.exp           mod_authn_dbd.so        mod_authz_owner.so  mod_deflate.so     mod_ident.so         mod_mime.so         mod_suexec.so
libphp5.so          mod_authn_dbm.so        mod_authz_user.so   mod_dir.so         mod_imagemap.so      mod_negotiation.so  mod_unique_id.so
mod_actions.so      mod_authn_default.so    mod_autoindex.so    mod_dumpio.so      mod_include.so       mod_reqtimeout.so   mod_userdir.so
mod_alias.so        mod_authn_file.so       mod_cern_meta.so    mod_env.so         mod_info.so          mod_rewrite.so      mod_usertrack.so
mod_asis.so         mod_authz_dbm.so        mod_cgi.so          mod_expires.so     mod_log_config.so    mod_setenvif.so     mod_version.so
mod_auth_basic.so   mod_authz_default.so    mod_dav_fs.so       mod_ext_filter.so  mod_log_forensic.so  mod_speling.so      mod_vhost_alias.so
mod_auth_digest.so  mod_authz_groupfile.so  mod_dav.so          mod_filter.so      mod_logio.so         mod_status.so
mod_authn_anon.so   mod_authz_host.so       mod_dbd.so          mod_headers.so     mod_mime_magic.so    mod_substitute.so
[root@www modules]# ll   ###在这个文件目录下也没有所需的mod_ssl.so模块
total 39248
-rw-r--r-- 1 root root     9377 Aug  4  2017 httpd.exp
-rwxr-xr-x 1 root root 37156191 Aug  4  2017 libphp5.so
drwxr-xr-x 2 root root     4096 Jul  1 15:32 loggers   ##上传好的文件
-rwxr-xr-x 1 root root    29682 Aug  4  2017 mod_actions.so
-rwxr-xr-x 1 root root    42461 Aug  4  2017 mod_alias.so
-rwxr-xr-x 1 root root    26746 Aug  4  2017 mod_asis.so
-rwxr-xr-x 1 root root    31555 Aug  4  2017 mod_auth_basic.so
-rwxr-xr-x 1 root root    75321 Aug  4  2017 mod_auth_digest.so
-rwxr-xr-x 1 root root    28015 Aug  4  2017 mod_authn_anon.so
-rwxr-xr-x 1 root root    33221 Aug  4  2017 mod_authn_dbd.so
-rwxr-xr-x 1 root root    28936 Aug  4  2017 mod_authn_dbm.so
-rwxr-xr-x 1 root root    25020 Aug  4  2017 mod_authn_default.so
-rwxr-xr-x 1 root root    29331 Aug  4  2017 mod_authn_file.so
-rwxr-xr-x 1 root root    32931 Aug  4  2017 mod_authz_dbm.so
-rwxr-xr-x 1 root root    25082 Aug  4  2017 mod_authz_default.so
-rwxr-xr-x 1 root root    32860 Aug  4  2017 mod_authz_groupfile.so
-rwxr-xr-x 1 root root    32531 Aug  4  2017 mod_authz_host.so
-rwxr-xr-x 1 root root    28441 Aug  4  2017 mod_authz_owner.so
-rwxr-xr-x 1 root root    27019 Aug  4  2017 mod_authz_user.so
-rwxr-xr-x 1 root root    96568 Aug  4  2017 mod_autoindex.so
-rwxr-xr-x 1 root root    31153 Aug  4  2017 mod_cern_meta.so
-rwxr-xr-x 1 root root    73833 Aug  4  2017 mod_cgi.so
-rwxr-xr-x 1 root root   185754 Aug  4  2017 mod_dav_fs.so
-rwxr-xr-x 1 root root   345418 Aug  4  2017 mod_dav.so
-rwxr-xr-x 1 root root    56796 Aug  4  2017 mod_dbd.so
-rwxr-xr-x 1 root root    71840 Aug  4  2017 mod_deflate.so
-rwxr-xr-x 1 root root    31959 Aug  4  2017 mod_dir.so
-rwxr-xr-x 1 root root    31867 Aug  4  2017 mod_dumpio.so
-rwxr-xr-x 1 root root    28846 Aug  4  2017 mod_env.so
-rwxr-xr-x 1 root root    37566 Aug  4  2017 mod_expires.so
-rwxr-xr-x 1 root root    60673 Aug  4  2017 mod_ext_filter.so
-rwxr-xr-x 1 root root    48974 Aug  4  2017 mod_filter.so
-rwxr-xr-x 1 root root    55132 Aug  4  2017 mod_headers.so
-rwxr-xr-x 1 root root    33238 Aug  4  2017 mod_ident.so
-rwxr-xr-x 1 root root    47520 Aug  4  2017 mod_imagemap.so
-rwxr-xr-x 1 root root   125357 Aug  4  2017 mod_include.so
-rwxr-xr-x 1 root root    50893 Aug  4  2017 mod_info.so
-rwxr-xr-x 1 root root    83862 Aug  4  2017 mod_log_config.so
-rwxr-xr-x 1 root root    35269 Aug  4  2017 mod_log_forensic.so
-rwxr-xr-x 1 root root    29510 Aug  4  2017 mod_logio.so
-rwxr-xr-x 1 root root    76780 Aug  4  2017 mod_mime_magic.so
-rwxr-xr-x 1 root root    51248 Aug  4  2017 mod_mime.so
-rwxr-xr-x 1 root root   102460 Aug  4  2017 mod_negotiation.so
-rwxr-xr-x 1 root root    41673 Aug  4  2017 mod_reqtimeout.so
-rwxr-xr-x 1 root root   164579 Aug  4  2017 mod_rewrite.so
-rwxr-xr-x 1 root root    39321 Aug  4  2017 mod_setenvif.so
-rwxr-xr-x 1 root root    36386 Aug  4  2017 mod_speling.so
-rwxr-xr-x 1 root root    58503 Aug  4  2017 mod_status.so
-rwxr-xr-x 1 root root    41166 Aug  4  2017 mod_substitute.so
-rwxr-xr-x 1 root root    27954 Aug  4  2017 mod_suexec.so
-rwxr-xr-x 1 root root    30111 Aug  4  2017 mod_unique_id.so
-rwxr-xr-x 1 root root    31342 Aug  4  2017 mod_userdir.so
-rwxr-xr-x 1 root root    37930 Aug  4  2017 mod_usertrack.so
-rwxr-xr-x 1 root root    23067 Aug  4  2017 mod_version.so
-rwxr-xr-x 1 root root    37708 Aug  4  2017 mod_vhost_alias.so
drwxr-xr-x 2 root root     4096 Jul  1 15:32 ssl  ##上传好的文件

 

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

 

[root@www modules]# cd ssl/
[root@www ssl]# ls
config.m4    mod_ssl.mak          ssl_engine_dh.c      ssl_engine_pphrase.c  ssl_expr_parse.c  ssl_scache.c          ssl_util_ssl.c
Makefile.in  NWGNUmakefile        ssl_engine_init.c    ssl_engine_rand.c     ssl_expr_parse.h  ssl_scache_dbm.c      ssl_util_ssl.h
mod_ssl.c    README               ssl_engine_io.c      ssl_engine_vars.c     ssl_expr_parse.y  ssl_scache_dc.c
mod_ssl.dep  README.dsov.fig      ssl_engine_kernel.c  ssl_expr.c            ssl_expr_scan.c   ssl_scache_shmcb.c
mod_ssl.dsp  README.dsov.ps       ssl_engine_log.c     ssl_expr_eval.c       ssl_expr_scan.l   ssl_toolkit_compat.h
mod_ssl.h    ssl_engine_config.c  ssl_engine_mutex.c   ssl_expr.h            ssl_private.h     ssl_util.c
[root@www ssl]# apxs -i -c -a -D HAVE_OPENSSL=1 -I /usr/include/openssl -lcrypto -lssl -ldl *.c 
/usr/local/apache/build/libtool --silent --mode=compile gcc -prefer-pic   -DLINUX -D_REENTRANT -D_GNU_SOURCE -g -O2 -pthread -I/usr/local/apache/include  -I/usr/local/apache/include   -I/usr/local/apache/include  -I/usr/include/openssl -DHAVE_OPENSSL=1  -c -o mod_ssl.lo mod_ssl.c && touch mod_ssl.slo
/usr/local/apache/build/libtool --silent --mode=compile gcc -prefer-pic   -DLINUX -D_REENTRANT -D_GNU_SOURCE -g -O2 -pthread -I/usr/local/apache/include  -I/usr/local/apache/include   -I/usr/local/apache/include  -I/usr/include/openssl -DHAVE_OPENSSL=1  -c -o ssl_engine_config.lo ssl_engine_config.c && touch ssl_engine_config.slo
/usr/local/apache/build/libtool --silent --mode=compile gcc -prefer-pic   -DLINUX -D_REENTRANT -D_GNU_SOURCE -g -O2 -pthread -I/usr/local/apache/include  -I/usr/local/apache/include   -I/usr/local/apache/include  -I/usr/include/openssl -DHAVE_OPENSSL=1  -c -o ssl_engine_dh.lo ssl_engine_dh.c && touch ssl_engine_dh.slo
/usr/local/apache/build/libtool --silent --mode=compile gcc -prefer-pic   -DLINUX -D_REENTRANT -D_GNU_SOURCE -g -O2 -pthread -I/usr/local/apache/include  -I/usr/local/apache/include   -I/usr/local/apache/include  -I/usr/include/openssl -DHAVE_OPENSSL=1  -c -o ssl_engine_init.lo ssl_engine_init.c && touch ssl_engine_init.slo
/usr/local/apache/build/libtool --silent --mode=compile gcc -prefer-pic   -DLINUX -D_REENTRANT -D_GNU_SOURCE -g -O2 -pthread -I/usr/local/apache/include  -I/usr/local/apache/include   -I/usr/local/apache/include  -I/usr/include/openssl -DHAVE_OPENSSL=1  -c -o ssl_engine_io.lo ssl_engine_io.c && touch ssl_engine_io.slo
/usr/local/apache/build/libtool --silent --mode=compile gcc -prefer-pic   -DLINUX -D_REENTRANT -D_GNU_SOURCE -g -O2 -pthread -I/usr/local/apache/include  -I/usr/local/apache/include   -I/usr/local/apache/include  -I/usr/include/openssl -DHAVE_OPENSSL=1  -c -o ssl_engine_kernel.lo ssl_engine_kernel.c && touch ssl_engine_kernel.slo
/usr/local/apache/build/libtool --silent --mode=compile gcc -prefer-pic   -DLINUX -D_REENTRANT -D_GNU_SOURCE -g -O2 -pthread -I/usr/local/apache/include  -I/usr/local/apache/include   -I/usr/local/apache/include  -I/usr/include/openssl -DHAVE_OPENSSL=1  -c -o ssl_engine_log.lo ssl_engine_log.c && touch ssl_engine_log.slo
/usr/local/apache/build/libtool --silent --mode=compile gcc -prefer-pic   -DLINUX -D_REENTRANT -D_GNU_SOURCE -g -O2 -pthread -I/usr/local/apache/include  -I/usr/local/apache/include   -I/usr/local/apache/include  -I/usr/include/openssl -DHAVE_OPENSSL=1  -c -o ssl_engine_mutex.lo ssl_engine_mutex.c && touch ssl_engine_mutex.slo
/usr/local/apache/build/libtool --silent --mode=compile gcc -prefer-pic   -DLINUX -D_REENTRANT -D_GNU_SOURCE -g -O2 -pthread -I/usr/local/apache/include  -I/usr/local/apache/include   -I/usr/local/apache/include  -I/usr/include/openssl -DHAVE_OPENSSL=1  -c -o ssl_engine_pphrase.lo ssl_engine_pphrase.c && touch ssl_engine_pphrase.slo
/usr/local/apache/build/libtool --silent --mode=compile gcc -prefer-pic   -DLINUX -D_REENTRANT -D_GNU_SOURCE -g -O2 -pthread -I/usr/local/apache/include  -I/usr/local/apache/include   -I/usr/local/apache/include  -I/usr/include/openssl -DHAVE_OPENSSL=1  -c -o ssl_engine_rand.lo ssl_engine_rand.c && touch ssl_engine_rand.slo
/usr/local/apache/build/libtool --silent --mode=compile gcc -prefer-pic   -DLINUX -D_REENTRANT -D_GNU_SOURCE -g -O2 -pthread -I/usr/local/apache/include  -I/usr/local/apache/include   -I/usr/local/apache/include  -I/usr/include/openssl -DHAVE_OPENSSL=1  -c -o ssl_engine_vars.lo ssl_engine_vars.c && touch ssl_engine_vars.slo
/usr/local/apache/build/libtool --silent --mode=compile gcc -prefer-pic   -DLINUX -D_REENTRANT -D_GNU_SOURCE -g -O2 -pthread -I/usr/local/apache/include  -I/usr/local/apache/include   -I/usr/local/apache/include  -I/usr/include/openssl -DHAVE_OPENSSL=1  -c -o ssl_expr.lo ssl_expr.c && touch ssl_expr.slo
/usr/local/apache/build/libtool --silent --mode=compile gcc -prefer-pic   -DLINUX -D_REENTRANT -D_GNU_SOURCE -g -O2 -pthread -I/usr/local/apache/include  -I/usr/local/apache/include   -I/usr/local/apache/include  -I/usr/include/openssl -DHAVE_OPENSSL=1  -c -o ssl_expr_eval.lo ssl_expr_eval.c && touch ssl_expr_eval.slo
/usr/local/apache/build/libtool --silent --mode=compile gcc -prefer-pic   -DLINUX -D_REENTRANT -D_GNU_SOURCE -g -O2 -pthread -I/usr/local/apache/include  -I/usr/local/apache/include   -I/usr/local/apache/include  -I/usr/include/openssl -DHAVE_OPENSSL=1  -c -o ssl_expr_parse.lo ssl_expr_parse.c && touch ssl_expr_parse.slo
/usr/local/apache/build/libtool --silent --mode=compile gcc -prefer-pic   -DLINUX -D_REENTRANT -D_GNU_SOURCE -g -O2 -pthread -I/usr/local/apache/include  -I/usr/local/apache/include   -I/usr/local/apache/include  -I/usr/include/openssl -DHAVE_OPENSSL=1  -c -o ssl_expr_scan.lo ssl_expr_scan.c && touch ssl_expr_scan.slo
/usr/local/apache/build/libtool --silent --mode=compile gcc -prefer-pic   -DLINUX -D_REENTRANT -D_GNU_SOURCE -g -O2 -pthread -I/usr/local/apache/include  -I/usr/local/apache/include   -I/usr/local/apache/include  -I/usr/include/openssl -DHAVE_OPENSSL=1  -c -o ssl_scache.lo ssl_scache.c && touch ssl_scache.slo
/usr/local/apache/build/libtool --silent --mode=compile gcc -prefer-pic   -DLINUX -D_REENTRANT -D_GNU_SOURCE -g -O2 -pthread -I/usr/local/apache/include  -I/usr/local/apache/include   -I/usr/local/apache/include  -I/usr/include/openssl -DHAVE_OPENSSL=1  -c -o ssl_scache_dbm.lo ssl_scache_dbm.c && touch ssl_scache_dbm.slo
/usr/local/apache/build/libtool --silent --mode=compile gcc -prefer-pic   -DLINUX -D_REENTRANT -D_GNU_SOURCE -g -O2 -pthread -I/usr/local/apache/include  -I/usr/local/apache/include   -I/usr/local/apache/include  -I/usr/include/openssl -DHAVE_OPENSSL=1  -c -o ssl_scache_dc.lo ssl_scache_dc.c && touch ssl_scache_dc.slo
/usr/local/apache/build/libtool --silent --mode=compile gcc -prefer-pic   -DLINUX -D_REENTRANT -D_GNU_SOURCE -g -O2 -pthread -I/usr/local/apache/include  -I/usr/local/apache/include   -I/usr/local/apache/include  -I/usr/include/openssl -DHAVE_OPENSSL=1  -c -o ssl_scache_shmcb.lo ssl_scache_shmcb.c && touch ssl_scache_shmcb.slo
/usr/local/apache/build/libtool --silent --mode=compile gcc -prefer-pic   -DLINUX -D_REENTRANT -D_GNU_SOURCE -g -O2 -pthread -I/usr/local/apache/include  -I/usr/local/apache/include   -I/usr/local/apache/include  -I/usr/include/openssl -DHAVE_OPENSSL=1  -c -o ssl_util.lo ssl_util.c && touch ssl_util.slo
/usr/local/apache/build/libtool --silent --mode=compile gcc -prefer-pic   -DLINUX -D_REENTRANT -D_GNU_SOURCE -g -O2 -pthread -I/usr/local/apache/include  -I/usr/local/apache/include   -I/usr/local/apache/include  -I/usr/include/openssl -DHAVE_OPENSSL=1  -c -o ssl_util_ssl.lo ssl_util_ssl.c && touch ssl_util_ssl.slo
/usr/local/apache/build/libtool --silent --mode=link gcc -o mod_ssl.la  -lcrypto -lssl -ldl -rpath /usr/local/apache/modules -module -avoid-version    ssl_util_ssl.lo ssl_util.lo ssl_scache_shmcb.lo ssl_scache_dc.lo ssl_scache_dbm.lo ssl_scache.lo ssl_expr_scan.lo ssl_expr_parse.lo ssl_expr_eval.lo ssl_expr.lo ssl_engine_vars.lo ssl_engine_rand.lo ssl_engine_pphrase.lo ssl_engine_mutex.lo ssl_engine_log.lo ssl_engine_kernel.lo ssl_engine_io.lo ssl_engine_init.lo ssl_engine_dh.lo ssl_engine_config.lo mod_ssl.lo
/usr/local/apache/build/instdso.sh SH_LIBTOOL='/usr/local/apache/build/libtool' mod_ssl.la /usr/local/apache/modules
/usr/local/apache/build/libtool --mode=install cp mod_ssl.la /usr/local/apache/modules/
libtool: install: cp .libs/mod_ssl.so /usr/local/apache/modules/mod_ssl.so
libtool: install: cp .libs/mod_ssl.lai /usr/local/apache/modules/mod_ssl.la
libtool: install: cp .libs/mod_ssl.a /usr/local/apache/modules/mod_ssl.a
libtool: install: chmod 644 /usr/local/apache/modules/mod_ssl.a
libtool: install: ranlib /usr/local/apache/modules/mod_ssl.a
libtool: finish: PATH="/usr/local/mysql/bin:/usr/local/php/bin:/usr/local/apache/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/sbin" ldconfig -n /usr/local/apache/modules
----------------------------------------------------------------------
Libraries have been installed in:
   /usr/local/apache/modules     ###库已经安装在这个目录,安装完成

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the '-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the 'LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the 'LD_RUN_PATH' environment variable
     during linking
   - use the '-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to '/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
chmod 755 /usr/local/apache/modules/mod_ssl.so
[activating module `ssl' in /usr/local/apache/conf/httpd.conf]

 

9.再次返回modlues目录可以看到已经安装mod_ssl.so

root@www ssl]# cd ..
[root@www modules]# ls
httpd.exp           mod_authn_dbd.so        mod_authz_user.so  mod_dumpio.so      mod_info.so          mod_setenvif.so    mod_version.so
libphp5.so          mod_authn_dbm.so        mod_autoindex.so   mod_env.so         mod_log_config.so    mod_speling.so     mod_vhost_alias.so
loggers             mod_authn_default.so    mod_cern_meta.so   mod_expires.so     mod_log_forensic.so  mod_ssl.so         ssl
mod_actions.so      mod_authn_file.so       mod_cgi.so         mod_ext_filter.so  mod_logio.so         mod_status.so
mod_alias.so        mod_authz_dbm.so        mod_dav_fs.so      mod_filter.so      mod_mime_magic.so    mod_substitute.so
mod_asis.so         mod_authz_default.so    mod_dav.so         mod_headers.so     mod_mime.so          mod_suexec.so
mod_auth_basic.so   mod_authz_groupfile.so  mod_dbd.so         mod_ident.so       mod_negotiation.so   mod_unique_id.so
mod_auth_digest.so  mod_authz_host.so       mod_deflate.so     mod_imagemap.so    mod_reqtimeout.so    mod_userdir.so
mod_authn_anon.so   mod_authz_owner.so      mod_dir.so         mod_include.so     mod_rewrite.so       mod_usertrack.so

 

10.重启web服务器 ./apachectl -k restart即可 因为我的apache是编译安装的,所以在apache的安装目录下的bin文件目录中执行这个重启命令

[root@www bin]# ./ap
apachectl     apr-1-config  apu-1-config  apxs          
[root@www bin]# ./apachectl -k restart
[root@www bin]# 

11.查看https已经生效。

 

12.最后:如果不是缺少了这个mod_ssl.conf模块的话不能正常加载的话那请一定按照百度云盘分享的apache教程来弄,不要漏过步骤,

                每个apche版本不一样,可能有一些文件命令不一样和路径,但请记住一定按照教程来,通用性比较高,我的版本很低和这个教程有些路径也不太一样。

               但是原理都一样,如果不能成功配置请多检查一下吧,本人亲测可以使用!

posted @ 2019-07-01 16:03  疯刘小三  阅读(4879)  评论(0编辑  收藏  举报