FTP (File Transfer Protocol) เป็นโปรโตคอลเครือข่ายมาตรฐานที่ใช้สำหรับการ ถ่ายโอนไฟล์ระหว่างโฮสต์ สองฝั่งผ่านเครือข่ายที่ใช้ TCP โดยทำงานบนสถาปัตยกรรมแบบ Client–Serverซึ่งแยกการเชื่อมต่อระหว่าง: การส่งข้อมูล (Data Connection) และการควบคุมคำสั่ง (Control Connection)
🔐 ความปลอดภัยของ FTP
เพื่อเพิ่มความปลอดภัยในการใช้งาน FTP สามารถใช้ FTPS (FTP Secure) ซึ่งเป็น FTP ที่มีการเข้ารหัสด้วย SSL/TLS
สิ่งที่ถูกเข้ารหัสประกอบด้วย:
- ชื่อผู้ใช้ (Username)
- รหัสผ่าน (Password)
- ข้อมูลที่ส่งผ่าน FTP Session
(แพลตฟอร์มของเรารองรับทั้ง FTP และ FTPS)
ความแตกต่างระหว่าง FTP และ HTTP
- FTP เป็น stateful protocol – มีการสร้าง session ควบคุมที่คงอยู่ตลอดช่วงการเชื่อมต่อ
- HTTP เป็น stateless – ไม่มีการเก็บสถานะของ session ระหว่างคำขอ
FTP จึงเหมาะสำหรับการถ่ายโอนไฟล์หลายรายการในการเชื่อมต่อครั้งเดียว
ตัวอย่างการใช้งาน FTP บนแพลตฟอร์ม
- อัปโหลด/ดาวน์โหลดไฟล์หรือทรัพยากรต่างๆ
- ดาวน์โหลดและอ่านไฟล์ logs เพื่อวิเคราะห์ระบบ
- แก้ไขไฟล์ การตั้งค่า (Configuration Files)
- ซิงค์ไฟล์ระหว่างเครื่องพัฒนาและเซิร์ฟเวอร์
- การ Deploy แอปพลิเคชันผ่าน FTP ไม่แนะนำ
(⚠️ แนะนำให้ใช้ Git หรือระบบ CI/CD แทน เพื่อความแม่นยำและปลอดภัยมากกว่า)
ฟีเจอร์นี้สามารถใช้ได้กับ application servers และ databases
หมายเหตุ: ปัจจุบัน FTP add-on ยังไม่รองรับสำหรับคอนเทนเนอร์ Docker
สิ่งที่ต้องมีในการใช้งาน FTP บนแพลตฟอร์ม Ruk-Com Cloud
หากคุณต้องการเชื่อมต่อและใช้งาน FTP/FTPS เพื่อถ่ายโอนไฟล์กับคอนเทนเนอร์หรือโหนดใน environment ของคุณ จะต้องเตรียมองค์ประกอบต่อไปนี้:
1. ติดตั้ง FTP Client
เช่น:
- FileZilla (Windows, macOS, Linux)
- WinSCP (สำหรับ Windows)
- Cyberduck หรือโปรแกรมอื่น ๆ ที่รองรับ FTP/FTPS
2. เพิ่ม Compute Node เข้ากับ Environment
- คอนเทนเนอร์ที่จะใช้งาน FTP จะต้องรันอยู่บน Compute Node
- หากยังไม่มี ให้เพิ่มผ่านแดชบอร์ดในขั้นตอนการสร้างหรือขยาย Environment
3. แนบ Public IP กับโหนดที่ต้องการ
- เพื่อให้สามารถเชื่อมต่อผ่าน FTP Client ได้จากภายนอก จำเป็นต้องมี Public IP ผูกกับโหนดนั้น
- สามารถเพิ่ม Public IP ได้จากแดชบอร์ด โดยคลิกที่โหนด → เลือก “Attach Public IP”
💡 หากใช้ FTPS แนะนำให้ตรวจสอบว่า firewall และพอร์ตต่าง ๆ ที่ FTP client ใช้สามารถเชื่อมต่อได้
มาดูขั้นตอนการเพิ่ม FTP ไปยัง environment ของคุณทีละขั้นตอน:
- การสร้าง Environment
- การติดตั้ง FTP
- การใช้ FTP
- การถ่ายโอนไฟล์
- การดาวน์โหลดไฟล์ Log
- การซิงค์ไฟล์
- การแก้ไขไฟล์ Configuration
- Deploy Application ผ่าน FTP
- การใช้ FTPS
- การเปลี่ยนรหัสผ่าน FTP ใหม่
- การระบุรหัสผ่าน FTP ด้วยตนเอง
- การถอนการติดตั้ง FTP
การสร้าง Environment
1. เข้าสู่ระบบ Ruk-Com Cloud dashboard
2. คลิก New Environment เพื่อตั้งค่า environment ใหม่

3. ในหน้า wizard ที่เปิดขึ้นเลือก application server (เช่น Nginx) หรือ database (เช่น MySQL) และเพิ่ม Public IP

คลิก Create เพื่อสร้าง environment แล้วรอสักครู่
การติดตั้ง FTP
1. คลิกปุ่ม Add-Ons ที่แอปพลิเคชันเซิร์ฟเวอร์ของคุณ

2. ในแท็บที่เปิดขึ้นคุณจะเห็นรายการแอปพลิเคชันทั้งหมดที่สามารถเพิ่มใน environment ของคุณโดยคุณสามารถคลิก Install เพื่อติดตั้ง

3. ยืนยันการติดตั้งโดยคลิกปุ่ม Install

4. หลังจากเพิ่ม environment ไปที่ environment ของคุณแล้ว คุณจะได้รับอีเมลพร้อมกับข้อมูลส่วนตัวสำหรับการเข้าถึง (FTP links, login, Password, IPs, etc.)
การใช้ FTP
ผ่าน FTP Client
1. ติดตั้ง FTP Client (ผ่าน FileZilla)
2. ใส่ Host, Username และ Password โดยใช้ข้อมูลรับรองที่ได้รับทางอีเมลหลังจากสร้าง environment เสร็จ เพื่อดำเนินการเชื่อมต่อ

3. ตอนนี้คุณสามารถดูรายการโฟลเดอร์ config ใน FTP Client ของคุณได้
4. คุณสามารถทำการเปลี่ยนแปลงที่คุณต้องการ (เช่น ดาวน์โหลด คัดลอก ลบไฟล์ ฯลฯ)
5. หากคุณรีเฟรชข้อมูลในแท็บ config ที่เซิร์ฟเวอร์ของคุณใน Ruk-Com Cloud แดชบอร์ดคุณจะเห็นารเปลี่ยนแปลงทั้งหมดดที่ทำผ่าน FTP Client
การถ่ายโอนไฟล์
1. ติดตั้ง FTP Client (ผ่าน FileZilla)
2. ใส่ Host, Username และ Password โดยใช้ข้อมูลรับรองที่ได้รับทางอีเมลหลังจากสร้าง environment เสร็จและดำเนินการเชื่อมต่อโดยการคลิกปุ่ม Quickconnect

3. คุณสามารถอัปโหลดหรือดาวน์โหลดไฟล์ได้ง่ายๆ โดยดับเบิ้ลคลิกที่ไฟล์เหล่านั้น การถ่ายโอนไดเร็กทอรีและ/หรือไฟล์หลายไฟล์ ให้ เลือกไดเร็กทอรีแล้วคลิกขวา จากนั้นคลิกที่ Upload/Download ในเมนูป๊อปอัป

4. คุณสามารถลากไฟล์จากไดเร็กทอรีหนึ่งแล้ววางบนไดเร็กทอรีอื่นได้เพื่อถ่ายโอน
5. หากคุณต้องการโอนไฟล์ในภายหลัง คุณสามารถเพิ่มไฟล์ของคุณลงในคิวโดยคลิกที่ Add files to queue

6. ฟีเจอร์ที่มีประโยชน์อีกหนึ่งอย่างคือการเปรียบเทียบไดเร็กทอรี หากคุณต้องการดูความแตกต่างระหว่างไฟล์ในเครื่องและเซิร์ฟเวอร์อย่างรวดเร็วสามารถคลิกที่ View > Directory Comparison เลือกเปรียบเทียบขนาดไฟล์หรือเปรียบเทียบเวลาในการแก้ไขแล้วคลิก Enable

การดาวน์โหลดไฟล์ Log
1. ติดตั้ง FTP Client (ผ่าน FileZilla)
2. ใส่ Host, Username และ Password โดยใช้ข้อมูลรับรองที่ได้รับทางอีเมลหลังจากสร้าง environment เสร็จและดำเนินการเชื่อมต่อโดยการคลิกปุ่ม Quickconnect
3. ตอนนี้คุณสามารถ export ไฟล์ logs ของคุณโดยไปที่โฟลเดอร์ logs เลือกไฟล์ที่คุณต้องการแล้วคลิก Download ตามที่แสดงในภาพหน้าจอด้านล่าง

การซิงค์ไฟล์
1. ติดตั้งและเริ่มใช้ GoodSync. คลิกปุ่ม Browse ทางด้านซ้าย
2. ในหน้าต่างที่เปิดขึ้นเลือกแท็บ FTP กรอกข้อมูลในช่อง (Host, Username, Password) แล้วคลิกปุ่ม Go

3. จากนั้นเลือกโฟลเดอร์ที่จำเป็นบนเซิร์ฟเวอร์ของคุณแล้วคลิก OK

4. หลังจากนั้นคลิก Browse ทางด้านขวาและเลือกโฟลเดอร์ในเครื่องของคุณที่ต้องการ back up หรือ sync data

5. ในหน้าต่างหลักคลิกปุ่ม Analyze คุณจะเห็นความแตกต่างทั้งหมดในโฟลเดอร์ที่เลือก

6. คลิกปุ่ม Sync เพื่อทำการ synchronization

การแก้ไขไฟล์ Configuration
1. เปิดโปรแกรม config editor ของคุณ (ยกตัวอย่างเช่น Sublime Text 2)
2. เชื่อมต่อเวิร์ฟเวอร์ของคุณผ่าน FTP (หากคุณใช้ Sublime คลิก File -> FTP/SFTP -> Browse server) เพื่อแก้ไขไฟล์ของคุณ

Deploy Application ผ่าน FTP
หมายเหตุ: ไม่แนะนำให้ deploy แอปของคุณในลักษณะนี้เนื่องจากแอปพลิเคชันที่คุณปรับใช้จะไม่แสดงในแดชบอร์ด
มาดูตัวอย่างสั้นๆเกี่ยวกับวิธีการปรับใช้ Railo กับ environment ของคุณผ่าน FileZilla
1. ติดตั้งและเปิด FTP Client (เช่น FileZilla)
2. เชื่อมต่อ environment ของคุณผ่าน FTP ใส่ Host, Username และ Password และคลิกปุ่ม Quickconnect
3. คัดลอกไฟล์แอปพลิเคชันของคุณลงในโฟลเดอร์ ROOT (หรือสร้างบริบทอื่นสำหรับแอปของคุณและคัดลอกไฟล์ในนั้น)

4. ตอนนี้คุณสามารถกลับไปที่หน้าแดชบอร์ดเพื่อตรวจสอบความถูกต้องโดยคลิกปุ่ม Open in Browser ที่ environment ของคุณ


การใช้ FTPS
1. โปรแกรม FileZilla ไปที่ FTP client > File > Site manager
2. สร้างไซต์ใหม่และกรอกข้อมูลที่จำเป็น:
- Host (ใช้ FTP credentials ของคุณ)
- Protocol (FTP – File Transfer Protocol)
- Encryption (Require explicit FTP over TLS)
- Logon Type (Interactive)
- User (ใช้ FTP credentials ของคุณ)
3. คลิก Connect

4. ใส่รหัสผ่าน

5. ตอนนี้คุณสามารถเชื่อมต่อผ่าน FTPS ได้แล้ว
การเปลี่ยนรหัสผ่าน FTP ใหม่
1. คลิกปุ่ม Add-Ons ที่แอปพลิเคชันเซิร์ฟเวอร์ของคุณ
2. ค้นหาแอปพลิเคชัน FTP คลิกปุ่ม Reset Password

3. จากนั้นรหัสผ่านใหม่จะถูกส่งไปที่อีเมลของคุณ
การระบุรหัสผ่าน FTP ด้วยตนเอง
คุณสามารถเปลี่ยนรหัสผ่าน FTP-addon ที่ติดตั้งใน environment ของคุณได้ การกำหนดรหัสผ่านด้วยตนเองแทนการใช้รหัสผ่านที่ระบบส่งให้อัตโนมัติทางอีเมลจะช่วยเพิ่มความปลอดภัยให้กับแอปพลิเคชันของคุณเป็นอย่างมาก
คุณสามารถเปลี่ยนรหัสผ่าน FTP ของคุณผ่าน SSH โดยทำตามขั้นตอนต่อไปนี้:
1. สร้าง SSH key และเพิ่มไปยังแดชบอร์ดของคุณ
2. เข้าคอนเทนเนอร์ที่จำเป็นด้วย FTP-addon ที่ติดตั้งผ่าน SSH

3. รันคำสั่งต่อไปนี้ภายในคอนเทนเนอร์:
sudo /usr/bin/passwd jelastic-ftp
4. ป้อนรหัสผ่านใหม่ของคุณและยืนยันอีกครั้ง
เพิ่มเติม: หลังจากป้อนรหัสผ่านใหม่คุณจะเห็นข้อความแจ้งเตือน เช่น BAD PASSWORD: it is based on a dictionary word or BAD PASSWORD: is too simple.
ซึ่งเป็นเพียงคำแนะนำในการเพิ่มความน่าเชื่อถือของรหัสผ่าน คุณสามารถเพิกเฉยได้หากคุณพิจารณาแล้วว่ารหัสผ่านที่กำหนดเองของคุณมีความปลอดภัยเพียงพอ อย่างไรก็ตามรหัสผ่านจะถูกเปลี่ยนตามที่คุณระบุไว้

ตอนนี้คุณสามารถใช้รหัสผ่านใหม่สำหรับการเข้าถึง environment ของคุณผ่าน FTP protocol
การถอนการติดตั้ง FTP
1. คลิกปุ่ม Add-Ons ที่แอปพลิเคชันเซิร์ฟเวอร์ของคุณ
2. ค้นหาแอปพลิเคชัน FTP คลิกปุ่ม Uninstall

หมายเหตุ: หากคุณติดตั้ง FTP ใน environment ที่มีแอปพลิเคชันเซิร์ฟเวอร์เดียว การปรับขนาดแนวนอนของ environment นี้จะโคลนเซิร์ฟเวอร์นี้ร่วมกับ FTP (horizontal scaling) ในลักษณะดังกล่าว FTP จะถูกติดตั้งทั้งสองอินสแตนซ์โดยมีข้อมูลรับรองเดียวกัน
ในกรณีที่ใช้เซิร์ฟเวอร์ Glassfish หากติดตั้ง FTP จะไม่ถูกโคลนไปยังเซิร์ฟเวอร์ GlassFish ที่เพิ่มใหม่ ดังนั้นหากต้องการติดตั้ง FTP ทั้งสองอินสแตนซ์ คุณต้องปิดการใช้งาน FTP แล้วติดตั้งใหม่อีกครั้งเพื่อเปิดใช้งานบนเซิร์ฟเวอร์ทั้งสอง