Category: SOP

  • การใช้ FileZilla เพื่อจัดการไฟล์อย่างมืออาชีพ

    การใช้ FileZilla เพื่อจัดการไฟล์อย่างมืออาชีพ


    Table of Content


    บทนำ: เริ่มต้นการเดินทางกับ FileZilla

    ห่างหายกันไปนานเลยนะครับกับบล็อก! วันนี้ผมกลับมาพร้อมกับคู่มือแนะนำวิธีการใช้โปรแกรม FileZilla ซึ่งเป็นเครื่องมือที่ทรงพลังมากสำหรับการจัดการไฟล์ พร้อมทั้งจะขออธิบาย Architecture ที่อยู่เบื้องหลังให้เข้าใจกันมากขึ้นด้วยครับ พอดีผมต้องเขียนเอกสารถ่ายทอดงานให้ทีมอยู่แล้ว ก็เลยถือโอกาสนี้เรียบเรียงและนำมาแบ่งปันในบล็อกนี้ด้วยเลยครับ หวังว่าจะเป็นประโยชน์กับเพื่อนๆ นะครับ

    ก่อนอื่นเลย เพื่อนๆ คงเคยได้ยินคำว่า FTP หรือ File Transfer Protocol กันมาบ้างใช่ไหมครับ? FTP เป็นเทคโนโลยีที่ถูกสร้างขึ้นมาเพื่อปฏิวัติวงการการจัดเก็บและโอนย้ายไฟล์เลยก็ว่าได้ และเจ้า FTP นี่แหละครับ คือเทคโนโลยีสำคัญที่อยู่เบื้องหลังการทำงานของ FileZilla นั่นเอง

    FTP และ FileZilla คืออะไร? ทำความเข้าใจพื้นฐาน

    FTP หรือ File Transfer Protocol เป็นโปรโตคอล (Protocol) หรือข้อกำหนดมาตรฐานรูปแบบหนึ่งที่ใช้ในการส่งผ่านไฟล์ระหว่างคอมพิวเตอร์สองเครื่องผ่านเครือข่ายอินเทอร์เน็ตหรือ LAN โดย FTP เคยเป็นโปรโตคอลที่ใช้กันอย่างแพร่หลายและถือเป็นมาตรฐานของอุตสาหกรรมอยู่ยุคหนึ่งเลยทีเดียวครับ จนกระทั่งการมาของ SFTP (SSH File Transfer Protocol) ซึ่งมีความปลอดภัยสูงกว่า FTP แบบดั้งเดิมมาก ทำให้ความนิยมของ FTP แบบเดิมลดน้อยลงไป แต่ก็ยังมีการใช้งานกันอยู่ครับ

    FileZilla เป็นซอฟต์แวร์ (Software) ประเภท Open-Source ที่พัฒนาโดยคุณ Tim Kosse และทีมงาน FileZilla ถูกออกแบบบนสถาปัตยกรรมแบบ Client-Server ทำหน้าที่หลักในการอำนวยความสะดวกในการโอนย้ายไฟล์ระหว่างเครื่องคอมพิวเตอร์ของผู้ใช้ (Local) กับเครื่องเซิร์ฟเวอร์ (Server) หรือในทางกลับกันก็ทำได้เช่นกัน FileZilla นั้นมีให้เลือกใช้ทั้งแบบฟรี (FileZilla Client และ FileZilla Server) และแบบเสียเงิน (FileZilla Pro) ซึ่งมีฟีเจอร์เพิ่มเติมสำหรับผู้ใช้งานระดับสูงครับ

    เมื่อเข้าใจคอนเซ็ปต์คร่าวๆ แล้ว เรามาเริ่มติดตั้ง FileZilla Client กันเลยดีกว่าครับ!

    มาเริ่มต้นกันเลย! (วิธีติดตั้ง FileZilla Client)

    1. ดาวน์โหลดโปรแกรม: ขั้นแรก ให้เพื่อนๆ ทำการดาวน์โหลดโปรแกรม FileZilla Client จากเว็บไซต์ทางการโดยตรง เพื่อความปลอดภัยและได้เวอร์ชันล่าสุดครับ (แนะนำ: https://filezilla-project.org/)

    https://filezilla-project.org/

    2. เริ่มการติดตั้ง: เมื่อดาวน์โหลดไฟล์ติดตั้ง (.exe สำหรับ Windows หรือไฟล์ที่เหมาะสมสำหรับ OS อื่นๆ) มาแล้ว ให้ดับเบิลคลิกเพื่อเริ่มกระบวนการติดตั้งครับ ให้ทำตามขั้นตอนที่ Wizard แนะนำไปเรื่อยๆ โดยส่วนใหญ่เราสามารถกด “Next” หรือ “Agree” ได้เลยครับ

    3. เสร็จสิ้นการติดตั้ง: เมื่อติดตั้งเสร็จสิ้นแล้ว เราก็พร้อมเปิดโปรแกรม FileZilla Client ขึ้นมาใช้งานกันได้เลยครับ! หน้าตาโปรแกรมเมื่อเปิดครั้งแรกจะเป็นประมาณนี้

    คู่มือย้ายไฟล์: จาก Web Server (Local) สู่ File Server (Remote) ด้วย FileZilla

    ในสถานการณ์นี้ เราจะจำลองว่า FileZilla Client ของเรากำลังทำงานอยู่บน Web Server (หรือเครื่องที่เราเข้าถึงไฟล์ของ Web Server ได้โดยตรง) ซึ่งจะแสดงผลเป็น “Local Site” (ฝั่งซ้าย) ใน FileZilla และเราต้องการย้ายไฟล์จาก Web Server นี้ไปยัง File Server ปลายทาง ซึ่งเราจะเชื่อมต่อและให้แสดงผลเป็น “Remote Site” (ฝั่งขวา) ครับ

    เพื่อให้เห็นภาพรวมของขั้นตอน ผมขอวาดเป็น Flowchart ง่ายๆ ด้วยภาษา Mermaid ให้ดูกันก่อนนะครับ:

    Code snippet

    graph TD
        A[เริ่มต้น] --> B(เปิดโปรแกรม FileZilla บน Web Server)
        B --> C{เชื่อมต่อ File Server ปลายทางผ่าน Site Manager}
        C --> D[เลือกไฟล์/โฟลเดอร์บน Web Server (Local Site) ที่ต้องการย้าย]
        D --> E[ลากไฟล์/โฟลเดอร์จาก Web Server (Local Site) ไปยัง File Server (Remote Site)]
        E --> F[ตรวจสอบความเรียบร้อยและสิ้นสุด]
    

    เอาล่ะครับ มาดูขั้นตอนแบบละเอียดกันเลย:

    1. เชื่อมต่อ File Server ปลายทาง (Remote Site):

    2. หากยังไม่เคยสร้าง Site มาก่อน หรือต้องการเพิ่มการเชื่อมต่อใหม่ ให้คลิกที่ปุ่ม New Site ครับ (ภาพปุ่ม New Site)จากนั้น ตั้งชื่อ Site ของคุณ (เช่น “My File Server”) แล้วกรอกรายละเอียดการเชื่อมต่อที่สำคัญในแท็บ “General” ครับ:

    • Host: ป้อน IP Address หรือชื่อ Hostname ของ File Server ปลายทาง
    • Username: ชื่อผู้ใช้สำหรับเข้า File Server
    • Password: รหัสผ่านสำหรับเข้า File Server

    3. ทำความเข้าใจโปรโตคอลก่อนเชื่อมต่อ (สำคัญมาก!): ก่อนที่เราจะกด “Connect” ผมอยากให้เราทำความเข้าใจเกี่ยวกับ “Protocol” (โปรโตคอล) ที่จะใช้เชื่อมต่อกันสักนิดครับ เพราะมีผลต่อความปลอดภัยของข้อมูลเรามากๆ

    • SFTP (SSH File Transfer Protocol): ชื่อเต็มคือ SSH File Transfer Protocol (คนละตัวกับ FTPS นะครับ!) ตัวนี้จะแตกต่างจาก FTP โดยสิ้นเชิงครับ SFTP ไม่ได้ทำงานบนฐานของ FTP แต่ทำงานผ่านโปรโตคอล SSH (Secure Shell) ซึ่งมีความปลอดภัยสูงมาก โดยปกติเราจะใช้พอร์ต 22 (พอร์ตเดียวกับ SSH) ในการเชื่อมต่อ วิธีนี้ปลอดภัยกว่า FTP มาก เพราะมีการเข้ารหัสข้อมูลทั้งหมดที่ส่งผ่าน ทำให้มั่นใจได้ว่าข้อมูลของเราปลอดภัยครับ ผมแนะนำให้เลือกใช้ SFTP หาก File Server ของคุณรองรับครับ

    • Storj (Decentralized Cloud Storage): ตัวเลือกนี้เป็นโปรโตคอลสำหรับการเชื่อมต่อกับบริการ Cloud Storage แบบกระจายศูนย์ที่ชื่อว่า Storj ครับ ซึ่งมักจะเป็นฟีเจอร์ใน FileZilla Pro (เวอร์ชันเสียเงิน) แทนที่จะเป็นการโอนไฟล์ไปยัง Remote Server แบบเดิมๆ ก็จะเป็นการโอนไฟล์ไปยัง Cloud Storage ตาม Region ต่างๆ แทนครับให้เพื่อนๆ เลือก Protocol ที่เหมาะสม (แนะนำ SFTP) จากนั้นตรวจสอบ Port ให้ถูกต้อง (SFTP มักจะเป็น Port 22)

    • Logon Type (ประเภทการเข้าสู่ระบบ): ผมแนะนำให้เลือกเป็น Ask for password (ถามรหัสผ่านทุกครั้ง) เพื่อความปลอดภัยสูงสุดครับ เพราะถ้าเลือกเป็น Normal โปรแกรมจะบันทึกรหัสผ่านไว้ ซึ่งหากใครเข้าใช้คอมพิวเตอร์หรือ FileZilla ของเราได้ ก็จะสามารถเชื่อมต่อเซิร์ฟเวอร์ได้ทันที เสี่ยงต่อการถูกแฮกได้ครับ (ภาพตัวเลือก Protocol และ Logon Type ใน Site Manager)

    4. เริ่มการเชื่อมต่อ:

    • เมื่อกรอกข้อมูลครบถ้วนและถูกต้องแล้ว กดปุ่ม Connect ได้เลยครับ FileZilla จะพยายามเชื่อมต่อไปยัง File Server ปลายทาง
    • หากเชื่อมต่อสำเร็จ คุณจะเห็นข้อความสถานะการเชื่อมต่อที่ดี และในหน้าต่างด้านขวา (Remote Site) จะแสดงไฟล์และโฟลเดอร์บน File Server ครับ (ภาพแสดงการเชื่อมต่อสำเร็จ และหน้าต่าง Remote Site ที่มีไฟล์)

    5. เตรียมไฟล์และเริ่มโอนย้าย:

    • ตอนนี้ มาดูหน้าต่างโปรแกรม FileZilla กันครับ:
      • ฝั่งซ้าย (Local Site): นี่คือไฟล์และโฟลเดอร์บน Web Server ของคุณ (เครื่องที่คุณกำลังเปิด FileZilla อยู่ หรือเครื่องที่ FileZilla มองเห็นไฟล์เป็น Local)
      • ฝั่งขวา (Remote Site): นี่คือไฟล์และโฟลเดอร์บน File Server ปลายทาง ที่คุณเพิ่งเชื่อมต่อเข้าไป คุณสามารถค้นหาไฟล์หรือโฟลเดอร์ได้หลายวิธีครับ ไม่ว่าจะเป็นการพิมพ์ Path Directory โดยตรง, การคลิกไล่ดูตามโฟลเดอร์ (Browse), หรือใช้ฟังก์ชันค้นหา (หากมี)
    • ในหน้าต่าง Local Site (ด้านซ้าย – Web Server ของคุณ) ให้ไปยังโฟลเดอร์ที่มีไฟล์ที่คุณต้องการจะย้ายไปยัง File Server ครับ (ภาพแสดงการเลือกไฟล์ใน Local Site)
    • เลือกไฟล์หรือโฟลเดอร์ที่ต้องการจากฝั่ง Local Site (Web Server) จากนั้น ลาก (drag and drop) ไฟล์หรือโฟลเดอร์เหล่านั้นข้ามไปวางยังตำแหน่งที่ต้องการในฝั่ง Remote Site (File Server) ครับ หรือจะคลิกขวาที่ไฟล์/โฟลเดอร์ต้นทางแล้วเลือก “Upload” ก็ได้เช่นกัน
    • รอจนกว่ากระบวนการโอนย้ายไฟล์จะเสร็จสิ้น คุณสามารถดูความคืบหน้าได้ที่แถบด้านล่างของโปรแกรมครับ

    6. ตรวจสอบความถูกต้อง:

    • หลังจากโอนย้ายไฟล์เสร็จสิ้น ควรตรวจสอบความถูกต้องของไฟล์บน File Server (Remote Site) อีกครั้งครับ
    • คุณสามารถตรวจสอบจำนวนไฟล์และขนาดรวมของโฟลเดอร์ได้ในแถบสถานะของ FileZilla หรือโดยการคลิกขวาที่โฟลเดอร์แล้วเลือก ‘Properties’ (คุณสมบัติ) ทั้งบน Web Server (Local Site) และบน File Server (Remote Site) เพื่อเปรียบเทียบครับ

    เยี่ยมไปเลยครับ! ตอนนี้ไฟล์ของคุณก็ถูกย้ายจาก Web Server ไปยัง File Server เรียบร้อยแล้ว

    สำรวจฟีเจอร์น่าใช้บน FileZilla Client

    FileZilla Client ไม่ได้มีดีแค่การโอนไฟล์นะครับ ยังมีเมนูและฟีเจอร์ย่อยๆ ที่น่าสนใจอีกเพียบ ลองมาดูกันครับ:

    • FILE (ไฟล์): สำหรับแท็บนี้ นอกจาก Site Manager ที่เราใช้กันไปแล้ว ยังใช้สำหรับเปิดแท็บการเชื่อมต่อใหม่ (New tab), นำเข้า (Import) หรือส่งออก (Export) การตั้งค่า Site Manager จาก FileZilla เครื่องอื่นก็ได้ ทำให้ไม่ต้องตั้งค่าใหม่ทั้งหมดเมื่อย้ายเครื่องครับ
    • EDIT (แก้ไข): ในแท็บนี้จะมีตัวเลือกสำหรับการตั้งค่าต่างๆ ของโปรแกรม (Settings) เช่น การแก้ไขการตั้งค่าพอร์ตเริ่มต้น, การตั้งค่า Network Configuration Wizard เพื่อช่วยตรวจสอบการตั้งค่า Firewall และ Router ว่าถูกต้องหรือไม่ และยังมีตัวเลือกสำหรับล้างข้อมูลส่วนตัว (Clear private data) เช่น ประวัติการเชื่อมต่อและรหัสผ่านที่บันทึกไว้ (ถ้ามี) ครับ
    • VIEW (มุมมอง): แท็บนี้ใช้สำหรับปรับแต่งการแสดงผลส่วนต่างๆ ของโปรแกรม FileZilla เช่น ซ่อนหรือแสดงแถบ Local, Remote, แถบสถานะ, หรือคิวการถ่ายโอนไฟล์ ทำให้เราปรับหน้าจอให้เหมาะสมกับการใช้งานของเราได้ครับ
    • TRANSFER (การถ่ายโอน): แท็บนี้ใช้เพื่อจัดการกับกระบวนการถ่ายโอนไฟล์ในปัจจุบัน เช่น ดูสถานะการถ่ายโอน, ไฟล์ที่อยู่ในคิวรอการโอนย้าย, ประมวลผลคิวอีกครั้ง (Process Queue) และยังสามารถตั้งค่าประเภทการถ่ายโอนเริ่มต้น (Default transfer type) ได้ด้วยครับ
    • SERVER (เซิร์ฟเวอร์): แท็บนี้มีคำสั่งที่เกี่ยวข้องกับเซิร์ฟเวอร์ที่เรากำลังเชื่อมต่ออยู่ เช่น การป้อนคำสั่ง FTP โดยตรง (Enter custom command), การบังคับให้แสดงรายการไฟล์ในโฟลเดอร์อีกครั้ง (Refresh), หรือการค้นหาไฟล์บนเซิร์ฟเวอร์ (Search remote files) ครับ
    • BOOKMARKS (บุ๊กมาร์ก): หากคุณต้องเข้าถึงโฟลเดอร์ใดโฟลเดอร์หนึ่งบน Remote Server บ่อยๆ คุณสามารถเพิ่มเป็นบุ๊กมาร์กได้จากเมนูนี้ครับ ทำให้คลิกเพียงครั้งเดียวก็เข้าไปยังโฟลเดอร์นั้นได้ทันที สะดวกสุดๆ!

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

    ยกตัวอย่างเช่น บางครั้งเราอาจต้องการเข้าไปแก้ไข Source Code หรือไฟล์ Config เล็กๆ น้อยๆ อย่างเร่งด่วน เราสามารถคลิกขวาที่ไฟล์บน Remote Server แล้วเลือก View/Edit ได้เลย FileZilla จะดาวน์โหลดไฟล์นั้นมาเก็บไว้ชั่วคราว ให้เราเปิดแก้ไขด้วยโปรแกรม Editor ที่เราตั้งค่าไว้ เมื่อเราแก้ไขและกด Save ไฟล์นั้น FileZilla จะตรวจจับการเปลี่ยนแปลงและถามว่าจะอัปโหลดไฟล์ที่แก้ไขกลับไปยังเซิร์ฟเวอร์หรือไม่ เป็นฟีเจอร์ที่ช่วยประหยัดเวลาได้มากโขเลยครับ

    FileZilla Server คืออะไร? ใครควรใช้?

    นอกจาก FileZilla Client ที่เราเน้นใช้งานกันแล้ว ยังมี FileZilla Server ด้วยนะครับ ซึ่งตามชื่อเลยครับ ตัวนี้จะทำหน้าที่เป็น “เซิร์ฟเวอร์” ให้ผู้อื่นเชื่อมต่อเข้ามาเพื่อรับส่งไฟล์ FileZilla Server รองรับโปรโตคอล FTP, FTPS (FTP over SSL/TLS), และ SFTP (สำหรับเวอร์ชัน Pro หรือเมื่อคอมไพล์เองกับไลบรารีที่รองรับ) เพื่อให้มั่นใจว่าไฟล์ที่ส่งผ่านนั้นถูกเข้ารหัสและปลอดภัย

    โดยในหน้าจอการตั้งค่า (GUI – Graphical User Interface) ของ FileZilla Server นั้นก็จะมีฟีเจอร์ให้ปรับแต่งได้มากมาย เช่น การสร้าง User และ Group, การกำหนดสิทธิ์การเข้าถึงโฟลเดอร์, การจำกัดความเร็ว, การกรอง IP Address และอื่นๆ อีกมากมายครับ เหมาะสำหรับคนที่ต้องการตั้ง FTP Server ส่วนตัว หรือใช้ภายในองค์กรครับ

    จริงๆ แล้วยังมี FileZilla Pro ที่รวมความสามารถทั้ง Client และ Server พร้อมฟีเจอร์ขั้นสูงอีกมากมาย แต่เนื่องจากผมเองยังไม่เคยได้ใช้งานเวอร์ชัน Pro อย่างเต็มรูปแบบ จึงขอละรายละเอียดในส่วนนี้ไว้ก่อนนะครับ

    โหมดของ FTP: Active และ Passive ต่างกันอย่างไร?

    สำหรับเพื่อนๆ ที่ใช้ FTP (แบบดั้งเดิมหรือ FTPS) อาจจะเคยสงสัยเกี่ยวกับ “โหมด” การเชื่อมต่อของ FTP ซึ่งหลักๆ แล้วมีอยู่ 2 โหมด คือ Active Mode และ Passive Mode ครับ สองโหมดนี้มีความแตกต่างกันในเรื่องของวิธีการที่ Client และ Server สร้างช่องทางการสื่อสารสำหรับส่งข้อมูล (Data Channel) ครับ

    1. Active Mode (แอคทีฟโหมด): ในโหมดนี้ Client จะเป็นคนเริ่มต้นการเชื่อมต่อ Command Channel (ช่องทางส่งคำสั่ง) ไปยัง Server จากนั้น Client จะ “บอก” Server ว่าจะให้ Server เชื่อมต่อ Data Channel กลับมาหา Client ที่ IP Address และ Port ไหน เมื่อ Server ได้รับข้อมูลแล้ว Server ก็จะเป็นฝ่าย “เริ่มต้น” การเชื่อมต่อ Data Channel กลับมายัง Client ครับ ปัญหามักจะเกิดถ้า Client อยู่หลัง Firewall หรือ NAT Router ซึ่งอาจจะบล็อกการเชื่อมต่อที่เข้ามาจาก Server ครับ
    2. Passive Mode (พาสซีฟโหมด) (เป็นค่าเริ่มต้นใน FileZilla): เพื่อแก้ไขปัญหาของ Active Mode จึงเกิด Passive Mode ขึ้นมาครับ ในโหมดนี้ Client จะเป็นคนเริ่มต้นทั้ง Command Channel และ Data Channel ครับ โดย Client จะส่งคำสั่ง PASV ไปยัง Server จากนั้น Server จะตอบกลับมาพร้อมกับ IP Address และ Port Number ที่ Server ได้เปิดรอไว้สำหรับ Data Channel แล้ว Client ก็จะใช้ข้อมูลนั้นในการเริ่มต้นการเชื่อมต่อ Data Channel ไปยัง Server ครับ วิธีนี้มักจะทำงานได้ดีกว่าเมื่อ Client อยู่หลัง Firewall เพราะ Client เป็นฝ่ายเริ่มการเชื่อมต่อออกไปทั้งหมด

    โดยทั่วไปแล้ว FileZilla Client จะตั้งค่าเริ่มต้นเป็น Passive Mode ซึ่งมักจะไม่มีปัญหาในการใช้งานครับ

    บทสรุป: ก้าวต่อไปกับการจัดการไฟล์ของคุณ

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

    สำหรับก้าวต่อไปคุณสามารถประยุกต์ Concept นี้ไปใช้กับการเขียนโค้ด หรือว่าประยุกต์กับ การเขียนสคริปต์ หรือ ทำ Automation เพื่อให้การถ่ายโอนข้อมูลมีประสิทธิภาพไร้รอยต่อมากยิ่งขึ้น

    หวังว่าคู่มือนี้จะเป็นประโยชน์และช่วยให้เพื่อนๆ เข้าใจวิธีการใช้งานโปรแกรม FileZilla ได้ดียิ่งขึ้นนะครับ ลองนำไปปรับใช้กับการทำงานของตัวเองดู แล้วจะพบว่าการจัดการไฟล์บนเซิร์ฟเวอร์ไม่ใช่เรื่องยากอีกต่อไป! หากมีคำถามหรือข้อเสนอแนะเพิ่มเติม สามารถคอมเมนต์ไว้ได้เลยนะครับ แล้วพบกันใหม่ในบทความหน้าครับ!

    Reference