一、  安装准备

1.    安装Openssl 
要使Apache支持SSL,需要首先安装Openssl支持。推荐下载安装openssl-0.9.8k.tar.gz   
下载Openssl:http://www.openssl.org/source/
       tar -zxf openssl-0.9.8k.tar.gz    //解压安装包   
       cd openssl-0.9.8k                 //进入已经解压的安装包   
       ./config                          //配置安装。推荐使用默认配置   
       make && make install              //编译及安装   
openssl默认将被安装到/usr/local/ssl

2.    安装Apache  
./configure --prefix=/usr/local/apache --enable-so --enable-ssl --with-ssl=/usr/local/ssl --enable-mods-shared=all                               //配置安装。推荐动态编译模块   
make && make install  
动态编译Apache模块,便于模块的加载管理。Apache 将被安装到/usr/local/apache

二、  生成证书请求文件

1.    创建私钥  
在创建证书请求之前,您需要首先生成服务器证书私钥文件。  
cd /usr/local/ssl/bin                    //进入openssl安装目录  
openssl genrsa -out server.key 2048      //运行openssl命令,生成2048位长的私钥server.key文件。如果您需要对 server.key 添加保护密码,请使用 -des3 扩展命令。Windows环境下不支持加密格式私钥,Linux环境下使用加密格式私钥时,每次重启Apache都需要您输入该私钥密码(例:openssl genrsa -des3 -out server.key 2048)。 
  
2.    生成证书请求(CSR)文件   
openssl req -new -key server.key -out certreq.csr   
Country Name:                           //您所在国家的ISO标准代号,中国为CN   
State or Province Name:                 //您单位所在地省/自治区/直辖市   
Locality Name:                          //您单位所在地的市/县/区   
Organization Name:                      //您单位/机构/企业合法的名称   
Organizational Unit Name:               //部门名称   
Common Name:                            //通用名,例如:www.itrus.com.cn。此项必须与您访问提供SSL服务的服务器时所应用的域名完全匹配。   
Email Address:                          //您的邮件地址,不必输入,直接回车跳过   
"extra"attributes                        //以下信息不必输入,回车跳过直到命令执行完毕。 
   
3.    备份私钥并提交证书请求   
请将证书请求文件certreq.csr提交给天威诚信,并备份保存证书私钥文件server.key,等待证书的签发。服务器证书密钥对必须配对使用,私钥文件丢失将导致证书不可用。 
   
三、  安装服务器证书

1.    获取服务器证书中级CA证书 
从邮件中获取中级CA证书:
将证书签发邮件中的从BEGIN到 END结束的中级CA证书内容(包括“-----BEGIN CERTIFICATE-----”和“-----END CERTIFICATE-----”)粘贴到记事本文本文件中。修改文件扩展名,保存为intermediate.crt文件。   
下载中级CA证书:http://www.itrus.com.cn/verisignchina/Service/download/

2.    获取服务器证书   
将证书签发邮件中的从BEGIN到 END结束的服务器证书内容(包括“-----BEGIN CERTIFICATE-----”和“-----END CERTIFICATE-----”) 粘贴到记事本等文本编辑器中,保存为server.crt文件

3.    Apache 2.0.63的配置   
打开apache安装目录下conf目录中的httpd.conf文件,找到   
#LoadModule ssl_module modules/mod_ssl.so   
删除行首的配置语句注释符号“#”   
保存退出。   
打开apache安装目录下conf目录中的ssl.conf文件,找到   
在配置文件中查找以下配置语句   
SSLCertificateFile conf/ssl.crt/server.crt             将服务器证书配置到该路径下   
SSLCertificateKeyFile conf/ssl.key/server.key        将服务器证书私钥配置到该路径下   
#SSLCertificateChainFile conf/ssl.crt/ca.crt          删除行首的“#”号注释符,并将中级CA证书intermediate.crt配置到该路径下   
保存退出,并重启Apache。重启方式:   
进入Apache安装目录下的bin目录,运行如下命令   
./apachectl -k -stop   
./apachectl startssl

4.    Apache 2.2.* 的配置   
打开apache安装目录下conf目录中的httpd.conf文件,找到   
#LoadModule ssl_module modules/mod_ssl.so   
#Include conf/extra/httpd_ssl.conf   
删除行首的配置语句注释符号“#”   
保存退出。   
打开apache安装目录下conf/extra目录中的httpd-ssl.conf文件   
在配置文件中查找以下配置语句   
SSLCertificateFile conf/ssl.crt/server.crt         将服务器证书配置到该路径下   
SSLCertificateKeyFile conf/ssl.key/server.key    将服务器证书私钥配置到该路径下   
#SSLCertificateChainFile conf/ssl.crt/ca.crt      删除行首的“#”号注释符,并将中级CA证书intermediate.crt配置到该路径下   
保存退出,并重启Apache。重启方式:   
进入Apache安装目录下的bin目录,运行如下命令   
./apachectl -k -stop   
./apachectl startssl
通过https方式访问您的站点,测试站点证书的安装配置。 
  
四、  服务器证书的备份及恢复

在您成功的安装和配置了服务器证书之后,请务必依据下面的操作流程,备份好您的服务器证书,以防证书丢失给您带来不便。

1.    服务器证书的备份   
备份服务器证书私钥文件server.key,服务器证书文件server.crt,以及服务器证书中级CA证书文件intermediate.crt即可完成服务器证书的备份操作。 
   
2.    服务器证书的恢复   
请参照服务器证书配置部分,将服务器证书密钥文件恢复到您的服务器上,并修改配置文件,恢复服务器证书的应用。

linux下安装Apache(https) 服务器证书安装配置指南的更多相关文章

  1. Nginx https服务器证书安装步骤

    本文档指导您如何在 Nginx 服务器中安装 SSL 证书. 说明: 本文档以证书名称 www.domain.com 为例. Nginx 版本以 nginx/1.16.0 为例. 当前服务器的操作系统 ...

  2. 【修改端口号】linux下修改apache,nginx服务端口号

    一.linux下修改apache端口号 yum安装后,apache配置文件: /etc/httpd/conf/httpd.conf 找到apache目录下的 httpd.conf, 使用vi 打开,找 ...

  3. linux下修改apache,nginx服务端口号

    一.linux下修改apache端口号 yum安装后,apache配置文件: /etc/httpd/conf/httpd.conf 找到apache目录下的 httpd.conf, 使用vi 打开,找 ...

  4. linux服务器证书安装指引

    下面提供了3类服务器证书安装方法的示例: 1. Apache 2.x 证书部署 1.1 获取证书 Apache文件夹内获得证书文件 1_root_bundle.crt,2_www.domain.com ...

  5. CentOS7安装 Apache HTTP 服务器

    CentOS7安装 Apache HTTP 服务器 时间:2015-05-02 00:45来源:linux.cn 作者:linux.cn 举报 点击:11457次 不管你因为什么原因使用服务器,大部分 ...

  6. 服务器证书安装配置指南(IIS7.0)

    一.  生成证书请求 1.    进入IIS控制台   进入IIS控制台,并选择服务器的服务器证书设置选项.  2.    添加证书请求   进入服务器证书配置页面,并选择“创建证书申请”  3.   ...

  7. 如何在Ubuntu 16.04上安装Apache Web服务器

    转载自:https://www.howtoing.com/how-to-install-the-apache-web-server-on-ubuntu-16-04 介绍 Apache HTTP服务器是 ...

  8. 如何在Ubuntu 18.04上安装Apache Web服务器

    一. apt库安装 1.在终端输入更新检查命令,sudo apt-get update 2. 在更新完成后(如果不想检查更新,也可直接输入此步)输入:sudo apt-get install apac ...

  9. Linux下以tar包的形式安装mysql8.0.28

    Linux下以tar包的形式安装mysql8.0.28 1.首先卸载自带的Mysql-libs(如果之前安装过mysql,要全都卸载掉) rpm -qa | grep -i -E mysql\|mar ...

随机推荐

  1. 无法安装程序包“MIcrosoft.Owin.Security 2.0.2”。您正在尝试将此程序包安装到某个将“.NETFramework,Version=v4.0”作为目标的项目中。

    在VS2010 MVC4项目中,安装NuGet程序包Microsoft.AspNet.SignalR时出现以下错误: 原因是安装的版本是Microsoft.AspNet.SignalR 2.0.2,要 ...

  2. python 内置模块之hashlib、hmac、uuid

    一.hashlib md5和sha算法通过消息摘要算法生成定长的消息摘要,消息摘要算法是不可逆的.但同一段消息通过摘要算法后得到的值是一样的,可一通过比对消息摘要验证数据的完整性. sha算法比MD5 ...

  3. Java读取本地文件进行unicode解码

    工具使用: package test.opservice; import eh.util.MapValueUtil; import java.io.BufferedReader; import jav ...

  4. [原创]PostgreSQL Plus Advanced Server配合crontab实现定时维护工作

    本文要实现的目标1.PostgreSQL定时全备2.定时删除归档WAL文件3.定时删除全备文件4.删除n天之前的数据库日志文件 实验环境操作系统:RHEL 6.3数据库:PostgreSQL Plus ...

  5. return *this和return this的区别

    别跟我说, return *this返回当前对象, return this返回当前对象的地址(指向当前对象的指针). 正确答案为:return *this返回的是当前对象的克隆(当然, 这里仅考虑返回 ...

  6. PDF打印

    问题: Microsoft Excel 不能访问文件“D:\bwms\源代码\Dcjet.BWMS\Dcjet.Bwms.Web\PrintTmp\Check_bwms.xls”. 可能的原因有以下几 ...

  7. 【nodejs】json value出现 undefined 将会无法解析 问题来了

    如果 value 的值就要 undefined  怎处理呢?

  8. github pages

    http://zyip.github.io/facemaker/index echo "hello world" >>hello.htm git init git ad ...

  9. python 笔记总结

    python  3.5 面向对象:类:具有同种属性的对象称为类,是个抽象的概念.比如说:汽车.人.狗.神:对象:日常生活中的所有东西都是对象,是类的实例化.比如说:推土车是汽车的实例化:姚明是人的实例 ...

  10. python学习笔记30(全局变量的两种解决办法)

    先看程序: >>> count = 0 >>> def fuc(count): print count count +=1 >>> for i i ...