การเซ็ตอัพ Secure Web (https://)


การเซ็ตอัพ
Apache 2 มีเครื่องมือ ที่จะทำให้การเซ็ตอัพเป็นไปด้วยความสะดวดขึ้นกว่าเดิมมาก ในที่นี้จะแสดงเฉพาะการทำ secure web ที่ใช้คีย์ที่เราทำเอง ซึ่งเรียกว่า self-signed certificates

1. สร้างไฟล์กำหนด site ใหม่
sut@sutinsserver:~$ sudo su -
root@sutinsserver:~# a2ensite default-ssl
แล้วจะได้ /etc/apache2/sites-enabled/default-ssl
ให้ตรวจดูในนั้นว่ามีสองบรรทัดข้างล่างหรือไม่ ถ้ามัน comment ไว้คือมี # อยู่ข้างหน้า ให้เอาออก
    SSLCertificateFile    /etc/ssl/certs/ssl-cert-snakeoil.pem
    SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
ท่านอาจต้องปรับบางส่วนในนั้น เช่น
    DocumentRoot /var/www/html และ <Directory /var/www/html/> เป็นต้น
2. กำหนด ให้ ssl ทำงาน
root@sutinsserver:~# a2enmod ssl
3. สร้างคีย์ที่เราทำเอง
root@sutinsserver:~# make-ssl-cert generate-default-snakeoil --force-overwrite
ซึ่งมันจะสร้างไฟล์ทั้งสองข้างล่างให้อัตโนมัติ
/etc/ssl/certs/ssl-cert-snakeoil.pem
/etc/ssl/private/ssl-cert-snakeoil.key
4. เริ่มรัน apache ใหม่
root@sutinsserver:~# /etc/init.d/apache2 reload
root@sutinsserver:~# /etc/init.d/apache2 restart
5. ตรวจดู hostname
root@sutinsserver:~# hostname
sutinsserver
6. ทดลอง
ใช้ firefox ต่อไปที่ https://127.0.0.1/
สำหรับเครื่องอื่น ๆ ให้ต่อมาที่ https://IPaddress/
อาจจะปรากฏหน้าต่างขึ้นมาบอกว่า เครื่องเซิร์ฟเวอร์ ใช้ invalid security certificate ให้เรากด OK
จากนั้นในหน้าต่างหลักให้กด ...add an exception --> Add Exception --> Get Certificate
ใส่เครื่องหมานถูกที่ Permanently store this exception แล้วกด Confirm Security Exception
ที่กล่าวมานี้สำหรับ firefox. ถ้าเป็น IE อาจต่างไปบ้าง

7. ต้องการเปลี่ยน hostname เช่นต้องการเปลี่ยนเป็น localhost
root@sutinsserver:~# mkdir /etc/apache2/ssl/
root@sutinsserver:~# make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/cert-file.crt --force-overwrite
ในหน้าต่างคำถามใส่   localhost

root@sutinsserver:~# /etc/init.d/apache2 reload
root@sutinsserver:~# /etc/init.d/apache2 restart

8. อ่านเพิ่มเติม
sut@sutinsserver:~$ cd Desktop
sut@sutinsserver:~/Desktop$ cp /usr/share/doc/apache2.2-common/README.Debian.gz .
sut@sutinsserver:~/Desktop$ gunzip README.Debian.gz
ให้อ่านไฟล์ README.Debian

9. สำหรับ ผู้ที่ต้องการใช้ cerfificate จากบริษัท(CA)  เพื่อดำเนินการทางธุรกิจ
ให้อ่านเพิ่มเติม Ubuntu 9.04 + Apache + SSL