博主之前在給公司的虛擬雲主機開啟SSL。經參考兩個博客,總結出以下流程,親測。
<http://blog.csdn.net/newjueqi/article/details/9789659> @2017-04-17
<http://www.cnblogs.com/IT--Loding/p/6071855.html> @2017-04-17
一、安裝Apache
$ sudo apt-get install apache2
使用此方式安裝的APACHE,配置比較分散,一般如下:
默認站點在 /var/www/
配置文件在 /etc/apache2/
日志在 /var/log/apache/
啟動腳本是 /usr/bin/apache2ctl 或者 /etc/init.d/apache2
二、安裝OpenSSL
Ubuntu默認已經安裝了OpenSSL,如果沒安裝:
$ sudo apt-get install openssl
三、創建證書
1、自簽名證書
...... 在此省略 ......
2、第三方CA機構簽署證書
生成此證書,需要向第三方提交一個“生成證書請求文件(CSR)”,生成這個CSR需要兩步:
1) 生成私鑰KEY
2) 生成請求CSR
A、運行如下命令生成私鑰:
$ openssl genrsa -des3 1024 -out server.key
B、生成請求文件
運行如下命令生成證書請求文件(CSR)
$ openssl req -new -key server.key –out server.csr
把這個CSR文件傳給CA機構,然后他們會使用此請求文件生成證書。
(假設叫ca.crt,如果是cert結尾,手動導出64位的crt文件)
四、編輯HTTPS(SSL)配置
0. 轉移證書
$ mkdir /etc/apache2/ssl
$ cp ~/.../server.key /etc/apache2/ssl/.
$ cp ~/.../ca.crt /etc/apache2/ssl/.
1、開啟SSL模塊
$ a2enmod ssl
2、啟用SSL站點
$ a2ensite default-ssl
3、加入監聽端口
$ sudo vim /etc/apache2/ports.conf
編輯Apache端口配置,加入443端口 (HTTPS采用的443端口傳輸數據)
Listen 443
4、配置虛擬主機
編輯default-ssl文件,加入證書對應的主機頭。
$ sudo vim /etc/apache2/sites-enabled/default-ssl.conf
ServerName extend.me
5、配置SSL證書
- 按如下配置:
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/ca.crt
SSLCertificateKeyFile /etc/apache2/ssl/server.key
- 重新啟動Apache
$ sudo service apache2 restart
- 然后在瀏覽器打開 https://extend.me 測試下,會顯示Apache的歡迎頁。
- 可以修改配置文件 /etc/apache2/sites-enabled/default-ssl.conf 內的默認站點路徑。