คู่มือการใช้งาน เมนู CustomBuild - (DirectAdmin Admin Level)
อัปเดต ติดตั้ง และตั้งค่า Software Stack ผ่าน CustomBuild พร้อมอ่าน Log และวางแผนก่อนสั่งงานบนเซิร์ฟเวอร์จริง
รู้จัก CustomBuild และเข้าเมนูจาก Dashboard
เมนู CustomBuild ใน DirectAdmin ระดับ Admin Level ช่วยให้ผู้ดูแลระบบจัดการ software stack ที่ DirectAdmin/CustomBuild ดูแลอยู่บนเครื่อง เช่น web server, PHP, PHP extensions, database, mail service, FTP, web applications และคำสั่ง da build ที่เกี่ยวข้องกับ configuration หลายส่วนของระบบ

เส้นทางเข้าเมนูจาก Dashboard คือ:
Admin Level > Server Manager > CustomBuild
ในหน้า Dashboard ให้ดูเฉพาะกลุ่ม Server Manager แล้วกดเมนู CustomBuild
ในภาพหน้าจอของระบบตัวอย่างมี badge เลข 6 ข้างชื่อ CustomBuild หมายถึงมีรายการ update ที่ CustomBuild ตรวจพบอยู่ในขณะจัดทำคู่มือ แต่จำนวนนี้เปลี่ยนได้ตามสถานะเครื่องจริง ผู้ดูแลระบบควรใช้ badge เป็นสัญญาณให้เข้าไปตรวจ ไม่ใช่เหตุผลให้กด update ทันที
คำเตือนสำคัญ: CustomBuild เป็นเมนูระดับระบบ ปุ่มหลายตัวในหน้าจอตัวอย่างยิงคำสั่งไปที่
/api/custombuild/runหรือ update setting ทันทีโดยไม่เปิดหน้าต่างยืนยันแยก ก่อนกดปุ่มใด ๆ ต้องถือว่าการกดคือการสั่งงานจริงบน server
สำรวจเมนูและงานหลักใน CustomBuild
เมื่อเข้าเมนู CustomBuild แล้ว breadcrumb ด้านบนแสดง Dashboard > CustomBuild เพื่อยืนยันว่ากำลังอยู่ใน landing page ของ CustomBuild ไม่ใช่หน้า Updates, Build หรือ Logs ย่อย

เมนูนี้ไม่มี tab ภายในแบบแท็บแนวนอน แต่ใช้การ์ด/ลิงก์แยกงานเป็น 3 กลุ่มหลัก:
- SOFTWARE - มี Updates, Build และ Remove สำหรับ update, install/rebuild หรือถอดถอน software components
- SETTINGS - มี Options, Versions และ Compilation สำหรับแก้ค่า options.conf/php_extensions.conf, override version และ customize compilation script
- OTHER - มี Actions และ Logs สำหรับรันคำสั่ง CustomBuild อื่น ๆ และตรวจผลลัพธ์จาก log ล่าสุด
การ์ด Updates แสดง badge 6 ในบัญชีตัวอย่างแปลว่ามีรายการ update 6 รายการในขณะนั้น การ์ด Build ใช้ติดตั้งหรือ rebuild component ใหม่, Remove ใช้ถอด component ที่ไม่ใช้แล้ว, Options ใช้แก้ค่า config ของ CustomBuild, Versions ใช้กำหนด version เฉพาะ, Compilation ใช้แก้ script compile, Actions ใช้รันคำสั่ง da build สำเร็จรูป และ Logs ใช้อ่านผลการทำงานย้อนหลัง
ส่วน header ด้านบนที่เห็นในทุกหน้า เช่น Menu, ตัวเลือกภาษา EN, Search for pages, ปุ่มสลับ Admin/User และ account menu Hello, admin เป็น global navigation ของ DirectAdmin ไม่ใช่ setting เฉพาะของ CustomBuild จึงควรใช้เฉพาะเพื่อค้นหาเมนูหรือเปลี่ยน context ตามความจำเป็น ไม่ใช่ขั้นตอนหลักของบทความนี้
ตรวจและติดตั้ง Software Update
หน้า Updates เปิดจากการ์ด Updates และ breadcrumb แสดง Dashboard > CustomBuild > Update ส่วนหัวของหน้าคือ Update Software ใช้ตรวจ software components ที่มี version ใหม่หรือมี config ที่ควร update

ตารางในหน้าตัวอย่างมีคอลัมน์หลักดังนี้:
| คอลัมน์/ปุ่ม | ความหมาย | ข้อควรระวัง |
|---|---|---|
| Name | ชื่อ component ที่ CustomBuild ตรวจพบว่ามี update เช่น dovecot.conf หรือ extension ของ Phalcon PHP |
ต้องอ่านชื่อ component ให้ตรงกับ service/PHP version ที่ตั้งใจ update |
| Update | ปุ่มคำสั่งรายแถวสำหรับสั่ง update component นั้น | ในบัญชีตัวอย่างปุ่มนี้ยิงคำสั่งทันที ไม่มีหน้าต่างยืนยันแยกให้เห็น |
| Current Version | version ที่ติดตั้งหรือสถานะปัจจุบัน เช่น 5.14.0 |
ใช้เทียบก่อนตัดสินใจว่าควร update ตอนนี้หรือรอ maintenance window |
| Available Version | version ใหม่ที่ CustomBuild เห็น เช่น 5.15.0 |
ควรตรวจ release note หรือความเข้ากันได้ โดยเฉพาะ extension/PHP ที่เว็บใช้อยู่ |
| UPDATE ALL | ปุ่มด้านล่างสำหรับสั่ง update ทุกรายการที่แสดงอยู่ | เสี่ยงกว่า Update รายแถว เพราะอาจกระทบหลาย service พร้อมกัน |
ในบัญชีตัวอย่างรายการ update ที่เห็นคือ dovecot.conf และ phalcon PHP extension สำหรับ PHP 8.1, 8.2, 8.3, 8.4 และ 8.5 โดย version ปัจจุบันเป็น 5.14.0 และ version ที่มีให้เป็น 5.15.0 รายการเหล่านี้เป็นข้อมูลของเครื่องระบบตัวอย่างณ วันในระบบตัวอย่างไม่ควรนำไปสรุปว่าเครื่องจริงของคุณต้อง update รายการเดียวกัน
สิ่งสำคัญคือ ปุ่ม Update และ UPDATE ALL เป็นคำสั่งจริงของ CustomBuild ถ้าจะใช้กับ production ให้ตรวจ backup, maintenance window, dependency ของเว็บ และแผน rollback ก่อนเสมอ หลังสั่งงานให้ไปดูผลใน Logs
เลือก Software และ PHP Extension ที่ต้องการ Build
หน้า Build เปิดจากการ์ด Build และ breadcrumb แสดง Dashboard > CustomBuild > Build ส่วนหัว Build Software ใช้ติดตั้งหรือ rebuild software components ที่ CustomBuild รองรับ

หน้าจอนี้แบ่งรายการเป็น 3 กลุ่มใหญ่:
- Main - component หลักของ server เช่น Apache, bind, composer, CSF, Dovecot, Exim, jailshell, lego, ModSecurity, MySQL, PHP หลาย version, Pure-FTPd, redis, Rspamd, Nginx Unit, Webalizer และ WP-CLI
- PHP Extensions - extension สำหรับ PHP เช่น imagick, imap, ionCube, ldap, opcache, pgsql, phalcon และ redis extension
- Web Applications - web app ที่ CustomBuild ติดตั้งให้ เช่น phpMyAdmin และ RoundCube
ตารางของแต่ละกลุ่มใช้คอลัมน์ Name, Version, Description และปุ่ม Build รายแถว โดย Name คือ component, Version คือ version ที่จะติดตั้งหรือ rebuild, Description อธิบายหน้าที่สั้น ๆ และ Build คือปุ่มสั่งงานจริง
การกด Build อาจเป็นการติดตั้งใหม่หรือ rebuild component เดิม เช่น rebuild PHP, web server, mail server หรือ extension ที่เว็บใช้งานอยู่ ในบัญชีตัวอย่างการกดปุ่ม Build ยิง API ของ CustomBuild ทันทีและไม่มีหน้าต่างยืนยันแยกให้เห็น จึงต้องตรวจแถวให้ถูกก่อนกด โดยเฉพาะแถวที่เกี่ยวกับ PHP version, database, Exim/Dovecot และ web server เพราะมีผลกับเว็บไซต์และอีเมลจริง
ถอน Software ที่ไม่ใช้งานอย่างระมัดระวัง
หน้า Remove เปิดจากการ์ด Remove และ breadcrumb แสดง Dashboard > CustomBuild > Remove ส่วนหัว Remove Software ใช้จัดการ component ที่ CustomBuild มองว่าสามารถ remove ได้

ในหน้าจอตัวอย่างตารางแสดงหัวคอลัมน์ Name และคอลัมน์คำสั่งแต่ไม่มีรายการให้ถอดถอน จึงขึ้นข้อความ No items to show ใต้ตาราง นี่หมายความว่า ณสถานะของระบบตัวอย่างไม่มี component ที่ DirectAdmin แสดงให้เลือก remove รายตัว ไม่ได้หมายความว่าเครื่องทุกเครื่องจะไม่มีรายการเหมือนกัน
ปุ่ม REMOVE ALL อยู่ด้านล่างตาราง ใช้สั่งถอดถอนรายการทั้งหมดที่ CustomBuild เห็นว่าเข้าข่าย remove ได้ ในบัญชีตัวอย่างเมื่อทดลองคลิกโดยบล็อก request ปุ่มนี้ยิงคำสั่งผ่าน API ทันที ไม่มีหน้าต่างยืนยันแยก ดังนั้นในเครื่องจริงให้ถือว่าปุ่มนี้มีผลทันทีแม้ตารางจะดูว่างหรือดูเรียบง่าย
คำเตือน: อย่าใช้ REMOVE ALL เพื่อทดลองระบบบน production ถ้ายังไม่รู้ว่า CustomBuild จะ remove อะไรบ้าง เพราะการถอด component ผิดตัวอาจกระทบ service, PHP extension, webmail หรือ dependency ที่เว็บใช้อยู่
ปรับตัวเลือกการติดตั้งให้เหมาะกับ Server
หน้า Options เปิดจากการ์ด Options และ breadcrumb แสดง Dashboard > CustomBuild > Options ส่วนหัว Edit Options ใช้แก้ค่าที่อยู่ในกลุ่ม options.conf และ php_extensions.conf ของ CustomBuild ผ่าน UI

หน้าตัวอย่างแบ่ง options เป็นหมวดใหญ่ ได้แก่ PHP Settings, MySQL Settings, WEB Server Settings, WEB Applications Settings, ClamAV-related Settings, Mail Settings, FTP Settings, Statistics Settings, PHP Extension Settings, CustomBuild Settings, Cronjob Settings, CloudLinux Settings และ Advanced Settings
ส่วนควบคุมที่ใช้ในหน้านี้มีหลายแบบ:
- Dropdown/select - ใช้เลือกค่าจากรายการ เช่น PHP release, PHP mode, webserver, modsecurity ruleset, FTP server, cron frequency และ SSL configuration
- Radio Yes/No - ใช้เปิดหรือปิด option เช่น secure_php, php_ini, mysql_backup, modsecurity, web application, mail, PHP extension, redis, composer, wpcli และ fail2ban
- Text input - ใช้กรอกค่าที่เป็น path, timezone, hostname, email หรือ license value เช่น
php_timezone,mysql_backup_dir,redirect_hostและ cron email - Default Value - label ที่บอกค่ามาตรฐานของ DirectAdmin/CustomBuild สำหรับ option นั้น ใช้เทียบว่าค่าปัจจุบันต่างจาก default หรือไม่
- Update Setting - ปุ่มบันทึกค่าของกลุ่ม setting ที่อยู่ใกล้ปุ่มนั้น ในบัญชีตัวอย่างปุ่มนี้ส่ง update ผ่าน API โดยตรงและไม่มีหน้าต่างยืนยันแยก
ตัวอย่าง option สำคัญที่ต้องระวังคือ php*_release และ php*_mode ซึ่งกำหนด PHP version/mode, mysql_inst และ mariadb/mysql ที่เกี่ยวกับฐานข้อมูล, webserver ที่เลือก Apache/Nginx/LiteSpeed/OpenLiteSpeed, modsecurity และ ruleset, กลุ่ม mail เช่น Exim/Dovecot/Rspamd, กลุ่ม PHP extension และกลุ่ม cron/update ของ CustomBuild
สิ่งสำคัญคือ การเปลี่ยน Options ไม่ใช่แค่เปลี่ยนหน้าจอ UI บางค่าอาจต้อง build/rewrite/restart service ภายหลัง และบางค่าถ้าเลือกผิดอาจทำให้เว็บ, mail, PHP-FPM หรือ database มีปัญหาได้ ก่อนกด Update Setting ให้จดค่าเดิมและรู้ว่าต้องรันคำสั่งต่อหรือไม่
ตรวจและแก้ Version ของแต่ละ Application
หน้า Versions เปิดจากการ์ด Versions และ breadcrumb แสดง Dashboard > CustomBuild > Versions ส่วนหัว Customize Versions ใช้ override version ล่าสุดของ software ที่ CustomBuild จะใช้

ด้านบนมีช่อง Filter apps สำหรับกรองรายการ application ในตาราง ถ้ารายการเยอะให้พิมพ์ชื่อ component เช่น php82, nginx, mysql, redis หรือ phpmyadmin เพื่อหาแถวได้เร็วขึ้น
ตารางมีคอลัมน์ Application, Version และคำสั่ง Edit รายแถว เมื่อกด Edit แถวนั้นจะเปลี่ยนเป็น inline editor โดยแสดงช่อง input สำหรับ version พร้อมปุ่ม Close และ Save ในแถวเดียวกัน
- Application - ชื่อ package หรือ component เช่น
apache2.4,composer,mysql8.0,php82,phpmyadminหรือwp-cli - Version - version ที่ CustomBuild รู้จักหรือถูก override ไว้
- Edit - เปิด inline editor ของแถวนั้น
- Close - ปิด inline editor โดยไม่บันทึกค่าที่กำลังแก้
- Save - บันทึก version override ของแถวนั้น
การ override version เป็นงานที่ควรใช้เมื่อมีเหตุผลชัดเจน เช่น pin version ระหว่างรอทดสอบ compatibility หรือแก้ปัญหา version เฉพาะหน้า ไม่ควร pin ค้างโดยไม่มีแผน เพราะอาจทำให้พลาด security update หรือทำให้รอบ build ถัดไปใช้ package ที่ไม่ตรงกับมาตรฐานของเครื่อง
ปรับ Script ก่อนเริ่ม Compilation
หน้า Compilation เปิดจากการ์ด Compilation และ breadcrumb แสดง Dashboard > CustomBuild > Compilation ส่วนหัว Customize Compilation Scripts ใช้แก้ script การ compile ของ component เฉพาะตัว

หน้าจอแสดงเป็น card grid แต่ละ card มี ไอคอนเครื่องหมายถูกสีเขียว เพื่อบอกว่ามี script/สถานะพร้อมใช้งาน, ชื่อ script เช่น apache_modsecurity, pureftpd, php_7.4, php_7.2, php_5.6, dovecot, apache, php_8.0 ถึง php_8.5, คำอธิบายสั้น ๆ และปุ่ม Customize พร้อมไอคอน ดินสอ
เมื่อกด Customize ในบัญชีตัวอย่างระบบโหลด script ของแถวนั้นมาแสดง inline ใต้ชื่อ card เช่น apache_modsecurity แสดง editor พร้อมเลขบรรทัดและตัวอย่างคำสั่ง ./configure ด้านล่าง editor มีปุ่ม Save และ Close
- Customize - เปิด editor ของ compile script แถวนั้น
- editor พร้อมเลขบรรทัด - พื้นที่แก้ script จริง ควรแก้เฉพาะเมื่อเข้าใจ flag และ dependency ของ component นั้น
- Save - บันทึก script ที่แก้แล้ว
- Close - ปิด editor ของแถวนั้นโดยไม่บันทึกต่อ
Compilation เป็นส่วนที่มีความเสี่ยงสูง เพราะแก้ flag compile ผิดอาจทำให้ build ไม่ผ่านหรือ binary ที่ได้ทำงานไม่ตรงกับ service ที่ DirectAdmin คาดไว้ ถ้าไม่จำเป็นจริง ๆ ให้ใช้ค่า default ของ CustomBuild และแก้ผ่านช่องทางนี้เฉพาะกรณีที่มีแผนทดสอบ/rollback ชัดเจน
สั่งงาน CustomBuild แบบเร่งด่วนอย่างปลอดภัย
หน้า Actions เปิดจากการ์ด Actions และ breadcrumb แสดง Dashboard > CustomBuild > Actions หน้านี้เป็นชุด command สำเร็จรูปของ CustomBuild โดยแต่ละ card มีชื่อคำสั่ง, ปุ่ม command สีฟ้า และคำอธิบายผลลัพธ์ของคำสั่ง

คำสั่งที่เห็นในบัญชีตัวอย่างได้แก่:
| Action | Command button | คำเตือน |
|---|---|---|
| Update Dovecot configuration files | da build dovecot_conf |
ใช้ update config ของ Dovecot ควรตรวจ mail service หลังรัน |
| Update Exim configuration files | da build exim_conf |
UI เตือนว่าการ customize เดิมอาจหาย ถ้าไม่ได้เก็บไว้ถูกที่ |
| Update MySQL configuration files | da build mysql_conf |
แก้ config ใน path อย่าง /etc/my.cnf.d หรือ /etc/mysql/conf.d |
| Update PHP configuration files | da build php_ini |
UI เตือนว่าการ customize php.ini เดิมอาจหาย |
| Rewrite WEB server configuration files | da build rewrite_confs |
UI เตือนว่า customization ต้องอยู่ใน custom/ ไม่เช่นนั้นอาจถูกเขียนทับ |
| Secure PHP | da build secure_php |
ปิด dangerous PHP functions ใน php.ini อาจกระทบแอปที่พึ่งพาฟังก์ชันเหล่านั้น |
| Copy host name TLS certificate for services | da build sync_server_cert |
คัดลอก certificate ของ hostname ไปยังบริการที่ CustomBuild ดูแล เช่น Exim, Dovecot, Apache/Nginx, LiteSpeed/OpenLiteSpeed และ FTP service |
ปุ่ม command สีฟ้าในหน้านี้เป็นส่วนควบคุมที่คลิกได้ แม้หน้าตาจะเหมือน code badge มากกว่าปุ่มธรรมดา ในบัญชีตัวอย่างการคลิก command ยิงคำสั่งไปที่ CustomBuild API ทันที ไม่มีหน้าต่างยืนยันแยก จึงต้องอ่านคำสั่งและ warning บน card ให้ครบก่อนคลิก
ติดตามและจัดการ Log ของงาน Build
หน้า Logs เปิดจากการ์ด Logs และ breadcrumb แสดง Dashboard > CustomBuild > Logs หน้านี้ใช้ดูประวัติการรันคำสั่ง CustomBuild ล่าสุด เช่น da build rewrite_confs, da build secure_php, da build php_imap, da build install, da build update_versions และ da build cron_execute

ตาราง Logs มีคอลัมน์สำคัญดังนี้:
- PID - process id หรือรหัสงานที่ใช้แยก log แต่ละรายการ
- Command - คำสั่ง CustomBuild ที่ถูกรัน เช่น
da build rewrite_confs - Date - วันและเวลาที่ log นั้นถูกสร้าง เช่น
7/1/2026, 2:28 AM - File Size - ขนาดไฟล์ log เช่น
421 B,504.93 KBหรือ16.09 MB - View Log ไอคอน - ไอคอน สำหรับเปิดดูรายละเอียด log ของแถวนั้น ปุ่มนี้ไม่มีข้อความแต่มี title View Log
- Delete Log ไอคอน - ไอคอน สีแดงสำหรับลบ log ของแถวนั้น ปุ่มนี้ไม่มีข้อความแต่มี title Delete Log และเปิด confirmation ก่อนลบ
เวลาตรวจปัญหาหลังรัน Update, Build, Options, Compilation หรือ Actions ให้ดูแถวล่าสุดก่อน โดยอ่าน Command, Date และ File Size ถ้าไฟล์มีขนาด 0 B อาจไม่มี output ให้ตรวจมากนัก แต่ถ้าไฟล์ใหญ่ควรเปิด View Log เพื่อดูรายละเอียดแทนการเดาจากชื่อคำสั่งอย่างเดียว
อ่าน Log เพื่อวิเคราะห์ผลการ Build
เมื่อกด View Log จากตาราง Logs ระบบเปิดหน้ารายละเอียด โดย breadcrumb กลายเป็น Dashboard > CustomBuild > Logs > View และแสดงชื่อไฟล์ log เช่น custombuild.1782847690.48772.cmV3cml0ZV9jb25mcwA.log

เนื้อหา log แสดงเป็นข้อความแบบอ่านอย่างเดียว ไม่มีปุ่ม Save หรือ editor ในหน้านี้ตัวอย่างที่เห็นในบัญชีตัวอย่างมี output เช่นการ configure ไฟล์, ข้อความ sed: can't read ... No such file or directory, การ execute task, การเลือก server IP และการติดตั้ง/อัปเดต rule set บางส่วน
ให้ใช้หน้า View Log เพื่อยืนยันว่า command จบสำเร็จหรือมี error/warning ที่ต้องตามต่อ ถ้าเห็น error ให้เทียบกับ command ที่รันและเวลาที่เกิด ไม่ควรลบ log ก่อนส่งให้ทีมเทคนิคตรวจ เพราะ log เป็นหลักฐานสำคัญสำหรับไล่ปัญหา CustomBuild
ตรวจสอบให้ครบก่อนลบ Log หรือรันงานบนเครื่องจริง
เมื่อกด Delete Log ในตาราง Logs ระบบเปิดหน้าต่างยืนยันชื่อ Custombuild พร้อมไอคอนคำเตือน และข้อความ Are you sure you want to delete this log? ส่วนควบคุมในหน้าต่างมี:

- Close X - ปิดหน้าต่างโดยไม่ลบ log
- Cancel - ยกเลิกการลบและกลับไปหน้า Logs
- CONFIRM - ยืนยันลบไฟล์ log แถวนั้นจริง
การลบ log ไม่ได้ undo คำสั่ง CustomBuild ที่เคยรัน และไม่ได้หยุด job ที่กำลังทำงานอยู่ เป็นเพียงการลบหลักฐาน output ของคำสั่งนั้น ถ้าเพิ่งรัน update/build แล้วเกิดปัญหา อย่าเพิ่งกด CONFIRM ให้เก็บ log ไว้ก่อนจนกว่าจะตรวจครบ
Checklist ก่อนใช้ CustomBuild บนเครื่องจริง:
- รู้ว่ากำลังใช้ส่วนใด - Updates, Build, Remove, Options, Versions, Compilation, Actions หรือ Logs มีผลต่างกัน
- ตรวจปุ่มที่ไม่มี confirmation - Update, UPDATE ALL, Build, REMOVE ALL, Update Setting และ command ใน Actions ควรถูกมองว่าเป็นคำสั่งทันที
- มี backup หรือ snapshot - โดยเฉพาะก่อนเปลี่ยน PHP, webserver, database, mail service หรือ compile script
- เลือกเวลาที่เหมาะสม - งาน build/rewrite อาจกระทบเว็บไซต์ อีเมล หรือ service ที่ใช้งานจริง
- จดค่าเดิมก่อนแก้ - โดยเฉพาะ Options, Versions และ Compilation
- ตรวจ Logs หลังสั่งงาน - เปิด View Log เพื่ออ่าน error/warning แทนการดูแค่ notification
- อย่าลบ log เร็วเกินไป - เก็บ log ไว้จนกว่าจะแน่ใจว่าระบบทำงานปกติหรือทีมเทคนิคตรวจเรียบร้อยแล้ว
CustomBuild เป็นเมนูที่ทรงพลังมาก เพราะแตะทั้ง software, config, version, compile script และ log ของ server ใช้ได้ดีเมื่อมีแผน แต่ไม่ควรใช้ลองคำสั่งบน production โดยไม่มี backup หรือ maintenance window
หากไม่แน่ใจว่าค่าหรือคำสั่งใดจะกระทบส่วนไหนของเซิร์ฟเวอร์ ให้หยุดไว้ก่อน แล้วเก็บภาพหน้าจอกับรายละเอียดที่เกี่ยวข้องส่งให้ทีมงาน PhalconHost ช่วยตรวจสอบได้ครับ
ต้องการสอบถามข้อมูลเพิ่มเติม?
สามารถแอดไลน์คุยกันก่อนได้ที่ line: @PhalconHost