Sun in the woods

ก่อนจะทำตามบทความนี้ ทางที่ดีควรจะมีความรู้เรื่อง virtual host ก่อน อ่านได้ที่บทความนี้ วิธีสร้าง Virtual host เมื่อติดตั้ง SSL แล้วเราจะสามารถใช้งานเว็บในรูปของ https ได้ ในบทความนี้ผมใช้ appserv 2.5.10 ถึงเป็นเวอร์ชั่น 6 ผมก็ว่าวิธีการคงไม่แตกต่างกัน (เดาล้วนขอบอก ไม่มีเวลาทดลอง ใครว่างก็ทดลองหน่อยละกัน)  กระบวนการมันจะแบ่งเป็นขั้นตอนหลักๆตามนี้ครับ

  1. สร้างใบเซอร์ทิฟิเคท (เขียนถูกหรือเปล่าไม่รู้ certificate)
  2. เรียกใช้งาน

สร้างใบเซอร์ทิฟิเคท

ตัว appserv มันมาพร้อมกับโปรแกรมที่ชื่อ openssl ตัวนี้แหละที่ไว้ใช้สร้างใบเซอร์ แต่ต้องเรียกผ่าน DOS เริ่มเลยละกันครับ

1.  เปิด command prompt (ชื่ออย่างเป็นทางการของไอ้หน้าต่างดำๆ) ขึ้นมา ไปที่

C:\AppServ\Apache2.2\conf

ssl-01

2. พิมพ์คำสั่งตามข้างล่าง เพื่อสร้างไฟล์ csr กับไฟล์ pem ผมตั้งชื่อมันทั้งคู่ว่า wordpress (งานนี้ผมรันเวิร์ดเพรส ตั้ง virtual host ว่า wordpress) เมื่อมันสร้างไฟล์เสร็จมันจะให้เราป้อนรหัสผ่าน มันจะเอาไปเข้าหรัสมั้ง ตั้งไปตามที่อยากจะตั้งได้เลย

..\bin\openssl req -config openssl.cnf -new -out wordpress.csr -keyout wordpress.pem

ssl-02

3. ในขั้นตอนนี้มันจะให้ป้อนข้อมูลหลายอย่าง ท่านสามารถ enter ผ่านๆไปได้ยกเว้น 2 ตัว ต้องป้อน
PEM Passphrase: ป้อนรหัสผ่าน ตั้งเป็นอะไรก็ได้
Common Name: ป้อนชื่อโฮส (ชื่อที่เราตั้งเป็น virtual host)
ssl-03

4. enter มาเรื่อยๆ จนมันไม่ถามอะไรแล้ว
ssl-04

5. ป้อนคำสั่งตามด้านล่าง

..\bin\openssl rsa -in wordpress.pem -out wordpress.key

ssl-05

6. ป้อนคำสั่งตามด้านล่าง

..\bin\openssl x509 -in wordpress.csr -out wordpress.crt -req -signkey wordpress.key -days 365

ssl-06

เป็นอันว่ากระบวนการสร้างใบเซอร์เราเรียบร้อย

เรียกใช้งาน

1. เปิดไฟล์ httpd.conf ขึ้นมา (เก็บอยู่ที่ C:\AppServ\Apache2.2\conf)

2. เอาเครื่องหมาย # หน้า LoadModule ssl_module modules/mod_ssl.so ออก
ssl-07

3. เอาเครื่องหมาย # หน้า Include conf/extra/httpd-ssl.conf ออก
ssl-08

4. เปิดไฟล์ httpd-ssl.conf ขึ้นมา (เก็บอยู่ที่ C:\AppServ\Apache2.2\conf\extra)

5. แก้ไขบรรทัด 62 เป็น

SSLSessionCache        "shmcb:C:/Appserv/Apache2.2/logs/ssl_scache(512000)"

ssl-09

6. ปรับตั้งค่าชื่อโฮสต์กับที่เก็บไฟล์ ตรงนี้แหละที่บอกว่าจะต้องเข้าใจเรื่อง virtual host ก่อน
ssl-10

7. ชี้พาธไปยังใบเซอร์ของเรา (ดูเอาในภาพนะ ขี้เกียจพิมพ์)
ssl-11

8. ระบุตำแหน่งเก็บ log ไฟล์
ssl-12

รีสตาร์ท apache ครับ แล้วลองเข้า https://www.wordpress.local

อ้างอิง
http://stackoverflow.com/questions/4221874/how-do-i-create-https-for-localhost-apache