EST. 2026 — บันทึกงานเซิร์ฟเวอร์จริง SYSADMIN · SECURITY · AI · DIRECTADMIN เล่มที่ 01
THE SYSADMIN ALMANAC

บันทึกงานเซิร์ฟเวอร์จริง ที่ลงมือทำเอง แล้วเขียนให้คนอื่นใช้ต่อได้

222 บทความ
08 หมวดหมู่

สัปดาห์นี้

ดูทั้งหมด
ปักหมุด ทำเว็บปี 2026 ใช้ PHP, Node.js หรือ React: เลือกตามงานจากตัวเลขจริง
Web

ทำเว็บปี 2026 ใช้ PHP, Node.js หรือ React: เลือกตามงานจากตัวเลขจริง

ลูกค้าโฮสติ้งถามว่าทำเว็บด้วย PHP, Node.js หรือ React ดี ผมไล่ตัวเลขตลาด ณ 7 พ.ย. 2026 แยกชั้นของเว็บให้ชัด ทำกราฟเทียบว่างานไหนใช้สแตกไหนด้วยคะแนนที่ AI สองตัวให้แยกกัน และดูคะแนนที่ AI สองตัวประเมินตัวเองรายภาษา

#php#javascript#nginx#apache#wordpress
อ่าน 12 นาที·7 พ.ย. 2026

อัปเดตความปลอดภัยล่าสุด

ดูทั้งหมด ->

เริ่มต้นที่นี่

ค่อย ๆ เรียนรู้จากงานจริง

บทความล่าสุด

ดูทั้งหมด →
วิดีโอ 4K เล่นไม่ขึ้น เพราะซับภาพบังคับให้เซิร์ฟเวอร์แปลงทั้งเรื่อง
Linux

วิดีโอ 4K เล่นไม่ขึ้น เพราะซับภาพบังคับให้เซิร์ฟเวอร์แปลงทั้งเรื่อง

คลังวิดีโอในบ้านบน LXC 2 core RAM 1536 MB เล่นไฟล์ 4K ไม่ขึ้น ต้นเหตุไม่ใช่เครือข่าย แต่เป็นซับแบบภาพที่บังคับให้เซิร์ฟเวอร์ฝังซับลงภาพได้แค่ 8 fps พร้อมวิธีอ่านเหตุผลจาก log การปิดการแปลงวิดีโอ และการเปลี่ยนซับภาพเป็น SRT แล้วซ่อมสระลอยจาก OCR

#homelab#self-hosted#proxmox#cgroup
อ่าน 11 นาที·14 พ.ย.
แชทบอทตอบช้าเพราะยัดความรู้ทั้งเว็บใน prompt: ดัชนีที่อัปเดตทีละแถว
AI

แชทบอทตอบช้าเพราะยัดความรู้ทั้งเว็บใน prompt: ดัชนีที่อัปเดตทีละแถว

แชทบอทของเว็บลูกค้ารายหนึ่งเคยแบกเนื้อหาทั้งเว็บใน prompt ราว 110k โทเคนแล้วยังต้องเรียก tool ค้นหลายรอบ เลยทำตารางดัชนีความรู้ที่อัปเดตทีละแถวจาก model event เขียนเฉพาะตอน hash เปลี่ยน แยกส่วน hot ที่เข้า prompt เสมอออกจากส่วนที่ค้นเมื่อจำเป็น และ presearch ล่วงหน้าด้วย timeout 1.5 วินาที

#prompt-engineering#llm#ai#caching
อ่าน 10 นาที·13 พ.ย.
ย้าย 30 โดเมนขึ้น PHP 8.4 ผ่าน DA API พร้อม snapshot และ rollback
DirectAdmin

ย้าย 30 โดเมนขึ้น PHP 8.4 ผ่าน DA API พร้อม snapshot และ rollback

บันทึกการย้ายเว็บราว 30 โดเมนกับ 4 subdomain จาก PHP รุ่นเก่าขึ้น 8.4 บน DirectAdmin ด้วยสคริปต์ที่สแกนความเข้ากันได้ ถ่าย snapshot 60 หน้าก่อนและหลัง แล้วย้อนกลับเองเมื่อมีหน้าไหนจากต่ำกว่า 500 กลายเป็น 500 ขึ้นไป พร้อมกับดักสามข้อที่เจอจริง

#directadmin#php-fpm#php#custombuild
อ่าน 12 นาที·13 พ.ย.
เปิดตอน login สองทาง เลยได้ daemon สองตัวเขียนไฟล์เดียวกัน
Linux

เปิดตอน login สองทาง เลยได้ daemon สองตัวเขียนไฟล์เดียวกัน

เดมอนเก็บข้อมูลเวลาจริงถูกเปิดตอน login จากสองทางห่างกันราว 20 วินาที ทั้งคู่ค้างรอต่อกับโปรแกรมต้นทางราว 30 วินาที แล้วออกมาเช็ก pidfile ที่ยังว่างพร้อมกัน เลยรันคู่กันทั้งวัน บทความนี้ว่าด้วยเหตุผลที่ pidfile แก้เรื่องนี้ไม่ได้ และการเปลี่ยนไปใช้ byte-range lock ของระบบปฏิบัติการ

#windows#python#scheduler#automation
อ่าน 10 นาที·13 พ.ย.
อัดเสียงลำโพงบน Windows แล้วช่วงเงียบหาย ไฟล์สั้นกว่าเวลาจริง
Hardware

อัดเสียงลำโพงบน Windows แล้วช่วงเงียบหาย ไฟล์สั้นกว่าเวลาจริง

อัดเสียงที่ออกลำโพงด้วย WASAPI loopback แล้วได้ไฟล์ที่สั้นกว่าเวลาจริง เพราะอุปกรณ์ไม่ส่ง buffer ตอนไม่มีเสียง แก้ด้วยการเล่นสัญญาณเงียบบนอุปกรณ์เดียวกันคู่ไปกับการอัด จองเลขไฟล์ด้วย .lock เขียน WAV ก่อนแล้วแปลงเป็น MP3 ด้วย ffmpeg พร้อมตัว self-test ที่จับ loopback จริง

#csharp#dotnet#windows#ffmpeg
อ่าน 11 นาที·12 พ.ย.
สั่งฟอร์มเราเตอร์ผ่าน CDP แล้ว Apply เงียบ: .value ไม่ติด ต้องพิมพ์
Network

สั่งฟอร์มเราเตอร์ผ่าน CDP แล้ว Apply เงียบ: .value ไม่ติด ต้องพิมพ์

ขับหน้า admin ของเราเตอร์ไฟเบอร์ผ่าน Chrome DevTools Protocol กรอกฟอร์มจอง IP ด้วย element.value แล้วกด Apply หน้าเว็บไม่ทำอะไรเลยและไม่มี error แก้ได้ด้วยการส่ง key event จริงเข้าช่องที่มองเห็น พร้อมข้อจำกัดที่ล้มแบบเงียบและวินัย dry-run ของสคริปต์

#cdp#chromium#automation#debugging
อ่าน 12 นาที·12 พ.ย.
ตัดความยาวก่อนปิดบัง token เลยหลุดลง log ไป 31 ตัวอักษร
Security

ตัดความยาวก่อนปิดบัง token เลยหลุดลง log ไป 31 ตัวอักษร

ช่อง caller ของ audit log ถูกตัดเหลือ 32 ตัวอักษรก่อนส่งเข้าตัว redact ผู้เรียกที่ใส่ token มาผิดช่องเลยเหลือ hex 31 ตัวค้างในไฟล์ log ใน endpoint สถานะที่ไม่ต้องยืนยันตัว และบนหน้าจอ ขณะที่เทสต์ยังเขียวเพราะตรวจแค่ว่าไม่มี token ทั้งก้อน พร้อมตัว redact แบบหน้าต่าง 16 ตัวและเทสต์ที่หาชิ้นส่วนของความลับ

#security#logging#testing#csharp
อ่าน 11 นาที·12 พ.ย.
deploy Laravel แล้วเจอ 500 ชั่วครู่: แคชถูกลบก่อนเขียนใหม่
Web

deploy Laravel แล้วเจอ 500 ชั่วครู่: แคชถูกลบก่อนเขียนใหม่

view:cache ลบแคชทั้งหมดก่อนคอมไพล์ใหม่ ส่วน config:cache กับ route:cache ลบไฟล์เก่าก่อนเขียนไฟล์ใหม่ ระหว่างช่องว่างนั้นคำขอจริงเจอ 500 แก้ด้วยคำสั่ง warm เฉพาะ template ที่หมดอายุ และสลับแคชด้วยการ rename ไฟล์ชั่วคราวทับแบบอะตอมมิก พร้อมบทเรียนเรื่อง migration ที่เห็น config เก่า

#deployment#laravel#php#caching
อ่าน 11 นาที·11 พ.ย.
ไอพีออฟฟิศเปลี่ยนตลอด: ดันเข้า whitelist ด้วยคีย์ SSH forced command
Security

ไอพีออฟฟิศเปลี่ยนตลอด: ดันเข้า whitelist ด้วยคีย์ SSH forced command

ไอพีที่ออกเน็ตเปลี่ยนบ่อยเพราะอยู่หลัง CGNAT เลยโดนไฟร์วอลล์แบนซ้ำ บันทึกการให้เครื่องข้างตัวดันไอพีเข้า whitelist ด้วยคีย์ SSH ที่ล็อกคำสั่งเดียว อ่านไอพีจาก SSH_CLIENT และตรวจประเทศแบบ fail-closed พร้อมตัวอย่างที่สองคือคีย์คุมบอทแจ้งเตือนโดยไม่ให้ shell และการเขียน threat model ให้ชัด

#ssh#ssh-hardening#csf#firewall
อ่าน 12 นาที·11 พ.ย.
ดูบทความทั้งหมด ↓

อยากให้เราทำให้ไหม?

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

คุยเรื่องงานกับเรา