Posts Tagged ‘letsencrypt’

วิธีติดตั้ง Let’s Encrypt ในระบบ DirectAdmin บน CentOS 6.8

วิธีการทำให้เว็บไซด์รองรับ https ปกติจะต้องซื้อ SSL Certificate ในราคาแบบรายปี มีตั้งแต่หลักร้อย หลักพัน หลักหมื่น หลักแสน ก็ว่ากันไป แต่สำหรับปัจจุบัน มีเทคโนโลยีที่สามารถทำให้เว็บไซด์รองรับ https โดยใช้ Let’s Encrypt ซึ่งเป็น SSL Certificate แบบฟรี ไม่เสียค่าใช้จ่าย

และติดตั้งง่ายๆ บนระบบจัดการโฮสติ้ง DirectAdmin ดังนี้

ใส่ค่าเข้าไปใน config ของ DirectAdmin โดยการเปิดไฟล์ directadmin.conf ขึ้นมาก่อน

yum -y update
vi /usr/local/directadmin/conf/directadmin.conf

จากนั้น เพิ่มตัวแปรนี้ ในบรรทัดท้ายสุด

enable_ssl_sni=1
letsencrypt=1

แก้ปัญหา การรันคำสั่งที่ติดปัญหาเรื่อง UTF-8

vi   /etc/environment

ใส่ค่าเหล่านี้เข้าไป

LANG=en_US.utf-8
LC_ALL=en_US.utf-8

ต่อไป สร้างโฟลเดอร์สำหรับเก็บไฟล์ที่ถูกสร้างขึ้น ขณะสร้าง certificate ของ Let’s Encrypt แบบชั่วคราว

mkdir -p /var/www/html/.well-known/acme-challenge
chown -R webapps.webapps /var/www/html/.well-known
chmod -R 0755 /var/www/html/.well-known/
ll -al  /var/www/html/

แก้ปัญหาเรื่องการสั่ง gen ssl แล้วติดเรื่อง license ไม่ตรงกับเวอร์ชั่น

โดยเปิดไฟล์ letsencrypt.sh ขึ้นมาแก้ไข

vi /usr/local/directadmin/scripts/letsencrypt.sh

จากนั้นค้นหาบรรทัดที่มี LICENSE=”xxxxxx-2015.pdf” และลบออก จากนั้นใส่คำสั่งนี้ไปแทน

LICENSE="https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf"

สร้าง Alias สำหรับการเรียก .wel-known ของแต่ละโดเมน

vi /etc/httpd/conf/extra/httpd-alias-custom.conf

ใส่คำสั่งนี้เข้าไปในไฟล์ httpd-alias-custom.conf

Alias /.well-known "/var/www/html/.well-known"

ทำการดึงข้อมูลในไฟล์ httpd-alias-custom.conf มารวมเป็นค่า config ของ apache ของเรา โดยการเปิดไฟล์ httpd-includes.conf ขึ้นมาก่อน

vi /etc/httpd/conf/extra/httpd-includes.conf

ใส่คำสั่งนี้เข้าไปในไฟล์ httpd-includes.conf

Include /etc/httpd/conf/extra/httpd-alias-custom.conf

สั่ง restart apache และ directadmin โดยรันคำสั่ง

service directadmin restart
service httpd restart

เพียงเท่านี้ DirectAdmin ก็จะรองรับการสั่ง gen SSL ของ Let’s Encrypt เพื่อทำให้เว็บไซด์เป็นแบบ https โดยไม่เสียเงิน (ฟรี) เรียบร้อยครับ