Linux_install mod_ssl openssl apache
1、下载 mod_ssl 和 apache
登入http://www.modssl.org/source/,下载
mod_ssl-2.8.31-1.3.41.targz;
2.8.31是mod_ssl版本号;1.3.41是apache版本号(mod_ssl和apache是一一对应的)
apache_1.3.41.tar.gz (https://archive.apache.org/dist/httpd/)
2、下载openssl
openssl-0.9.6.tar.gz (http://www.openssl.org/source/openssl-0.9.6.tar.gz)
[注意:
将下载好的压缩包统一放在/usr/local/src/下(便于管理接下来的配置)]
解压
tar zxvf *.tar.gz
安装
一、配置apache
# cd /usr/local/src/apache_1.3.41
# ./configure --prefix=/usr/local/apache
二、编译openssl
# cd ../openssl-0.9.6
# ./config --prefix=/usr/local/openssl
[注意:这里是 config 而不是 configure。]
# make
# make test
# make install
make[1]: gcc: Command not found, download gcc http://ftp.gnu.org/gnu.
三、配置mod_ssl
# cd ../mod_ssl-2.8.31-1.3.41
# ./configure --with-apache=../apache_1.3.41
四、编译apache
# cd ../apache_1.3.41
# SSL_BASE=../openssl-0.9.6
#./configure --prefix=/usr/local/apache --enable-module=ssl --enable-shared=ssl
# make
五、生成CA
# make certificate TYPE=custom
这一步要生成你自己的 CA (如果你不知道,我也不能细说了,简单地 说就是认证中心),和用它来为你的服务器签署证书。 有很多东西要输入。
______________________________________________________________________
STEP 0: R选择算法,使用缺省的 RSA
______________________________________________________________________
STEP 1: 生成 ca.key,CA的私人密钥
______________________________________________________________________
STEP 2: Generating X.509 certificate signing request for CA [ca.csr]
You are about to be asked to enter information that will be incorporated
into your certificate request.
(为CA生成X.509的认证请求 ca.csr 要输入一些信息)
Country Name: cn 国家代码,两个字母
State or Provice name: fujain省份
Locality Name: xiamen城市名
Organization Name: home CA 组织名,随便写吧
Organization Unit Name: home CA
Common Name: home CA
Email Address: 365263452@qq.com我的Email
Certificate Validity: 4096 四千多天,够了吧
______________________________________________________________________
STEP 3: Generating X.509 certificate for CA signed by itself [ca.crt]
Certificate Version (1 or 3) [3]:1
______________________________________________________________________
STEP 4: Generating RSA private key for SERVER (1024 bit) [server.key]
(生成服务器的私人密钥,server.key)
______________________________________________________________________
STEP 5: Generating X.509 certificate signing request for SERVER [server.csr]
You are about to be asked to enter information that will be incorporated
into your certificate request.
(生成服务器的认证请求,server.csr 要输入一些信息,和STEP 2类似)
[注意:
Common Name是你的网站域名,如 www.mydomain.com
Certificate Validity不要太大,365就可以了]
Country Name: cn
State or Provice name: fujain
Locality Name: xiamen
Organization Name: home
Organization Unit Name: home
Common Name: home
Email Address: 365263452@qq.com
Certificate Validity: 365
______________________________________________________________________
STEP 6: Generating X.509 certificate signed by own CA [server.crt]
Certificate Version (1 or 3) [3]:1
(为你的服务器签名,得到server.crt)
______________________________________________________________________
STEP 7: Enrypting RSA private key of CA with a pass phrase for security [ca.key]
(为你的 ca.key加密)
Encrypt the private key now? [Y/n]: y
______________________________________________________________________
STEP 8: Enrypting RSA private key of SERVER with a pass phrase for security [server.key]
(为你的 server.key加密)
Encrypt the private key now? [Y/n]: y
六、apache安装
# make install
七、配置http.conf
# vi /usr/local/apache/conf/httpd.conf
修改BindAddress 和 ServerName 加入关于PHP4的行 .如果要改变 DocumentRoot 要记得把httpd.conf里SSL Virtual Host Context部分的DocumentRoot设定也改掉。
SSLCertificateFile和SSLCertificatKeyFile的设定也在 SSL Virtual Host Context部分。 它可能是这样设定的:
SSLCertificateFile /usr/local/apache/conf/ssl.crt/server.crt
SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/server.key
要注意ssl.key ssl.crt等目录和文件的权限! 所有的key,csr,crt,prm文件都应该设为 400 属性!
八、启动https端口
# cd /usr/local/apache
# bin/apachectl startssl
输入密码:ccy123
[错误:
#cd /usr/local/apache/bin
#apachectl startssl]
九、测试
#netstat -tunal |grep 443
linux上浏览器 / window 36浏览器输入:https://localhost/
[注意:
在window上的IE浏览器输入会报错]
虽然在安装MOD_SSL时已经使用 make certificate 命令建立了服务器 的证书签名,但是有时你可能需要改变它。
当然有很多自动的脚本可以实现它,但是最可靠的方法是手工签署 证书。
十、维护
1)/usr/local/openssl/bin加入 执行文件查找路径。
2)将MOD_SSL的源代码目录树下的pkg.contrib目录中,文件名为 sign.sh拷贝到 /usr/local/openssl/bin 中
十一、创建CA
1)先建立一个 CA 的证书,首先为 CA 创建一个 RSA 私用密钥
#cd /usr/local/openssl/bin
#openssl genrsa -des3 -out ca.key 1024
#chmod 400 ca.key(生成 ca.key 文件属性改为400,并放在安全的地方)
#openssl rsa -noout -text -in ca.key(查看ca.key内容)
2)利用 CA 的 RSA 密钥创建一个自签署的 CA 证书(X.509结构)
#openssl req -new -x509 -days 3650 -key ca.key -out ca.crt
然后需要输入下列信息:
Country Name: cn
State or Province Name: fujain
Locality Name: xiamen
Organization Name: Family home
Organizational Unit Name: home
Common Name: home
Email Address: 365263452@qq.com
#chmod 400 ca.crt
#openssl x509 -noout -text -in ca.crt
十二、创建服务器证书签署请求
1)首先为你的 Apache 创建一个 RSA 私用密钥:
#openssl genrsa -des3 -out server.key 1024
#chmod 400 server.key
#openssl rsa -noout -text -in server.key
2)用server.key 生成证书签署请求 CSR.
#openssl req -new -key server.key -out server.csr
#openssl req -noout -text -in server.csr
3)下面可以签署证书了,需要用到脚本 sign.sh
#./sign.sh server.csr(可以得到server.crt)
#chmod 400 server.crt
#rm server.csr
十三、最后apache设置
如果你的apache编译参数prefix为/usr/local/apache,
拷贝server.crt 和 server.key 到 /usr/local/apache/conf .
修改httpd.conf 将下面的参数改为:
SSLCertificateFILE /usr/local/apache/conf/server.crt
SSLCertificateKeyFile /usr/local/apache/conf/server.key
十四、开启
#apachectl startssl
[注意:
配置修改后,必须重启apache才生效]
Linux_install mod_ssl openssl apache的更多相关文章
- 腾讯云CentOS Apache开启HTTPS
1.申请SSL证书 https://console.qcloud.com/ssl?utm_source=yingyongbao&utm_medium=ssl&utm_campaign= ...
- CentOS 6下Apache的https虚拟主机实践
题目:1.建立httpd服务器,要求: 提供两个基于名称的虚拟主机: (a)www1.buybybuy.com,页面文件目录为/web/vhosts/www1:错误日志为/var/log/httpd/ ...
- apache和nginx开启https
1.安装mod_ssl和openssl yum -y install mod_ssl openssl 2.建立服务器密钥 mkdir /etc/httpd/conf.d/ssl.key/ cd /et ...
- CentOS下Apache安装SSL
https是一个安全的访问方式,数据在传输过程中是加密的.https基于ssl. 一.安装apache和ssl模块1.安装apacheyum install httpd2.安装ssl模块yum ins ...
- Apache 配置HTTPS协议搭载SSL配置
在设置Apache + SSL之前, 需要做: 安装Apache, 请参见: Windows环境下Apache的安装与虚拟目录的配置, 下载安装Apache时请下载带有ssl版本的Apache ...
- 《Apache数据传输加密、证书的制作》——涉及HTTPS协议
首先了解http和https: HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议. HTTPS和HTTP的区别: http是超文本传输协议,信息是明 ...
- apache http添加证书转成https
使用yum安装的apache. 第一步,需要把准备好的证书上传到服务器.具体位置:/app/cacerts/ 第二步,安装ssl. 命令:yum install mod_ssl openssl 安装完 ...
- centos7基于SVN+Apache+IF.svnadmin实现SVN的web管理
一.介绍 本文介绍的是CentOS7上搭建基于Apache.SVN Server.iF.svnadmin实现web后台可视化管理SVN. iF.SVNAdmin应用程序是Subversion授权文件基 ...
- windows Apache 环境下配置支持HTTPS的SSL证书
windows Apache 环境下配置支持HTTPS的SSL证书 1.准备工作 1)在设置Apache + SSL之前, 需要做: 安装Apache, 下载安装Apache时请下载带有SSL版本的A ...
随机推荐
- Merge Two Sorted Lists—LeetCode
Merge two sorted linked lists and return it as a new list. The new list should be made by splicing t ...
- dos 下 注册win 组件 ocx 后缀的
C:\WINDOWS\system32>regsvr32 NTGraph.ocx
- 《SDN核心技术剖析和实战指南》3.1控制器核心技术读书笔记
在SDN的架构中,控制器可以说是SDN的核心,它负责对底层转发设备的控制以及向上层应用提供可编程性的北向接口.从实现上看,主要分三个层面来考虑,南向接口技术,北向接口技术以及东西向的可扩展性能力.下面 ...
- B - The Accomodation of Students - hdu 2444(最大匹配)
题意:现在有一些学生给你一下朋友关系(不遵守朋友的朋友也是朋友),先确认能不能把这些人分成两组(组内的人要相互不认识),不能分的话输出No(小写的‘o’ - -,写成了大写的WA一次),能分的话,在求 ...
- MyBatis(3):SQL映射
前面学习了config.xml,下面就要进入MyBatis的核心SQL映射了,第一篇文章的时候,student.xml里面是这么写的: 1 2 3 4 5 6 7 8 9 10 11 <?xml ...
- jsp servelet
servlet是java web应用程序. 1.生命周期:init() .service().destroy()方法. 其中service()包括 doGet() .doPost()方法.默认为get ...
- Git常用命令清单
创建 在指定目录创建工作仓库,未指定时在当前目录 git init [dir] 创建不包含工作区的仓库 git init --bare 克隆远程仓库到本地 git clone url 配置 git c ...
- iOS键盘覆盖输入框的处理.doc
在一个多项输入界面上,会有多个UITextfield类型的输入框.为了滚动方面,我们会将他们一一添加到UITableView的cell中,从而组成一个可以上下滑动的数据输入界面. 但是字符输入是通过系 ...
- SKShapeNode类
继承自 SKNode:UIResponder:NSObject 符合 NSCoding(SKNode)NSCopying(SKNode)NSObject(NSObject) 框架 /System/L ...
- Com原理及應用——Com對象和接口
1.COM对象的理解 COM对象类似于C++语言中类的概念,类的每个实例代表一个COM对象,它也包括属性(即状态)和方法(即操作),状态反映对象的存在,方法就是接口. 2.COM对象的标识-CLSID ...