วันพุธที่ 27 เมษายน พ.ศ. 2565

วิธีการติดตั้ง SSL Certificate บน Linux Apache2 (Ubuntu)

 

ก่อนดำเนินการ

1. ตรวจสอบเครื่อง Server ว่า mod_ssl รองรับการใช้งานบนเครื่องของท่านแล้วหรือไม่ โดยทำตามขั้นตอนต่อไปนี้

1.1 ตรวจสอบไปยังไฟล์ mods-available โดยรันคำสั่ง
ll /etc/apache2/mods-available/ | grep ssl.*

หากแสดงผลตามภาพแสดงว่าเครื่องของท่านสามารถใช้งาน SSL certificate ได้ ให้เข้าสู่ขั้นตอนถัดไป

2. ตรวจสอบเครื่อง Server ว่า mod_ssl ถูกตั้งค่าให้ใช้งานแล้วหรือยัง โดยทำตามขั้นตอนต่อไปนี้

2.1 ตรวจสอบไปยังไฟล์ mods-enabled โดยรันคำสั่ง
ll /etc/apache2/mods-enabled/ | grep ssl.*

หากแสดงผลตามภาพแสดงว่าเครื่องของท่านยังไม่เปิดใช้งาน mod_ssl


2.2 ให้รันคำสั่ง
a2enmod ssl enable
เมื่อรันคำสั่งแล้ว จะได้ผลตามรูป จากนั้นให้ทำการ restart service apache 1 ครั้ง


2.3 จากนั้น ตรวจสอบอีกครั้งโดยรันคำสั่ง
ll /etc/apache2/mods-enabled/ | grep ssl.*
จะเห็นว่า มีไฟล์ ssl.conf และ ssl.load เรียกใช้งานในโฟลเดอร์ ดังกล่าว

3. ตรวจสอบว่าไฟล์สำหรับ Config SSL certificate ได้ถูก Enable แล้วหรือยัง โดยทำตามขั้นตอนต่อไปนี้

3.1 ตรวจสอบเข้าไปยังโฟลเดอร์ Sites-available ว่ามีไฟล์สำหรับตั้งค่า SSL certificate หรือไม่
โดยตามรูป จะเห็นได้ว่ามีไฟล์ default-ssl.conf ซึ่งเอาไว้สำหรับตั้งค่า SSL certificate แล้ว
หากไม่มีไฟล์ดังกล่าว ให้ตรวจสอบขั้นตอนตั้งแต่ข้อ 1 ใหม่


3.2 ตรวจสอบเข้าไปยังโฟลเดอร์ Sites-enabled ว่าไฟล์สำหรับการตั้งค่า SSL certificate ถูกเรียกใช้งานแล้วหรือยัง
โดยตามรูปยังไม่มีการเรียกใช้งาน default-ssl.conf สำหรับการใช้งาน

3.3 ให้รันคำสั่งต่อไปนี้ เพื่อเรียกใช้งาน default-ssl.conf มายังโฟลเดอร์ sites-enabled
cd /etc/apache2/sites-enabled/
ln -s ../sites-available/default-ssl.conf

หลังจากนั้น ตรวจสอบอีกครั้งด้วยคำสั่ง ll จะต้องได้ผลตามภาพ

เมื่อเสร็จสิ้นขั้นตอนทั้งหมด ให้เข้าสู่การติดตั้งต่อไปได้เลย

 

ขั้นตอนการติดตั้ง

1. ทำการสร้างไฟล์ certificate.crt สำหรับเก็บ SSL certificate Code โดยพิมพ์คำสั่ง ด้านล่างนี้ และนำ Code SSL certificate ที่ได้รับใส่ลงไป
หากได้รับเป็นไฟล์ มักจะมีชื่อ Domain ลูกค้าอยู่ในไฟล์ เช่น ssl_in_th.crt สามารถใช้ไฟล์ดังกล่าวติดตั้งได้เลย หรือเปลี่ยนชื่อเป็น certificate.crt ก็ได้เช่นกัน

nano -w //certificate.crt
ตัวอย่าง
nano -w /etc/apache2/ssl/certificate.crt
คำสั่ง nano จะใช้คีย์ลัด "Ctrl+O" เพื่อ Save และคำสั่ง "Ctrl+X" เพื่อออก

ข้อควรระวัง เมื่อวาง Code Certificate แล้วให้ตรวจสอบก่อนว่า หน้าบรรทัด หรือ ท้ายบรรทัดมีช่องว่างหรือไม่ หากมีช่องว่างด้านท้ายบรรทัด ให้ลบช่องว่างนั้นเพื่อให้เคอเซอร์ติดตัวอักษรสุดท้ายของแต่ละบรรทัด หากมีช่องว่างด้านหน้าบรรทัดให้ลบช่องว่างดังกล่าว เพื่อให้ตัวอักษรแรกติดขอบซ้ายของบรรทัด

 

2. ทำการสร้างไฟล์ intermediate.crt สำหรับเก็บ Intermediate CA code โดยพิมพ์คำสั่งด้านล่างนี้ และนำ Code Intermediate CA ที่ได้รับวางใส่ไฟล์ดังกล่าว

nano -w //intermediate.crt
ตัวอย่าง
nano -w /etc/apache2/ssl/intermediate.crt

หมายเหตุ Intermediate CA code หากสั่งซื้อกับเรา SSL.in.th จะได้รับเป็นไฟล์ ซึ่งมักจะมีชื่อ CA ลูกค้าอยู่ในไฟล์ เช่น DigicertCA.crt สามารถใช้ไฟล์ดังกล่าวติดตั้งได้เลย หรือเปลี่ยนชื่อเป็น intermediate.crt ก็ได้เช่นกัน

หากท่านสั่งซื้อแบรนด์ที่มี Intermediate CA 2 code สามารถวางต่อกันได้เลยในรูปแบบตามตัวอย่าง

-----BEGIN CERTIFICATE-----
Intermediate CA code #1
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
Intermediate CA code #2
-----END CERTIFICATE-----

 

3. ค้นหาการที่ตั้งของไฟล์สำหรับการตั้งค่า SSL certificate ใน Apache ด้วยคำสั่ง

grep -i -r "SSLCertificateFile" /etc/apache2/

เมื่อค้นหาด้วยคำสั่งดังกล่าวแล้ว จะทราบถึงไฟล์ที่เข้าไปตั้งค่า ให้เข้าที่ไฟล์ดังกล่าวตาม Directory ที่ได้ค้นหาไว้

 

4. ทำการแก้ไขที่อยู่ (Path) ของ SSLCertificateFile , SSLCertificateKeyFile , SSLCertificateChainFile ให้ถูกต้อง

SSLCertificateFile //certificate.crt  (ไฟล์นี้ได้รับในขั้นตอนที่ 1)
SSLCertificateKeyFile //privatekey.key (ไฟล์นี้จะได้รับตอนที่ทำการ Generate CSR)
SSLCertificateChainFile //intermediate.crt (ไฟล์นี้ได้รับในขั้นตอนที่ 2)

ตัวอย่าง
SSLCertificateFile /etc/apache2/ssl/certificate.crt
SSLCertificateKeyFile /etc/apache2/ssl/privatekey.key
SSLCertificateChainFile /etc/apache2/ssl/intermediate.crt

หมายเหตุ Document Root ในส่วนนี้ หากมีการแก้ไขเปลี่ยนเป็น Folder อื่นที่ไม่ใช่ Default (/var/www/html) ผู้ใช้งานต้องเปลี่ยนแปลงส่วนดังกล่าว เพื่อเรียกใช้เว็บไซต์ได้ถูกต้องเช่นเดียวกัน

 

5. ทำการตรวจสอบ Configuration ที่ได้ทำไปด้วยคำสั่ง

apache2ctl configtest

 

6. หากไม่มีสิ่งผิดปกติ ให้ทำการ Restart service apache 1 ครั้ง และทดสอบใช้งาน

service apache2 restart

 

หลังจากติดตั้งเสร็จแล้ว สามารถตรวจสอบการติดตั้ง SSL Certificate โดยผ่านทางเว็บไซต์ https://ssl.in.th/ssl-checker/

หมายเหตุ เมื่อทำการติดตั้ง SSL Certificate เรียบร้อยแล้ว ทางเราแนะนำให้ทางลูกค้าตั้งค่าบังคับใช้งาน HTTPS ซึ่งหมายถึงทุกครั้งที่มีการเรียกใช้งานเว็บไซต์ของคุณ จะถูก Redirect เพื่อใช้งานบน HTTPS โดยวิธีการตั้งค่าทางเราแนะนำให้ติดต่อผู้ดูแล Server ของท่าน

https://netway.co.th/kb/ssl-certificate/how-to-%E0%B8%A7%E0%B8%B4%E0%B8%98%E0%B8%B5%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%95%E0%B8%B4%E0%B8%94%E0%B8%95%E0%B8%B1%E0%B9%89%E0%B8%87-ssl-certificate/%E0%B8%A7%E0%B8%B4%E0%B8%98%E0%B8%B5%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%95%E0%B8%B4%E0%B8%94%E0%B8%95%E0%B8%B1%E0%B9%89%E0%B8%87-ssl-certificate-%E0%B8%9A%E0%B8%99-linux-apache2-%28ubuntu%29

วันจันทร์ที่ 18 เมษายน พ.ศ. 2565

yii2-mpdf

 http://dixonsatit.github.io/yii2-learning/รวมของดีๆๆ

ทดสอบแบบ html

public function actionPdf() { $mpdf = new mPDF; $mpdf->WriteHTML('<p>Hallo World</p>'); $mpdf->Output(); exit; }

Export Menu เป็นบทความที่เข้าใจง่ายมากครับ

http://dixonsatit.github.io/2014/11/30/install-krajee-yii2-grid.html

การเพิ่มหรือเปลี่ยนฟอนต์ Garuda Angsana thsarabun 1.สิ่งที่ทำงานร่วมกัน yii2-mpdf กับ mpdf -vendor/mpdf/mpdf/ttfont เพิ่มฟอนต์เข้าไปตรงนี้ ***vendor/mpdf/mpdf/config_fonts.php แก้ไขฟอนต์ที่ต้องการ บรรทัด 343 $this->sans_fonts = array('garuda','dejavusanscondensed',

บรรทัด 292 "Garuda" => array(/* Thai */ 'R' => "Garuda.ttf",

บรรทัด 226 "garuda" => array( /* Thai */ 'R' => "Garuda.ttf", 'B' => "Garuda-Bold.ttf", 'I' => "Garuda-Oblique.ttf", 'BI' => "Garuda-BoldOblique.ttf", 'useOTL' => 0xFF, ),

2./var/www/html/m30-covid19/vendor/kartik-v/yii2-mpdf

ปรับที่ asset ->kv-mpdf-bootstrap.css ตัวนี้ไม่ต้องปรับอะไร

เป็นอันเรียบร้อยครับ https://www.thaicreate.com/community/html-to-pdf-and-add-fontthai-mpdf-php.html https://pongsathon-janyoi.medium.com/ https://programmerthailand.com/ https://nakomah.com/blog/ http://dixonsatit.github.io/2014/11/30/install-krajee-yii2-grid.html https://programmerthailand.com/tutorial/post/view?id=159 //Barcode