แก้ไขปัญหา PHP อัปโหลดไฟล์ขนาดใหญ่ บนเว็บเซิร์ฟเวอร์ nginx

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

ลองมาดูวิธีการตรวจสอบ และแก้ไขปัญหาการอัปโหลดไฟล์ขนาดใหญ่ด้วย PHP ที่รันโหมด FPM ทำงานร่วมกับ nginx เป็นเว็บเซิร์ฟเวอร์กัน ว่าจะต้องแก้ไขคอนฟิกอะไรบ้าง เพื่อให้สามารถอัปโหดลไฟล์ขนาดใหญ่ตามที่เราต้องการได้

ในที่นี้จะใช้โปรแกรม WordPress 4.8.2 ทดสอบบน Ubuntu 16.04 ซึ่งถ้าไม่แก้ไขคอนฟิก จะติดปัญหาการอัปโหลดไฟล์ขนาดใหญ่ เพราะโปรแกรมนี้ถูกพัฒนาด้วยภาษา PHP

Continue reading “แก้ไขปัญหา PHP อัปโหลดไฟล์ขนาดใหญ่ บนเว็บเซิร์ฟเวอร์ nginx”

แก้ไขคอนฟิก Samba เพื่อป้องกันปัญหาช่องโหว่ CVE-2017-7494

บอกแล้วว่าอย่าไปแซวคนใช้ Windows Server แล้วออกตัวว่าใช้ Samba บนลีนุกซ์จะปลอดภัย

ล่าสุดมีการแจ้งเตือนว่า Samba ที่ใช้งานกันอยู่ ตั้งแต่เวอร์ชัน 3.5 มีช่องโหว่อันตราย ที่ทำให้เครื่องอื่นสามารถรีโมทมารันโค้ด (exploit) ด้วยสิทธิ์ root ได้

มาดูวิธีการแก้ไขปัญหากัน

Continue reading “แก้ไขคอนฟิก Samba เพื่อป้องกันปัญหาช่องโหว่ CVE-2017-7494”

แก้ไขคอนฟิก Samba เพื่อรองรับ SMBv2

หลังจากดำเนินการรับมือ WannaCry อยู่หลายวัน พบปัญหาติดขัดหลายอย่าง หนึ่งในนั้นก็คือพอแก้ไขคอนฟิกปิด SMB1 ในเครื่อง Windows จะทำให้เรียกแชร์ไฟล์บนเซิร์ฟเวอร์ Samba ไม่ได้

เนื่องจากดีฟอลต์คอนฟิกของ Samba ที่ถูกติดตั้งบนลีนุกซ์เพื่อรันเป็นเซิร์ฟเวอร์ไฟล์แชร์หลายรุ่น ไม่ได้เปิดให้รองรับ SMB2 protocol เอาไว้ ทำให้ถ้าปิดคอนฟิกไม่ให้ใช้ SMB1 บน Windows Client จะทำให้ไม่สามารถเรียกไฟล์ที่แชร์ผ่าน Samba ได้

ลองมาดูรายละเอียดและวิธีการแก้ไขปัญหากัน

Continue reading “แก้ไขคอนฟิก Samba เพื่อรองรับ SMBv2”

รีวิวการติดตั้ง Fedora 25 Server

Fedora ถือว่าเป็นลีนุกซ์ตัวหนึ่ง (distribution) ที่เป็นที่นิยมในหมู่ผู้ใช้งาน ว่ากันว่าแม้กระทั่ง Linus Torvalds  เองก็ใช้ด้วย

ส่วนตัวคิดว่า น่าจะเป็นเพราะซอฟท์แวร์ที่ติดตั้งมา เป็นเวอร์ชันค่อนข้างใหม่ ทำให้ผู้ใช้งานสามารถทดลองใช้คุณสมบัติใหม่ๆ ได้ แล้วยังได้รับการสนับสนุนจากทาง Red Hat มีการอัพเดทอยู่เรื่อยๆ อีกด้วย

เวอร์ชันใหม่ล่าสุดตอนนี้คือ 25 แล้ว ลองมาดูรีวิวการติดตั้ง Fedora 25 Server กัน

Continue reading “รีวิวการติดตั้ง Fedora 25 Server”

ติดตั้งและคอนฟิก uWSGI กับ nginx เพื่อรัน Python3/Django บน Ubuntu 16.04

ถึงแม้ว่าตัวคำสั่ง python สามารถรันเป็นเว็บเซิร์ฟเวอร์ใช้พัฒนาโปรแกรมได้ แต่เมื่อต้องนำไปใช้งานจริง (production) นิยมคอนฟิกรันเป็นแอปเซิร์ฟเวอร์ เชื่อมต่อกับเว็บเซิร์ฟเวอร์อย่าง Apache หรือ Nginx เพื่อให้รองรับโหลดได้มากขึ้น รวมทั้งบริหารจัดการอื่นๆ ได้

uWSGI เป็นแอปเซิร์ฟเวอร์ตัวนึงที่สามารถรันเว็บโปรแกรมที่เขียนด้วยภาษา python ได้ โดยสามารถคอนฟิกเชื่อมโยงกับเว็บเซิร์ฟเวอร์โดยผ่าน WSGI (Web Server Gateway Interface)

ลองมาดูวิธีการติดตั้งและคอนฟิก uWSGI เพื่อเชื่อมต่อกับเว็บเซิร์ฟเวอร์ Nginx บน Ubuntu 16.04 กัน

Continue reading “ติดตั้งและคอนฟิก uWSGI กับ nginx เพื่อรัน Python3/Django บน Ubuntu 16.04”

ติดตั้ง Django บน Python 3

ลองมาดูวิธีการติดตั้ง Django ซึ่งเป็น Web Framework ยอดนิยมสำหรับการพัฒนาเว็บไซต์ด้วยภาษา python กัน

โดยจะติดตั้ง Django ใน virtual environment ที่สร้างไว้ ติดตั้งและหัดใช้ pip, venv ใน Python 3 บน Ubuntu 16.04

หมายเหตุ ในที่นี้ ขอไม่อธิบายรายละเอียดในแต่ละส่วนของ django เนื่องจากมีรายละเอียดค่อนข้างมาก สำหรับการเริ่มต้น (รวมทั้งผู้เขียนเองด้วย) ขอทำตามตัวอย่าง เพื่อให้เห็นภาพ เข้าใจการทำงานคร่าวๆ ก่อน แล้วค่อยไปศึกษารายละเอียดต่อไป

Continue reading “ติดตั้ง Django บน Python 3”

ติดตั้งและหัดใช้ pip, venv ใน Python 3 บน Ubuntu 16.04

หลังจากที่ศึกษาการใช้งาน python มาสักพัก เห็นว่ามีหลากหลายวิธีในการติดตั้ง ทั้งเรื่องเวอร์ชันของตัว python เอง การติดตั้งโมดูล การคอนฟิกเพื่อเขียน python แสดงผลบนหน้าเว็บได้ เลยว่าจะแชร์ประสบการณ์ที่ได้ ซึ่งเป็นวิธีการหนึ่งในการติดตั้งและคอนฟิก เผื่อมีประโยชน์กับผู้สนใจนำไปใช้กัน

ในที่นี้จะใช้ python เวอร์ชัน 3 เท่านั้น เหมาะสำหรับผู้เริ่มต้นกับ python และเพื่อความง่ายและไม่สับสนในเรื่องเวอร์ชัน จะขอทดลองบน Ubuntu 16.04 ที่โดยดีฟอลต์จะติดตั้งมาเฉพาะ Python 3 เท่านั้น

Continue reading “ติดตั้งและหัดใช้ pip, venv ใน Python 3 บน Ubuntu 16.04”

ทดสอบพิมพ์ดอตแมทริกซ์ด้วย CUPS บนลีนุกซ์

ดอตแมทริกซ์ (Dot Matrix Printer) ยังคงเป็นเครื่องพิมพ์ยอดนิยมที่มีคนใช้อยู่ทั่วไป เพื่อพิมพ์เอกสารต่างๆ โดยเฉพาะเอกสารทางด้านบัญชีหรือการเงิน ข้อดีก็น่าจะเป็นสามารถทำสำเนาเอกสารหลายชุดได้ง่าย

ลองมาดูการต่อเครื่องพิมพ์นี้เข้ากับเครื่องเซิร์ฟเวอร์ลีนุกซ์ แล้วติดตั้งและคอนฟิก CUPS เพื่อทดสอบพิมพ์เครื่องพิมพ์นี้บนเซิร์ฟเวอร์ลีนุกซ์โดยตรง

ในที่นี้จะใช้เครื่องพิมพ์ EPSON LQ-590 ต่อพอร์ต USB เข้ากับเครื่องเซิร์ฟเวอร์ที่ติดตั้ง Ubuntu 16.04

Continue reading “ทดสอบพิมพ์ดอตแมทริกซ์ด้วย CUPS บนลีนุกซ์”

ติดตั้งและคอนฟิก PHP-FPM กับ nginx บน Ubuntu 16.04

จากการ ติดตั้ง nginx บน Ubuntu 16.04 เว็บเซิร์ฟเวอร์ที่ได้ จะรองรับไฟล์ html ธรรมดา

ถ้าต้องการรันโปรแกรมเว็บที่พัฒนาด้วย PHP ต้องติดตั้งแพ็คเกจและคอนฟิกเพิ่มเติม

การทำให้ nginx สามารถรัน PHP ได้นั้น มีหลายวิธี ในที่นี้ขอเลือกคอนฟิกแบบ FastCGI Process Manager (FPM) โดยติดตั้งแพ็คเกจ php-fpm แล้วแก้ไขคอนฟิก nginx เพื่อให้เมื่อมีการเรียกไฟล์ .php บนเว็บเซิร์ฟเวอร์ ให้ nginx ส่งไฟล์ .php นั้นไปรันใน FPM โดยผ่านทางไฟล์ socket แล้วรับผลลัพธ์ที่ได้กลับมาแสดงบนเว็บ

Continue reading “ติดตั้งและคอนฟิก PHP-FPM กับ nginx บน Ubuntu 16.04”

ติดตั้ง nginx บน Ubuntu 16.04

มาดูวิธีการติดตั้งและคอนฟิก nginx บน Ubuntu 16.04 เพื่อรันเป็นเว็บเซิร์ฟเวอร์เบื้องต้นกัน

Continue reading “ติดตั้ง nginx บน Ubuntu 16.04”