ย้ายเว็บจาก cPanel มา BrewInTH ด้วยไฟล์ backup ไฟล์เดียว

ย้ายเว็บ PHP ออกจาก cPanel? ส่งไฟล์ full backup (.tar.gz) ทั้งไฟล์ ระบบหยิบเว็บกับฐานข้อมูลให้ พร้อมวิธีทดสอบและลำดับขั้นในวันย้ายจริง
เว็บของร้านหรือบริษัทอยู่บนโฮสต์ที่ใช้ cPanel มาหลายปี ไฟล์อยู่ใน public_html ฐานข้อมูลอยู่ใน phpMyAdmin อีเมลก็อยู่ที่เดียวกัน พออยากย้ายออกก็ไม่รู้จะเริ่มตรงไหน ต้องดาวน์โหลดไฟล์ทีละโฟลเดอร์ ส่งออกฐานข้อมูล แล้วแก้ไฟล์ตั้งค่าเองหรือเปล่า
บน BrewInTH เริ่มได้จากไฟล์เดียว คือไฟล์ full backup ของ cPanel (.tar.gz) ส่งทั้งไฟล์ที่หน้า อัปโหลดแล้วขึ้นเว็บ ระบบหยิบเว็บกับฐานข้อมูลออกมาใช้เอง บทความนี้พาทำทีละขั้น บอกว่าอะไรมาด้วย อะไรต้องตั้งใหม่ วิธีตรวจก่อนสลับโดเมน และสิ่งที่ต้องทำในวันย้ายจริง
สรุปสั้นก่อนอ่าน
📦 ดาวน์โหลด full backup จาก cPanel แล้วส่งทั้งไฟล์ที่หน้า อัปโหลดแล้วขึ้นเว็บ ได้เลย ไฟล์ไม่เกิน 1 GB
🧙 ระบบใช้public_htmlเป็นเว็บ นำไฟล์ในโฟลเดอร์mysqlเข้าฐานข้อมูล และปรับค่าเชื่อมต่อฐานข้อมูลในไฟล์ PHP ให้
✉️ อีเมล DNS และ cron ของ cPanel ไม่ได้มาด้วย ต้องตั้งใหม่ฝั่ง BrewInTH
🧪 ทดสอบบนลิงก์ของ BrewInTH ก่อน โดเมนจริงยังชี้ไปเว็บเดิมจนกว่าคุณจะเปลี่ยน
🔁 วันย้ายจริง ส่ง backup ชุดล่าสุดที่โปรเจกต์เดิม แล้วกดนำข้อมูลชุดใหม่เข้าแทน
ไฟล์ full backup ของ cPanel คืออะไร
cPanel มีปุ่มสร้างไฟล์สำรองทั้งบัญชีเป็นไฟล์ .tar.gz ไฟล์เดียว ข้างในมีทุกอย่างในโฟลเดอร์ home ของบัญชี รวมถึง public_html ที่เป็นตัวเว็บ ฐานข้อมูล MySQL อีเมล และการตั้งค่าต่าง ๆ
ตั้งแต่กลางเดือนตุลาคม 2026 หน้า อัปโหลดแล้วขึ้นเว็บ ของ BrewInTH รับไฟล์แบบนี้ได้ทั้งไฟล์ ไม่ต้องแตกไฟล์หรือคัดโฟลเดอร์เอง ระบบรู้จักโครงของ backup cPanel แล้วแยกส่วนที่เป็นเว็บออกมาให้ หน้านี้ยังเป็นรุ่น BETA ติดตรงไหนกด คุยกับทีมงาน ได้เลย
ระบบหยิบอะไรไปใช้ อะไรไม่ได้นำมา

นำมาขึ้นเว็บ
public_htmlกลายเป็นไฟล์ของเว็บ- ไฟล์
.sqlในโฟลเดอร์mysqlถูกนำเข้าฐานข้อมูล MySQL ที่ระบบสร้างให้ ทุกไฟล์ลงฐานข้อมูลเดียวของโปรเจกต์ ตามลำดับที่หน้าสรุปบอก .htaccessกฎ RewriteRule แบบง่ายถูกแปลงเป็นเส้นทางของเว็บ ส่วนกฎที่ส่งทุกที่อยู่ไปindex.phpและกฎบังคับ https หรือ www ระบบทำให้อยู่แล้ว
ระบบปรับให้เอง
- ค่าเชื่อมต่อฐานข้อมูลในไฟล์ PHP ที่เขียนไว้ตรง ๆ เช่น
define('DB_HOST', 'localhost')หรือ$dbname = 'shop_db'ถูกปรับให้อ่านค่าของ BrewInTH ก่อน แล้วใช้ค่าเดิมเป็นค่าสำรอง ไฟล์ในเครื่องของคุณไม่ถูกแก้ - ภาษาไทยแบบเก่า ไฟล์
.sqlที่เป็นรหัส TIS-620 ถูกแปลงเป็น utf8mb4 ก่อนนำเข้า - ไฟล์ขยะของโฮสต์ เช่น
error_logโฟลเดอร์cgi-binและไฟล์.logถูกตัดออก
ไม่ได้นำมา ต้องตั้งใหม่
- อีเมลและกล่องอีเมล ระบบข้ามโฟลเดอร์อีเมลไป ไม่เก็บไว้ และไม่นับรวมในเพดานขนาด หน้าสรุปบอกว่าข้ามไปกี่ฉบับ
- DNS ของโดเมน และการตั้งค่าของ cPanel เช่น cron job
- เว็บที่อยู่นอก
public_htmlเช่น addon domain ที่มีโฟลเดอร์ของตัวเองแยกจากpublic_html
ไฟล์ backup ทั้งก้อนไม่ได้ถูกเก็บไว้บน BrewInTH ระบบอ่านเสร็จแล้วลบทิ้ง เก็บไว้เฉพาะเว็บกับฐานข้อมูลที่หยิบออกมา
ก่อนเริ่ม: เช็ก 3 เรื่อง
- ขนาด ไฟล์
.tar.gzไม่เกิน 1 GB เมื่อแตกออกแล้ว ไฟล์เว็บรวมกับไฟล์ฐานข้อมูลต้องไม่เกิน 512 MB และไม่เกิน 50,000 ไฟล์ (อีเมลและ log ที่ระบบข้ามไม่นับ) ดูขนาดคร่าว ๆ ได้จากเมนู Disk Usage ของ cPanel ถ้าอีเมลเยอะจนไฟล์ backup เกิน 1 GB ใช้ทาง B ด้านล่าง - แพ็กเกจ พื้นที่ของแพ็กเกจนับไฟล์ที่อัปโหลด ไฟล์บนพื้นที่ถาวร และข้อมูลในฐานข้อมูลของทุกโปรเจกต์รวมกัน แพ็กเกจ Free มี 20 MB และใช้โดเมนของตัวเองไม่ได้ เว็บจริงที่ย้ายมาจาก cPanel ส่วนใหญ่จึงเริ่มที่ Starter (99 บาท/เดือน พื้นที่ 200 MB) หรือ Maker (1,499 บาท/ปี พื้นที่ 1 GB) ราคาตามหน้าแพ็กเกจ ณ วันที่เขียน เทียบทุกแพ็กเกจได้ที่ แพ็กเกจของ BrewInTH เลือกแบบไหนดี
- ชนิดเว็บ วิธีนี้ตรงที่สุดกับเว็บ PHP กับ MySQL ที่อยู่ใน
public_htmlถ้าเว็บเป็น WordPress อ่านขั้นตอนเฉพาะของ WordPress ใน ย้ายเว็บ WordPress มา BrewInTH
ย้ายเว็บจาก cPanel ทีละขั้น

1. สร้างไฟล์ full backup ใน cPanel
เข้า cPanel ของโฮสต์เดิม ในกลุ่ม Files กด Backup แล้วกด Download a Full Account Backup ที่หน้า Generate a Full Backup เลือก Backup Destination เป็น Home Directory ใส่อีเมลไว้รับแจ้งเมื่อเสร็จ แล้วกด Generate Backup
ใช้เวลาตั้งแต่ไม่กี่นาทีจนถึงเป็นชั่วโมงตามขนาดบัญชี ชื่อเมนูอาจต่างกันเล็กน้อยตามโฮสต์และภาษาที่ตั้งไว้ ถ้าไม่เห็นปุ่มนี้ แปลว่าโฮสต์ปิดไว้ ขอไฟล์จากฝ่ายช่วยเหลือของโฮสต์ หรือใช้ทาง B
2. ดาวน์โหลดไฟล์มาเก็บไว้
กลับมาที่หน้าเดิม ไฟล์ที่เสร็จแล้วอยู่ในรายการ Backups Available for Download ชื่อขึ้นต้นด้วย backup- และลงท้ายด้วย .tar.gz ดาวน์โหลดเก็บไว้ในเครื่อง ไฟล์นี้คือสำเนาของเว็บเดิมทั้งบัญชี เก็บไว้ต่อแม้ย้ายเสร็จแล้ว
3. สร้างโปรเจกต์ที่หน้าอัปโหลดแล้วขึ้นเว็บ
ในคอนโซลของ BrewInTH เปิดเมนู อัปโหลดแล้วขึ้นเว็บ ที่ข้อ 1. เลือกโปรเจกต์ที่จะนำขึ้น กด สร้างโปรเจกต์ใหม่ (ตั้งชื่อและที่อยู่เว็บ) แล้วตั้งชื่อกับที่อยู่เว็บ ไม่ต้องเลือกเทคโนโลยีหรือฐานข้อมูล ระบบดูจากไฟล์เอง
4. ส่งไฟล์ .tar.gz
ที่ข้อ 2. ส่งไฟล์ของเว็บ เลือกแท็บ ไฟล์ ZIP (ช่องนี้รับทั้ง ZIP และ .tar.gz) ลากไฟล์มาวาง แล้วกดปุ่ม นำขึ้นที่ ตามด้วยชื่อโปรเจกต์ ไฟล์ใหญ่ใช้เวลาอัปโหลดตามความเร็วอินเทอร์เน็ต อย่าปิดหน้าระหว่างนั้น
5. อ่าน "สิ่งที่ระบบทำให้"
ส่งเสร็จแล้ว หน้าจะแสดงความคืบหน้าและหัวข้อ สิ่งที่ระบบทำให้ ซึ่งสรุปทุกอย่างที่ระบบจัดการ มองหาบรรทัดเหล่านี้
- ไฟล์ชุดนี้เป็น backup ของบัญชี cPanel บอกว่าใช้เว็บจาก
homedir/public_htmlและฐานข้อมูลไฟล์ไหน - โปรเจกต์อยู่ในโฟลเดอร์ public_html/ แปลว่าระบบเจอหน้าแรกของเว็บถูกที่
- สร้างฐานข้อมูล mysql ให้ และ นำเข้า … ทั้งไฟล์ เมื่อฐานข้อมูลพร้อม
- ชื่อไฟล์ตั้งค่า PHP ของคุณ ตามด้วย ค่าเชื่อมต่อฐานข้อมูลอ่านจาก environment ของระบบ
ถ้าไม่มีบรรทัด โปรเจกต์อยู่ในโฟลเดอร์ public_html/ หรือสถานะขึ้นว่าล้มเหลว ให้ส่งใหม่ด้วยทาง B ที่โปรเจกต์เดิม เมื่อสถานะขึ้นว่า ออนไลน์แล้ว หน้าเดียวกันมีลิงก์ ไปที่แท็บโดเมน ไว้ใช้ทีหลัง ตอนนี้ยังไม่ต้องกด
ทดสอบบนลิงก์ของ BrewInTH ก่อนแตะโดเมน
ตอนนี้เว็บใหม่อยู่ที่ที่อยู่ของ BrewInTH ส่วนโดเมนจริงยังชี้ไปโฮสต์เดิม ลูกค้ายังใช้เว็บเดิมได้ตามปกติ ใช้ช่วงนี้ตรวจให้ครบ
- เปิดหน้าหลัก ๆ ทุกหน้า ดูว่ารูปและภาษาไทยขึ้นถูก
- เข้าหลังบ้านของเว็บด้วยบัญชีเดิม ดูว่าข้อมูลมาครบ
- ลองส่งฟอร์มและลองอัปโหลดรูปผ่านหน้าเว็บ
- ลิงก์ที่เขียนเป็นที่อยู่เต็มของโดเมนเดิมจะพาไปเว็บเดิมระหว่างทดสอบ เป็นเรื่องปกติ หายเองเมื่อย้ายโดเมนมาแล้ว
ปัญหาที่เจอบ่อยกับเว็บ PHP ที่อยู่มานาน
- หน้าขาวหรือ error 500 เปิดแท็บ บันทึกการทำงาน ของโปรเจกต์ดูข้อความ error ของ PHP บน BrewInTH ใช้ PHP 8.4 (ณ วันที่เขียน) โค้ดที่ยังเรียก
mysql_connect()ซึ่ง PHP 7 ขึ้นไปไม่มีแล้ว ต้องแก้เป็นmysqliหรือ PDO - ต่อฐานข้อมูลไม่ได้ และไม่มีบรรทัด "ค่าเชื่อมต่อฐานข้อมูลอ่านจาก environment" แปลว่าไฟล์ตั้งค่าเขียนแบบที่ระบบไม่รู้จัก ค่าที่ต้องใช้อยู่ในแท็บ ตั้งค่าแอป ของโปรเจกต์ ให้ AI แก้ตาม prompt ด้านล่าง
- ฟอร์มติดต่อส่งอีเมลไม่ออก
mail()ของ PHP บน BrewInTH ส่งผ่านกล่องอีเมลของโปรเจกต์ ต้องเชื่อมโดเมนแล้วสร้างกล่อง เช่นnoreply@จากนั้นกด ใช้กับแอป ในแท็บ อีเมล ก่อน - อัปโหลดรูปผ่านหน้าเว็บไม่ได้ ถ้าหน้าสรุปไม่มีบรรทัด "แอปเก็บข้อมูลเป็นไฟล์" แปลว่าระบบไม่เห็นโฟลเดอร์ที่เว็บเขียนไฟล์ลง อ่านวิธีแก้ที่ เก็บรูปที่ผู้ใช้อัปโหลดไม่ให้หาย ด้วยพื้นที่เก็บไฟล์ถาวร
แตกไฟล์ backup ในเครื่อง (ตัวเว็บอยู่ในโฟลเดอร์ homedir/public_html) แล้วส่งไฟล์ในโฟลเดอร์นั้นให้แชต AI หรือเปิดด้วย coding agent ที่ใช้อยู่ แล้วสั่งแบบนี้
เว็บ PHP นี้ย้ายจากโฮสต์ cPanel ไปอยู่บน BrewInTH (PHP 8.4 และ MySQL)
1. หาไฟล์ที่ตั้งค่าการเชื่อมต่อฐานข้อมูล แล้วแก้ให้อ่านค่าจาก environment ด้วย getenv()
ชื่อ DB_HOST, DB_PORT, DB_DATABASE, DB_USERNAME, DB_PASSWORD
2. หาโค้ดที่ใช้ฟังก์ชัน mysql_* หรือฟังก์ชันอื่นที่ PHP 8 ไม่มีแล้ว แก้เป็น mysqli หรือ PDO
3. ห้ามเปลี่ยนโครงสร้างตารางในฐานข้อมูล
4. บอกทีละไฟล์ว่าแก้อะไร แล้วส่งเนื้อหาไฟล์ที่แก้แล้วกลับมาทั้งไฟล์
แก้ไฟล์ในโฟลเดอร์แล้ว ส่งชุดใหม่ที่โปรเจกต์เดิมด้วยทาง B
ทาง B: ZIP โฟลเดอร์ public_html ที่มีไฟล์ .sql อยู่ข้างใน
ใช้ทางนี้เมื่อไฟล์ backup ใหญ่เกิน 1 GB โฮสต์ไม่มีปุ่ม full backup บัญชีมีหลายเว็บหลายฐานข้อมูล ไม่เห็นบรรทัด โปรเจกต์อยู่ในโฟลเดอร์ public_html/ หรือโฮสต์เดิมใช้แผงควบคุมอื่นอย่าง DirectAdmin หรือ Plesk (ระบบแยกไฟล์ backup ให้เฉพาะของ cPanel)
- เข้า phpMyAdmin ของโฮสต์เดิม เลือกฐานข้อมูลของเว็บนี้ แล้วกด Export จะได้ไฟล์
.sql(ถ้าได้.sql.gzให้แตกเป็น.sqlก่อน ระบบนำเข้าเฉพาะไฟล์ที่ลงท้ายด้วย.sql) - บีบโฟลเดอร์
public_htmlด้วยปุ่ม Compress ใน File Manager แล้วดาวน์โหลดมาแตกในเครื่อง หรือดึงด้วย FTP - ในเครื่องของคุณ วางไฟล์
.sqlไว้ข้างในโฟลเดอร์public_htmlแล้วบีบทั้งโฟลเดอร์เป็น ZIP (ไม่เกิน 256 MB) อย่าวางไฟล์.sqlไว้ในpublic_htmlบนโฮสต์เดิม เพราะใครก็ดาวน์โหลดได้จากเว็บ - ส่ง ZIP ที่หน้า อัปโหลดแล้วขึ้นเว็บ ในโปรเจกต์ของเว็บนั้น ถ้ามีหลายเว็บ ทำแบบเดียวกันทีละเว็บ เว็บละหนึ่งโปรเจกต์
วันย้ายจริง

ระหว่างที่ทดสอบ เว็บเดิมอาจมีออเดอร์ สมาชิก หรือบทความใหม่เข้ามา ก่อนสลับโดเมนจึงต้องย้ายข้อมูลชุดล่าสุดตามลำดับนี้
- ปิดรับข้อมูลบนเว็บเดิมชั่วคราว ถ้าเว็บมีข้อมูลเข้ามาตลอด
- สร้าง full backup ชุดใหม่ แล้วส่งที่หน้า อัปโหลดแล้วขึ้นเว็บ โดยเลือกโปรเจกต์เดิมในข้อ 1 ปุ่มจะเปลี่ยนเป็น อัปเดตเว็บ ที่อยู่เว็บและฐานข้อมูลเดิมคงไว้
- นำข้อมูลชุดใหม่เข้าแทน ระบบไม่ทับฐานข้อมูลที่มีข้อมูลแล้วเอง แต่จะขึ้นการ์ด คำสั่ง SQL ที่ยังไม่ได้รัน ในหน้าผลลัพธ์และในแท็บ ฐานข้อมูล กด นำเข้าไฟล์นี้แทนฐานปัจจุบัน (สำรองให้ก่อน) แล้วกด ยืนยัน ระบบสำรองฐานข้อมูลปัจจุบันไว้ก่อนเสมอ ถ้าการ์ดไม่มีปุ่มนี้ คุยกับทีมงานก่อนกดปุ่มอื่น
- เชื่อมโดเมน ที่แท็บ โดเมน ลำดับการเปลี่ยน DNS ให้เว็บแทบไม่ดับ อยู่ใน ย้ายเว็บจากโฮสต์เดิมมา BrewInTH ทีละขั้น การใช้โดเมนของตัวเองต้องใช้แพ็กเกจที่จ่ายเงิน
- ตั้งอีเมลและงานตามเวลา สร้างกล่องอีเมลในแท็บ อีเมล หลังเชื่อมโดเมน (อีเมลโดเมนตัวเอง) แล้วตั้ง cron เดิมใหม่ในแท็บ งานตามเวลา (งานตามเวลา (cron)) คำสั่งที่อ้าง path ของโฮสต์เดิม เช่น
/home/ชื่อบัญชี/public_html/ต้องเปลี่ยน - เก็บโฮสต์เดิมไว้ก่อน จนเว็บใหม่นิ่ง ถ้า nameserver ของโดเมนชี้ไปที่โฮสต์เดิม แปลว่า DNS ทั้งหมดอยู่ที่นั่น ต้องย้าย DNS ไปที่ผู้ให้บริการจดโดเมนหรือ Cloudflare ก่อนยกเลิกโฮสต์ ไม่งั้นทั้งเว็บและอีเมลของโดเมนจะหยุดทำงาน
คำถามที่พบบ่อย
ไฟล์ backup 900 MB จะกินพื้นที่แพ็กเกจ 900 MB ไหม
ไม่ ระบบอ่านไฟล์แล้วลบทิ้ง เก็บไว้เฉพาะเว็บกับฐานข้อมูลที่หยิบออกมา อีเมลและ log ในไฟล์ไม่ได้ถูกเก็บ พื้นที่ที่นับคือไฟล์ของเว็บ ไฟล์บนพื้นที่ถาวร และข้อมูลในฐานข้อมูล
อีเมลเก่าใน cPanel ย้ายมาด้วยไหม
ไม่ได้ย้ายมาเอง หลังเชื่อมโดเมนแล้ว สร้างกล่องอีเมลชื่อเดิมในแท็บ อีเมล แล้วใช้โปรแกรมอีเมลที่ต่อแบบ IMAP เช่น Thunderbird หรือ Outlook เปิดทั้งกล่องเก่าและกล่องใหม่ แล้วลากอีเมลข้ามมา แต่ละแพ็กเกจจำกัดจำนวนกล่องและขนาดต่อกล่อง เช่น Starter มี 3 กล่อง กล่องละ 100 MB ถ้าอีเมลเก่ามีหลาย GB ให้เลือกย้ายเฉพาะที่จำเป็น
บัญชี cPanel มีหลายเว็บ ทำยังไง
ไฟล์ full backup ขึ้นได้หนึ่งเว็บ คือเว็บใน public_html และไฟล์ .sql ทุกไฟล์ในโฟลเดอร์ mysql จะถูกนำเข้าลงฐานข้อมูลเดียวของโปรเจกต์นั้น ถ้าบัญชีมีหลายเว็บหลายฐานข้อมูล ใช้ทาง B แยกทีละเว็บ จำนวนโปรเจกต์ที่สร้างได้ขึ้นกับแพ็กเกจ
ส่ง backup ชุดใหม่ซ้ำ ข้อมูลบนเว็บจะถูกทับไหม
ไม่ทับเอง เมื่อเว็บออนไลน์แล้ว การส่งซ้ำจะอัปเดตไฟล์ของเว็บ ส่วนฐานข้อมูล ระบบสร้างเฉพาะตารางที่ยังไม่มี ข้อมูลเดิมไม่ถูกแตะ ถ้าต้องการให้ข้อมูลในไฟล์แทนของเดิม ต้องกด นำเข้าไฟล์นี้แทนฐานปัจจุบัน (สำรองให้ก่อน) เอง
ย้ายเสร็จแล้ว แก้ไฟล์เว็บยังไง
ส่ง ZIP ชุดใหม่ที่โปรเจกต์เดิม หรือใช้ SFTP กับ FileZilla แบบที่คุ้นมือจาก cPanel (วิธีใช้ SFTP)
สรุป
การย้ายเว็บจาก cPanel มา BrewInTH เริ่มได้จากไฟล์ full backup ไฟล์เดียว ระบบหยิบ public_html กับฐานข้อมูลออกมา ปรับค่าเชื่อมต่อในไฟล์ PHP และบอกทุกอย่างที่ทำไว้ในหัวข้อ สิ่งที่ระบบทำให้ ส่วนที่คุณทำเองคือทดสอบบนลิงก์ของ BrewInTH ย้ายข้อมูลชุดล่าสุดในวันย้ายจริง ตั้งอีเมลกับงานตามเวลาใหม่ แล้วค่อยสลับโดเมน โดยเก็บโฮสต์เดิมไว้จนทุกอย่างนิ่ง
