อัพโหลดไฟล์ FTP FileZilla DirectAdmin

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:

สร้าง 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 (แนะนำ บันทึกไว้ใช้ซ้ำ)

  1. เปิด File → Site Manager (หรือ Ctrl+S)
  2. กด New Site ตั้งชื่อ เช่น "AsiaGB Hosting"
  3. เลือก Protocol: FTP หรือ SFTP (ถ้า server รองรับ)
  4. ใส่ Host, Port, Username, Password
  5. Logon Type: Normal (ไม่ต้องพิมพ์ password ทุกครั้ง)
  6. กด Connect

SFTP ปลอดภัยกว่า FTP: SFTP (SSH File Transfer Protocol) เข้ารหัสข้อมูลระหว่างการโอน ใช้ port 22 ถ้า Hosting รองรับ ควรเลือก SFTP แทน FTP ธรรมดา

โครงสร้างโฟลเดอร์ที่ควรรู้

หลังเชื่อมต่อสำเร็จ ฝั่งขวา (Remote Site) จะแสดงโฟลเดอร์บน Hosting:

อัพโหลดไฟล์

ลากวาง (Drag & Drop)

ฝั่งซ้าย (Local Site) ไปที่โฟลเดอร์ที่มีไฟล์ของคุณ จากนั้นลากไฟล์/โฟลเดอร์มาวางในโฟลเดอร์ปลายทางฝั่งขวา FileZilla จะเริ่มอัพโหลดทันที

อัพโหลดทั้งโฟลเดอร์

  1. ฝั่งซ้าย ไปที่โฟลเดอร์ที่ต้องการ
  2. คลิกขวาที่โฟลเดอร์ → Upload
  3. FileZilla จะโอนไฟล์ทั้งหมดพร้อม subfolder

ดู Queue และ Transfer Status

ดูที่แถบด้านล่าง FileZilla: Queued files แสดงไฟล์ที่รออยู่ Successful transfers แสดงที่โอนสำเร็จ Failed transfers แสดงที่ผิดพลาด (คลิกขวา → Retry เพื่อลองใหม่)

ปัญหาที่พบบ่อย

Connection Timeout / ECONNREFUSED

Permission Denied เมื่ออัพโหลด

ไฟล์ .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 ที่ถูกต้องเป็นสิ่งสำคัญด้านความปลอดภัยและการทำงานของเว็บไซต์:

เปลี่ยน 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 ให้ปลอดภัยควรปฏิบัติตามแนวทางเหล่านี้:

คำถามที่พบบ่อยเกี่ยวกับ 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