ข้ามไปยังเนื้อหาหลัก
คู่มือระบบ เนื้อหาผ่านการตรวจสอบแล้ว

การ Deploy ด้วย FTP: ใช้ FTP Client

บทความนี้อธิบายถึงวิธีการ Deploy โปรเจกต์ PHP ไปยัง Shared Hosting โดยใช้ FTP Client เช่น FileZilla ซึ่งครอบคลุมตั้งแต่การตั้งค่าโปรแกรม, การอัพโหลดไฟล์, การจัด...

การ Deploy ด้วย FTP: ใช้ FTP Client

ในบทที่แล้ว เราได้เรียนรู้วิธีการ Deploy โปรเจกต์ PHP ไปยัง Shared Hosting แบบพื้นฐานกันไปแล้ว ซึ่งเน้นการเตรียมไฟล์และการอัพโหลดผ่าน FTP Client ในบทนี้ เราจะเจาะลึกวิธีการใช้งาน FTP Client ให้ละเอียดมากขึ้น รวมถึงการจัดการไฟล์และข้อควรระวังต่างๆ ที่ควรรู้ เพื่อให้การ Deploy ของคุณราบรื่นและปลอดภัยยิ่งขึ้น

FTP Client คืออะไร?

FTP Client คือโปรแกรมที่ช่วยให้เราสามารถเชื่อมต่อกับ FTP Server (ในกรณีนี้คือ Server ของ Shared Hosting ของเรา) เพื่ออัพโหลด, ดาวน์โหลด, ลบ, และจัดการไฟล์ต่างๆ บน Server ได้อย่างง่ายดาย แทนที่จะต้องใช้ Command Line ซึ่งอาจจะยุ่งยากสำหรับผู้เริ่มต้น

มี FTP Client ให้เลือกใช้มากมาย ทั้งแบบฟรีและเสียเงิน เช่น FileZilla (ฟรีและเป็นที่นิยม), Cyberduck (ฟรี), Transmit (เสียเงิน, สำหรับ macOS), และอื่นๆ ในบทความนี้ เราจะใช้ FileZilla เป็นตัวอย่าง เนื่องจากใช้งานง่ายและฟรี

การตั้งค่า FileZilla

ก่อนที่เราจะสามารถอัพโหลดไฟล์ได้ เราต้องตั้งค่า FileZilla ให้เชื่อมต่อกับ Server ของเราก่อน โดยข้อมูลที่ต้องใช้ในการตั้งค่าคือ:

  • Host: ชื่อ Host หรือ IP Address ของ Server (เช่น ftp.yourdomain.com หรือ IP Address ของ Server)
  • Username: ชื่อผู้ใช้ FTP ที่ Hosting Provider ให้มา
  • Password: รหัสผ่านสำหรับ Username นั้นๆ
  • Port: โดยปกติคือ 21 (FTP) หรือ 22 (SFTP) แต่ควรตรวจสอบกับ Hosting Provider อีกครั้ง

ข้อควรระวัง: หากคุณใช้ SFTP (Secure FTP) Port จะเป็น 22 และคุณต้องตรวจสอบให้แน่ใจว่า Hosting Provider ของคุณรองรับ SFTP

ขั้นตอนการตั้งค่า:

  1. เปิดโปรแกรม FileZilla
  2. คลิกที่เมนู "File" -> "Site Manager" (หรือกด Ctrl+S)
  3. คลิกที่ปุ่ม "New Site"
  4. ตั้งชื่อ Site ของคุณ (เช่น "My Website")
  5. ในแท็บ "General" ให้กรอกข้อมูลต่อไปนี้:
    • Protocol: เลือก "FTP - File Transfer Protocol" (หรือ "SFTP - SSH File Transfer Protocol" หากคุณใช้ SFTP)
    • Host: กรอก Hostname หรือ IP Address ของ Server
    • Encryption: เลือก "Require explicit FTP over TLS" (หรือ "Only use plain FTP (insecure)" หากคุณไม่ต้องการ Encryption แต่ไม่แนะนำ)
    • Logon Type: เลือก "Normal"
    • User: กรอก Username ของคุณ
    • Password: กรอก Password ของคุณ
    • Port: กรอก Port ของคุณ (โดยปกติคือ 21 หรือ 22)
  6. คลิกที่ปุ่ม "Connect"

หากทุกอย่างถูกต้อง คุณจะเห็นโครงสร้าง Directory ของ Server ปรากฏทางด้านขวาของหน้าต่าง FileZilla

กรณีใช้งานจริง: หากคุณลืม Password FTP คุณสามารถ Reset Password ได้จาก Control Panel ของ Hosting Provider ของคุณ (เช่น cPanel, Plesk)

ข้อผิดพลาดที่พบบ่อย: หากคุณไม่สามารถเชื่อมต่อได้ ตรวจสอบให้แน่ใจว่า Hostname, Username, Password, และ Port ถูกต้อง และตรวจสอบ Firewall ของคุณว่าไม่ได้ Block การเชื่อมต่อ FTP

การอัพโหลดไฟล์

เมื่อคุณเชื่อมต่อกับ Server ได้แล้ว การอัพโหลดไฟล์ก็ง่ายมาก เพียงแค่ลากไฟล์หรือโฟลเดอร์จากฝั่ง Local (ด้านซ้ายของ FileZilla) ไปยังฝั่ง Remote (ด้านขวาของ FileZilla) FileZilla จะทำการอัพโหลดไฟล์ให้โดยอัตโนมัติ

ขั้นตอนการอัพโหลด:

  1. ในฝั่ง Local (ด้านซ้ายของ FileZilla) ให้ไปยัง Directory ที่เก็บไฟล์โปรเจกต์ PHP ของคุณ
  2. ในฝั่ง Remote (ด้านขวาของ FileZilla) ให้ไปยัง Directory ที่คุณต้องการอัพโหลดไฟล์ (โดยปกติคือ public_html หรือ www)
  3. เลือกไฟล์หรือโฟลเดอร์ที่คุณต้องการอัพโหลด
  4. ลากไฟล์หรือโฟลเดอร์นั้นไปยังฝั่ง Remote
  5. FileZilla จะแสดง Progress Bar ในส่วนล่างของหน้าต่าง
  6. เมื่อการอัพโหลดเสร็จสิ้น ไฟล์จะปรากฏใน Directory ที่คุณเลือกในฝั่ง Remote

ข้อควรระวัง:

  • ไฟล์ .env: ไฟล์ .env ที่เก็บข้อมูลสำคัญ เช่น Database Credentials ควรเก็บไว้ใน Directory ที่ไม่สามารถเข้าถึงได้จากภายนอก (เช่น นอก public_html) และกำหนดค่าใน Web Server ให้ชี้ไปยังไฟล์นี้
  • Permissions: ตรวจสอบ Permissions ของไฟล์และโฟลเดอร์บน Server ให้ถูกต้อง โดยทั่วไปไฟล์ PHP ควรมี Permissions เป็น 644 และโฟลเดอร์ควรมี Permissions เป็น 755
  • ไฟล์ขนาดใหญ่: การอัพโหลดไฟล์ขนาดใหญ่อาจใช้เวลานาน และอาจทำให้การเชื่อมต่อ FTP ขาดหายได้ หากเป็นไปได้ ให้ใช้ SFTP แทน หรือบีบอัดไฟล์ก่อนอัพโหลด

กรณีใช้งานจริง: หากคุณต้องการอัพเดทไฟล์เพียงบางส่วน แทนที่จะอัพโหลดทั้งโปรเจกต์ คุณสามารถอัพโหลดเฉพาะไฟล์ที่เปลี่ยนแปลงได้ ซึ่งจะช่วยประหยัดเวลาและ Bandwidth

ข้อผิดพลาดที่พบบ่อย: หากการอัพโหลดล้มเหลว ตรวจสอบให้แน่ใจว่าคุณมีสิทธิ์ในการเขียนไฟล์ใน Directory นั้น และตรวจสอบว่า Disk Space บน Server ของคุณยังเพียงพอ

การจัดการไฟล์

นอกจากการอัพโหลดไฟล์แล้ว FTP Client ยังช่วยให้เราสามารถจัดการไฟล์บน Server ได้อีกด้วย เช่น:

  • การสร้างโฟลเดอร์: คลิกขวาในฝั่ง Remote และเลือก "Create directory"
  • การลบไฟล์หรือโฟลเดอร์: คลิกขวาที่ไฟล์หรือโฟลเดอร์ และเลือก "Delete"
  • การเปลี่ยนชื่อไฟล์หรือโฟลเดอร์: คลิกขวาที่ไฟล์หรือโฟลเดอร์ และเลือก "Rename"
  • การแก้ไขไฟล์: คลิกขวาที่ไฟล์ และเลือก "View/Edit" FileZilla จะเปิดไฟล์ด้วย Text Editor ที่คุณตั้งค่าไว้ (คุณสามารถตั้งค่า Text Editor ได้ใน FileZilla Settings) หลังจากแก้ไขและบันทึก FileZilla จะอัพโหลดไฟล์ไปยัง Server โดยอัตโนมัติ
  • การเปลี่ยน Permissions: คลิกขวาที่ไฟล์หรือโฟลเดอร์ และเลือก "File permissions..."

ข้อควรระวัง: การลบไฟล์หรือโฟลเดอร์บน Server เป็นการกระทำที่ไม่สามารถยกเลิกได้ ดังนั้นควรตรวจสอบให้แน่ใจก่อนที่จะลบ

กรณีใช้งานจริง: หากคุณต้องการแก้ไขไฟล์ Configuration บน Server คุณสามารถใช้ FileZilla แก้ไขได้โดยตรง แต่ควร Backup ไฟล์ก่อนทำการแก้ไข

สรุป

การใช้ FTP Client เป็นวิธีที่ง่ายและสะดวกในการ Deploy โปรเจกต์ PHP ไปยัง Shared Hosting โดยเฉพาะสำหรับผู้เริ่มต้น การทำความเข้าใจวิธีการตั้งค่า, การอัพโหลดไฟล์, และการจัดการไฟล์ จะช่วยให้คุณ Deploy โปรเจกต์ได้อย่างราบรื่นและมีประสิทธิภาพยิ่งขึ้น

ในบทถัดไป เราจะเรียนรู้วิธีการใช้ SSH (Secure Shell) ซึ่งเป็นอีกทางเลือกหนึ่งในการเข้าถึงและจัดการ Server ผ่าน Command Line ซึ่งมีความยืดหยุ่นและปลอดภัยกว่า FTP

Office.in.th Custom Service

ต้องการพัฒนาระบบหรือปรับแต่งจากโครงสร้างนี้?

Office.in.th รับพัฒนาและออกแบบ Enterprise Web Application, API Integration และระบบบริหารงานภาครัฐ/เอกชน พร้อมการสนับสนุนระยะยาว

ดูบริการรับพัฒนาซอฟต์แวร์