apache2-ssl

!!!BETA!!!
เอามาจาก

Debian Wiki - SubversionApache2SSLHowto
Bug#395823: apache2-ssl-certificate disappeared

ติดตั้ง apache2 กับ ssl
# aptitude install apache2 openssl

เปิดใช้โมดูล ssl
# a2enmod ssl

แก้ให้ apache2 ใช้พอร์ต https คือ 443
# vi /etc/apache2/ports.conf

...
Listen 443

etch รุ่นล่าสุด ชุดคำสั่งสร้างกุญแจของ apache2 ชื่อ apache2-ssl-certificate หายไปแล้ว
ต้องสั่งเองทีละขั้น
# export RANDFILE=/dev/random
# mkdir -p /etc/apache2/ssl
# openssl req $@ -new -x509 -days 365 -nodes -out \
/etc/apache2/ssl/apache.pem -keyout /etc/apache2/ssl/apache.pem

กรอกข้อมูลตามปกติ
...
Country Name (2 letter code) [AU]: <<<--- TH
State or Province Name (full name) [Some-State]: <<<--- Bangkok
Locality Name (eg, city) []: <<<--- Bangkok
Organization Name (eg, company) [Internet Widgits Pty Ltd]: <<<--- Example Co.,Ltd.
Organizational Unit Name (eg, section) []: <<<--- computer
Common Name (eg, YOUR name) []: <<<--- webmaster
Email Address []: <<<--- webmaster@example.com

ป้องกันกุญแจ
# chmod 600 /etc/apache2/ssl/apache.pem

สร้างไฟล์ไซต์ ssl สมมุติชื่อไฟล์ว่า example-ssl โดยเอาโครงมาจากไฟล์ default
# cp /etc/apache2/sites-available/default /etc/apache2/sites-available/example-ssl

ปรับแก้
# vi /etc/apache2/sites-available/example-ssl

NameVirtualHost *:443
<VirtualHost *:443>

...
    SSLEngine on
    SSLCertificateFile /etc/apache2/ssl/apache.pem
    SSLProtocol all
    SSLCipherSuite HIGH:MEDIUM

</VirtualHost>

(ตรงนี้ สามารถเปลี่ยนไดเรกทอรี่ของ ssl ไปยังจุดใดก็ได้ ตามที่เราต้องการ
เช่น ถ้าใช้ svn ไดเรกทอรี่จะเป็น /var/lib/svn/)

สั่งเปิดใช้ไซต์ที่สร้างขึ้น
# a2ensite example-ssl

สั่งเริ่ม apache2 ใหม่
# /etc/init.d/apache2 restart