红联Linux门户
Linux帮助

HTTPS证书安装 - 安装到Ubuntu上的Apache (精简步骤)

发布时间:2016-03-11 16:02:00来源:linux网站作者:Rudon滨海渔村

HTTPS证书安装 - SSL certificate from Godaddy 安装到Ubuntu上的Apache


目标

启用https://DEMO.com/


环境

DEMO.com
Ubuntu 14.04
Apache 2
Godaddy SSL


要求和补充

DEMO.com非本地测试网站,否则在获取Godaddy证书时不能通过验证。
现在买SSL证书好像看不到送的独立IP了,不知道是不是要再等段时间。


步骤
======== 购买证书 ===========

0. 【环境】LAMP环境搭建,http://DEMO.com/ 可访问
1. 【模块】给Apache安装mod_ssl.so,参照http://blog.csdn.net/newjueqi/article/details/9789659
2. 【购买】Godaddy SSL证书购买, 注意购买的项目是“Protect One Website”单网站:
https://hk.godaddy.com/en/web-security/ssl-certificate
3. 【管理】进入Godaddy帐号管理:
https://mya.godaddy.com/
4. 【验证】找到最下面的分类“SSL Certificates”,展开,看到“NEW CERTIFICATE“,点击右边的"Manage"
5. 【验证】提供网站的CSR给Godaddy,再点击Next,等待下一步邮件验证,具体CSR获取方法是:
1) 登入自己的VPS的ubuntu,普通用户即可:
cd /tmp/ 
mkdir demo.com 
cd demo.com 
openssl req -new -newkey rsa:2048 -nodes -keyout demo.key -out demo.csr 
# 这里会问一堆问题,包括公司名称等,注意: 
# (1) Common name需要填写域名,例如DEMO.com 
# (2) Email要填写你能登录的邮箱 

2) 现在有两个新的文件,demo.key和demo.csr,打开demo.csr复制所有的内容
6. 【验证】现在到了邮箱验证时间,需要进入邮箱按步骤操作,有时会要求你上传点东西到网站根目录下来验证控制权。期间,当前页面会不停地自动刷新,显示验证进度。
7. 【下载证书】查看这个证书产品的详情页,可以看到下载的按钮,选择自己的系统和服务器类型,开始下载,得到zip压缩包,里面有两个文件:gd_bundle-g2-g1.crt和另一个crt文件,我这个是叫"5d8712B5b9c676ad.crt"


======== 安装证书 ===========

1. 【准备】三个文件
5d8712B5b9c676ad.crt  => 从Godaddy的SSL详情页下载来的zip文件中解压出来,名字会变
demo.key => 自己在Ubuntu里计算CSR文件时,同时生成的那个Key文件(上面的步骤5)
gd_bundle-g2-g1.crt => 从Godaddy的SSL详情页下载来的zip文件中解压出来
(这些关系是试验出来的,Godaddy的帮助文档坑死Ubuntu用户了感觉)
2. 【存放】

mkdir /var/www/certs/ 
cp -p gd_bundle-g2-g1.crt demo.key 5d8712B5b9c676ad.crt /var/www/certs/ 

3. 【安装】修改虚拟域名DEMO.com对应的Apache配置文件,我的是/etc/apache2/sites-available/demo.conf,标签里面添加下面代码的最后面那几行,带SSL的:
(说明:第一段是让http跳到https,第二段是https,重点在最下面)

<VirtualHost *:80> 
ServerName DEMO.com 
RewriteEngine on 
RewriteCond %{HTTPS} off 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} 
</VirtualHost> 

<VirtualHost *:443> 
ServerName DEMO.com 
AssignUserId somebody somebody 
DocumentRoot /var/www/DEMO 
ErrorLog /var/log/apache2/DEMO.log 
<Directory /var/www/DEMO> 
Options -Indexes +IncludesNOEXEC +FollowSymlinks 
allow from all 
AllowOverride All 
AddType application/x-httpd-php5 .php5 
AddType application/x-httpd-php5 .php 
</Directory> 
RewriteEngine on 
RemoveHandler .php 
RemoveHandler .php5 

SSLEngine on 
SSLCertificateFile /var/www/certs/5d8712B5b9c676ad.crt 
SSLCertificateKeyFile /var/www/certs/demo.key 
SSLCertificateChainFile /var/www/certs/gd_bundle-g2-g1.crt 
</VirtualHost> 

4. 【完成】

sudo apache2ctl restart 


错误处理

1.无法重启的话,看看错误提示,里面有日志文件路径,tail一下看看什么错误

Good luck~


本文永久更新地址:http://www.linuxdiyf.com/linux/18832.html