[Linux]如何設定apache2+SSL[已解決]

phpBB-TW Knowledge Base
收集網友們在竹貓所發表的教學主題或文章,以利分享!
(僅供瀏覽,由版主群維護)
回覆文章
ETERNAL
星球公民
星球公民
文章: 297
註冊時間: 2002-01-23 11:23

[Linux]如何設定apache2+SSL[已解決]

文章 ETERNAL »

因為工作需求,我需要讓網站跑SSL

我的環境是\r
red hat9.0
apache 2.0.48 + resin 2.1.12

在憑證的部分已經ok,網際威信也已經核發憑證給我
但是在apache方面\r
花了兩天嘗試,一直無法順利讓443 port起來
使用netstat -nl去查看,只有80 port跑的起來
我是使用apache startssl來啟動apache
中間也無錯誤訊息\r

問了google也只丟給我apache1.3+SSL的範例
在apache2.0的官方document也是看的一頭霧水 :cry:
ETERNAL
星球公民
星球公民
文章: 297
註冊時間: 2002-01-23 11:23

文章 ETERNAL »

我把苦了3天的安裝心得分享給各位
ps.Red hat9的openssl-0.9.7a有bug,記得安裝新版的openssl..
----------------------------------------
1.下載原始檔
Apache: 例如 httpd-2.0.48.tar.gz(http://www.apache.org)
OpenSSL: 例如 openssl-0.9.7c.tar.gz (http://www.openssl.org)

2.進行解壓縮\r
命令如下:
#tar xzvf httpd-2.0.48.tar.gz
#tar xzvf openssl-0.9.7c.tar.gz

4.接下來進行 OpenSSL 的安裝設定
# cd openssl-0.9.7c (進入解壓縮後的 openssl source 資料夾中)
# ./config --prefix=/usr/local --openssldir=/usr/local/openssl
#make
#make install


7.最後的安裝 Apache
#cd httpd-2.0.48 (進入解壓縮後的 apache 原始檔資料夾)
#./configure --prefix=/usr/local/apache --enable-so --enable-ssl --with-ssl=/usr/include
#make (編譯)
#make install (編譯完成執行安裝)


(三).產生及安裝憑證
1.完成以上軟體的安裝後, 我們便可開始進行憑證申請及安裝, 其程序大致如下:
1) 產製金鑰對
2) 產生憑證申請檔
3) 至網際威信申請憑證
4) 安裝憑證

2.接著, 請開始產製金鑰對, 為了有系統管理金鑰及憑證, 請在您安裝 apache 的資料夾中, 建立一新子目錄, 例如 certs, 並切換到該資料夾中

3.請輸入如下的命令, 產製金鑰對
#openssl genrsa –des3 –out mykeys.key 1024
參數說明: genrsa 表示使用 RSA 演算法產製金鑰\r
-des3 表示使用 DES3 加密演算法
-out mykeys.key 表示輸出的檔案為何, 檔名及路徑可自定
1024 表示金鑰對長度為 1024 (建議使用)
% 您可以另外使用 openssl genrsa ? 看其全部的參數\r
接著, 會出現 Generating RSA Private key, 1024 long module…至\r
Enter PEM pass phrase: (請在此輸入金鑰對密碼)

注意, 請特別保留該組密碼, 其作為將來啟動 Apache + SSL 時的密碼, 一旦遺失, 則便無法啟動

4.完成後, 便建立好金鑰對了, 您可以看到在所設定路徑下會有個金鑰對的檔案, 如本例子為 mykeys.key, 接著, 請輸入如下命令, 以產生 CSR 檔
#openssl req –new –key mykeys.key –out mysite.csr
參數說明: req 表示要產生 CSR 檔
-new 新的檔案
-key mykeys.key 金鑰對檔案的路徑及檔名
-out mysite.key 所產生的 CSR 檔案的路徑及檔名
接著, 會出現 Enter PEM pass phrase: (請輸入先前設定好的密碼)

之後, 便須開始輸入一些相關資料如下(請輸入英數字, 不可有任何特殊字元):
Country Name : TW (請用兩個英文字元表示)
State or Province Name: Taiwan (省份名稱)
Locality Name: Taipei (城市名稱)
Organization Name: (公司名稱)
Organizational Unit Name: (部門名稱)
Common Name: my.website.com.tw (網址名稱, 即公用名稱, 您要使用 SSL 加密的站台名稱)
Email Address: me@localhost.com.tw (網站管理者的email address)
此外, 尚有一些 extra 的資料, 您可不理會, 直接按 Enter 過去即可, 最後即可產生 mysite.csr 檔
請將該 CSR 以文字編輯軟體開啟, 並複製貼上至網際威信 http://www.hitrust.com.tw

5.在憑證核發後, 您會收到一封 Email, 其中包含憑證檔案

6.請將其剪下, 另存成一個文字檔, 檔名自定, 如 mysite.crt, 並放置於剛剛所建立為了管理方便起見的 certs 資料夾中(當然, 您可以依據自己的需要, 放置於您決定的路徑即可)

7.另外, 如果您是申請 VeriSign 128 bits SSL 伺服器數位憑證時, 在 Email 中亦會要求您至如下的網址, 取得中繼憑證, 請記得務必要執行此項動作

8.最後, 您只須修改 Apache 的設定檔 ssl.conf

1)
Listen 443
預設值 443

2)
<VirtualHost _default_:443>

# General setup for the virtual host
DocumentRoot "/var/www/html"
ServerName http://www.ooo.xxx:443
ServerAdmin mymail@mail.com.tw
ErrorLog /usr/local/apache/logs/error_log
TransferLog /usr/local/apache/logs/access_log
設定方式與httpd.conf雷同

3)
# SSL Engine Switch:
# Enable/Disable SSL for this virtual host.
SSLEngine on
預設值 on

4) SSLCertificateFile
/usr/local/apache/certs/mysite.crt
即憑證路徑, 請指向放置憑證檔的路徑

5) SSLCertificateKeyFile
/usr/local/apache/certs/mykeys.key
即私鑰路徑, 請指向放置私鑰檔的路徑

6) SSLCertificateChainFile
/usr/local/apache/certs/intermediate.crt
若您申請 VeriSign 128 bits SSL 伺服器數位憑證, 您務必要設定

9.之後, 您便可重新啟動 apache 了, 命令如下:
#apachectl startssl
在啟動過程中, 會要求您輸入密碼如下:
Enter pass phrase: (請在此輸入您當初產製金鑰對時的密碼)
回覆文章

回到「教學文件庫」