FTP (File Transfer Protocol) คือวิธีมาตรฐานในการอัพโหลดไฟล์ขึ้น Hosting เหมาะสำหรับการโอนไฟล์จำนวนมากหรือโฟลเดอร์ขนาดใหญ่ที่ File Manager บน DirectAdmin อาจช้าหรือไม่สะดวก FileZilla เป็น FTP Client ฟรีที่นิยมใช้มากที่สุด รองรับ Windows, macOS และ Linux
ดาวน์โหลดและติดตั้ง FileZilla
ดาวน์โหลด FileZilla Client (ไม่ใช่ Server) จาก filezilla-project.org เลือกเวอร์ชันตาม OS แล้วติดตั้งตามปกติ ไม่มีค่าใช้จ่าย
หา FTP Credentials จาก DirectAdmin
ก่อนเชื่อมต่อ FTP ต้องมีข้อมูล 4 อย่าง ดูได้จาก Email ยืนยัน Hosting หรือใน DirectAdmin:
- Host / FTP Server — เช่น
ftp.yourdomain.comหรือ IP ของ server - Username — ชื่อ user ของ hosting (มักเหมือนกับ DirectAdmin username)
- Password — รหัสผ่าน Hosting
- Port — ปกติ
21(FTP) หรือ22(SFTP)
สร้าง FTP Account แยกใน DirectAdmin
ถ้าต้องการให้ช่าง/developer เข้าถึงเฉพาะบางโฟลเดอร์ สร้าง FTP account แยกได้: DirectAdmin → FTP Management → Create FTP Account ตั้ง path ให้ตรงโฟลเดอร์ที่อนุญาต
เชื่อมต่อ FileZilla ครั้งแรก
วิธีที่ 1 — Quickconnect (เร็ว)
ใส่ข้อมูลในแถบด้านบน FileZilla แล้วกด Quickconnect:
Host: ftp.yourdomain.com
Username: yourusername
Password: yourpassword
Port: 21
วิธีที่ 2 — Site Manager (แนะนำ บันทึกไว้ใช้ซ้ำ)
- เปิด File → Site Manager (หรือ Ctrl+S)
- กด New Site ตั้งชื่อ เช่น "AsiaGB Hosting"
- เลือก Protocol: FTP หรือ SFTP (ถ้า server รองรับ)
- ใส่ Host, Port, Username, Password
- Logon Type: Normal (ไม่ต้องพิมพ์ password ทุกครั้ง)
- กด Connect
SFTP ปลอดภัยกว่า FTP: SFTP (SSH File Transfer Protocol) เข้ารหัสข้อมูลระหว่างการโอน ใช้ port 22 ถ้า Hosting รองรับ ควรเลือก SFTP แทน FTP ธรรมดา
โครงสร้างโฟลเดอร์ที่ควรรู้
หลังเชื่อมต่อสำเร็จ ฝั่งขวา (Remote Site) จะแสดงโฟลเดอร์บน Hosting:
public_html/— โฟลเดอร์หลัก ไฟล์ที่ต้องการให้เปิดผ่านเว็บต้องอยู่ที่นี่public_html/wp-content/— สำหรับ WordPress themes/pluginslogs/— Error logs (ห้ามแก้ไข)private/— โฟลเดอร์ที่ไม่ถูก serve ผ่านเว็บ เก็บ config/backup ได้
อัพโหลดไฟล์
ลากวาง (Drag & Drop)
ฝั่งซ้าย (Local Site) ไปที่โฟลเดอร์ที่มีไฟล์ของคุณ จากนั้นลากไฟล์/โฟลเดอร์มาวางในโฟลเดอร์ปลายทางฝั่งขวา FileZilla จะเริ่มอัพโหลดทันที
อัพโหลดทั้งโฟลเดอร์
- ฝั่งซ้าย ไปที่โฟลเดอร์ที่ต้องการ
- คลิกขวาที่โฟลเดอร์ → Upload
- FileZilla จะโอนไฟล์ทั้งหมดพร้อม subfolder
ดู Queue และ Transfer Status
ดูที่แถบด้านล่าง FileZilla: Queued files แสดงไฟล์ที่รออยู่ Successful transfers แสดงที่โอนสำเร็จ Failed transfers แสดงที่ผิดพลาด (คลิกขวา → Retry เพื่อลองใหม่)
ปัญหาที่พบบ่อย
Connection Timeout / ECONNREFUSED
- ตรวจว่า Hostname ถูกต้อง (ใช้ IP แทน domain ถ้า DNS ยังไม่ propagate)
- ตรวจ Firewall ของเครื่องตัวเองว่า block port 21 หรือเปล่า
- ลองเปลี่ยน Transfer Mode เป็น Passive: Edit → Settings → Connection → FTP → Passive mode
Permission Denied เมื่ออัพโหลด
- ตรวจว่า FTP user มีสิทธิ์เขียนในโฟลเดอร์ปลายทาง
- ถ้าสร้าง FTP account แยก ตรวจ path ที่ตั้งไว้ใน DirectAdmin
ไฟล์ .htaccess ไม่แสดงใน FileZilla
ไฟล์ที่ขึ้นต้นด้วย . ถูกซ่อนโดย OS และ FTP client บางตัว แก้ได้: Server → Force showing hidden files (ใน FileZilla)
ทางเลือกนอกจาก FTP: DirectAdmin มี File Manager บนเว็บสำหรับแก้ไขไฟล์เดี่ยวหรืออัพโหลดไฟล์เล็กๆ และรองรับ Git Deploy ผ่าน SSH สำหรับ developer — ดูบทความ Git Deploy บน Hosting
SFTP vs FTP: ความต่างที่สำคัญด้านความปลอดภัย
หลายคนสับสนระหว่าง FTP และ SFTP คิดว่าเป็นเรื่องเดียวกัน แต่จริงๆ แล้วต่างกันอย่างมาก:
| คุณสมบัติ | FTP (port 21) | SFTP (port 22) |
|---|---|---|
| การเข้ารหัส | ไม่เข้ารหัส | เข้ารหัส SSH ทั้งหมด |
| ความปลอดภัยของ Password | ส่ง Plain Text (เสี่ยง) | เข้ารหัสตลอด |
| Firewall Friendly | บางครั้งมีปัญหา Active mode | ใช้ port เดียว ไม่มีปัญหา |
| ความเร็ว | เร็วกว่าเล็กน้อย | ช้ากว่าเล็กน้อย (overhead การเข้ารหัส) |
| แนะนำสำหรับ | Legacy system ที่ต้องการเท่านั้น | ทุกกรณี โดยเฉพาะ Production |
AsiaGB Hosting รองรับ SFTP บน port 22 ทุกแผน เปลี่ยนจาก FTP ธรรมดาได้ทันทีโดยเปลี่ยน Protocol ใน FileZilla Site Manager
เทคนิคขั้นสูง: อัพโหลดผ่าน Command Line
สำหรับ developer หรือทีมที่ต้องการ automate การ deploy ไฟล์ขึ้น Hosting สามารถใช้ command line แทน GUI ของ FileZilla:
ใช้ curl อัพโหลดไฟล์เดียว
# อัพโหลดไฟล์ผ่าน FTP
curl -T index.html "ftp://ftp.yourdomain.com/public_html/" \
--user "yourusername:yourpassword"
# อัพโหลดผ่าน SFTP (ต้องใช้ sftp:// protocol)
# แนะนำใช้ rsync หรือ scp แทนสำหรับ SFTP
ใช้ rsync ผ่าน SSH (สำหรับ SFTP)
# sync โฟลเดอร์ทั้งหมดขึ้น Hosting
rsync -avz --progress ./public/ \
[email protected]:/home/yourusername/public_html/
# sync เฉพาะไฟล์ที่เปลี่ยนแปลง (ประหยัด bandwidth)
rsync -avz --checksum ./public/ \
[email protected]:/home/yourusername/public_html/
เคล็ดลับ Deploy อัตโนมัติ: ใส่คำสั่ง rsync ใน script แล้วรันผ่าน Cron Job หรือ CI/CD pipeline เพื่อ deploy ทุกครั้งที่ push code ขึ้น Git repository โดยอัตโนมัติ
การตั้งค่า File Permission หลังอัพโหลด
การกำหนด Permission ที่ถูกต้องเป็นสิ่งสำคัญด้านความปลอดภัยและการทำงานของเว็บไซต์:
- ไฟล์ทั่วไป (.html, .php, .css, .js): Permission
644— เจ้าของ read/write, group และ other read เท่านั้น - โฟลเดอร์: Permission
755— เจ้าของ read/write/execute, group และ other read/execute - ไฟล์ Config ที่มีรหัสผ่าน (config.php): Permission
600— เจ้าของเท่านั้น - ไฟล์ที่ต้องให้ PHP เขียนได้ (cache, uploads): Permission
755หรือ777สำหรับโฟลเดอร์
เปลี่ยน Permission ใน FileZilla
คลิกขวาที่ไฟล์/โฟลเดอร์บน Remote Site → File permissions → ใส่เลข Numeric value แล้วกด OK สามารถเลือก Recurse into subdirectories เพื่อเปลี่ยน permission ทั้งโฟลเดอร์พร้อมกัน
# เปลี่ยน permission ทั้งโฟลเดอร์ผ่าน SSH (ถ้ามีสิทธิ์)
find /home/yourusername/public_html -type f -exec chmod 644 {} \;
find /home/yourusername/public_html -type d -exec chmod 755 {} \;
เปรียบเทียบ FTP กับวิธีอัพโหลดแบบอื่น
FTP ไม่ใช่วิธีเดียวในการโอนไฟล์ขึ้น Hosting แต่ละวิธีมีข้อดีข้อเสียต่างกัน:
| วิธี | ข้อดี | ข้อเสีย | เหมาะกับ |
|---|---|---|---|
| FTP/SFTP | โอนไฟล์จำนวนมากได้รวดเร็ว, Resume ได้, GUI ใช้งานง่าย | ต้องติดตั้ง Client | อัพโหลดครั้งละหลายไฟล์/โฟลเดอร์ |
| File Manager (DA) | ไม่ต้องติดตั้งอะไร ใช้ผ่าน Browser ได้เลย | ช้ากว่าสำหรับไฟล์จำนวนมาก, ไม่มี Resume | แก้ไขไฟล์เดี่ยว อัพโหลดไฟล์เล็กๆ |
| Git Deploy (SSH) | Automate ได้, มี Version Control, ทำงานเป็นทีมได้ | ตั้งค่าซับซ้อนกว่า ต้องรู้ Git | Developer ที่ต้องการ CI/CD pipeline |
| Softaculous/Auto-installer | ติดตั้ง CMS/App ได้ในคลิกเดียว | ใช้ได้เฉพาะ CMS ที่รองรับ | ติดตั้ง WordPress, Joomla, Drupal |
สำหรับการพัฒนาเว็บทั่วไป FTP/SFTP ผ่าน FileZilla เป็นตัวเลือกที่ดีที่สุดสำหรับการโอนไฟล์ขนาดใหญ่หรือหลายไฟล์พร้อมกัน เมื่อโปรเจกต์ขยายใหญ่ขึ้นควรพิจารณาเปลี่ยนไปใช้ Git Deploy เพื่อความสะดวกในการบริหารจัดการโค้ด
ความปลอดภัยของ FTP บน Hosting: แนวปฏิบัติที่ดี
การใช้ FTP/SFTP ให้ปลอดภัยควรปฏิบัติตามแนวทางเหล่านี้:
- ใช้ SFTP เสมอ — ห้ามใช้ FTP ธรรมดาบน Production server เพราะ Password ถูกส่งเป็น Plain Text
- สร้าง FTP Account แยกสำหรับ Developer/ช่าง — ไม่ควรแชร์ Main Hosting credentials ให้คนอื่น
- จำกัด Path ของ FTP Account แยก — กำหนด Home Directory ให้เข้าถึงได้เฉพาะโฟลเดอร์ที่จำเป็น เช่น
/public_html/wp-content/themes/แทนที่จะให้เข้าถึง root ทั้งหมด - ลบ FTP Account ที่ไม่ใช้แล้ว — ตรวจ DirectAdmin FTP Management เป็นระยะ ลบ account ที่ไม่จำเป็นออก
- ใช้รหัสผ่านที่แข็งแกร่ง — ควรมีความยาวอย่างน้อย 16 ตัวอักษร ประกอบด้วยตัวอักษรพิมพ์ใหญ่-เล็ก ตัวเลข และอักขระพิเศษ
- ไม่บันทึก Password ใน FileZilla แบบ Plaintext — ใช้ Master Password ของ FileZilla เพื่อเข้ารหัส stored credentials
คำถามที่พบบ่อยเกี่ยวกับ FTP บน DirectAdmin Hosting
ทำไม FileZilla เชื่อมต่อไม่ได้ทั้งที่ใส่ข้อมูลถูก?
ปัญหานี้มักเกิดจาก Transfer Mode ที่ตั้งเป็น Active ซึ่งต้องการให้ Server เชื่อมต่อกลับมายัง Client แต่ Firewall ของเราเตอร์หรือ ISP บล็อกการเชื่อมต่อขาเข้า แก้โดยเปลี่ยนเป็น Passive Mode ที่ Edit → Settings → Connection → FTP → Transfer Mode → Passive ซึ่งให้ Client เป็นฝ่ายเปิดการเชื่อมต่อแทน
อัพโหลดไฟล์ .php ไปแล้วแต่เว็บยังแสดงผลผิดอยู่ ต้องทำอย่างไร?
ตรวจสอบว่าอัพโหลดไฟล์ไปยัง public_html/ ถูกต้องหรือไม่ ถ้าอัพไปผิดโฟลเดอร์ (เช่น อยู่นอก public_html) เว็บไม่สามารถอ่านไฟล์ได้ นอกจากนี้ตรวจ File Permission ว่าตั้งเป็น 644 สำหรับไฟล์ PHP และถ้าไฟล์มี Syntax Error PHP จะแสดง Error แทนเนื้อหา ให้ตรวจ Error Log ใน DirectAdmin → Site Summary → Error Logs
FileZilla โอนไฟล์ได้ช้า จะเพิ่มความเร็วได้ไหม?
ได้ครับ เปิด FileZilla แล้วไปที่ Edit → Settings → Transfers → Maximum simultaneous transfers เพิ่มจาก 2 เป็น 5-10 เพื่อโอนหลายไฟล์พร้อมกัน แต่อย่าตั้งสูงเกินไปเพราะอาจทำให้ Server ตอบสนองช้าลง สำหรับการโอนไฟล์จำนวนมากครั้งเดียว การ ZIP ไฟล์รวมแล้วอัพโหลดก็เป็นวิธีที่เร็วกว่า จากนั้น Extract ผ่าน File Manager บน DirectAdmin
ต้องการ Hosting ที่รองรับ FTP/SFTP?
AsiaGB Hosting ทุกแผนรองรับ FTP, SFTP และ File Manager พร้อม SSL ฟรี เริ่มต้น 500 บาท/ปี
ดู Hosting Plans