TAG

首都機能移轉 (2) 歌詞 (2) 靠北文 (40) 戲言 (30) 糟糕 (7) ACG (23) Assembly (2) Boost (2) C (31) C++ (69) CMake (4) CSIE (67) Debian (34) Design_Pattern (2) Django (1) Eclipse (1) en_US (13) FFmpeg (3) FoolproofProject (26) FreeBSD (2) Git (4) GNU_Linux (65) IDE (5) Java (11) JavaScript (19) KDE (15) Khopper (16) KomiX (3) Kubuntu (18) Life (1) Lighttpd (2) Mac_OS_X (2) Opera (1) PHP (2) PicKing (2) Programing (21) Prolog (1) Python (7) QSnapshot (2) Qt (30) Qt_Jambi (1) Regular_Expression (1) Shell_Script (7) Talk (98) VirtualBox (7) Visual_Studio (13) Windows (18) zh_TW (36)

2008年4月19日 星期六

Enable SSL on Apache 2.2 at Debian Etch

安裝環境: Debian Etch
需要套件: apache2 openssl ssl-cert
有的文章會叫你去安裝apache-ssl,不過這是1.3的套件,另外一些文章會叫你執行apache2-ssl-certificate,不過這個也已經不包在2.2裡了。
所以說本文的目的是留個紀錄,確保以後我還記得怎麼弄HTTPS。
安裝需要的套件:
# apt-get install apache2 openssl ssl-cert
產生SSL根憑證:
# openssl req $@ -new -x509 -days 365 -nodes -out /etc/apache2/apache.pem -keyout /etc/apache2/apache.pem
這會產生有效期限一年的RSA key,路徑可以自己決定。
接下來會有一段設定根憑證發行資訊的問題,適當的填一下就好了。
-----------
Country Name (2 letter code) [AU]:GB
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:London
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Debian
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:
Email Address []:
-----------
這樣產生出來的根憑證會有警告,因為發行的組織[?]並沒有被公共認可。不過取得認可是要錢的....自己看著辦吧。
為了安全起見,請設定一下private key的權限:
# chmod 600 /etc/apache2/apache.pem
通常apache2已經有編好SSL模組了。所以只要把可用模組link到已用模組就好。
# cd /etc/apache2/mods-enabled/
# ln -s ../mods-available/ssl.* .
因為預設只監聽port 80,你還要讓它監聽port 443,所以更改/etc/apache2/ports.conf,加入:
LISTEN 443
然後到/etc/apache2/sites-available/,修改VirtualHost的設定。我假設你沒有做太複雜的VirtualHost。
直接把原本的設定複製一份出來,然後分別改成:
NameVirtualHost *:80
NameVirtualHost *:443
之後在NameVirtualHost *:443的區段裡加入這兩行:
SSLEngine on
SSLCertificateFile /etc/apache2/apache.pem
然後重新啟動Apache2就好了。記得自己打開443的防火牆。

沒有留言:

張貼留言