FTP/FTPS Support

🔐 ความปลอดภัยของ 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

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

FileZilla FTP connected

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

FTP upload file

4. คุณสามารถลากไฟล์จากไดเร็กทอรีหนึ่งแล้ววางบนไดเร็กทอรีอื่นได้เพื่อถ่ายโอน

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

FTP add file to queue

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

FTP directory comparison

การดาวน์โหลดไฟล์ Log

1. ติดตั้ง FTP Client (ผ่าน FileZilla)

2. ใส่ Host, Username และ Password โดยใช้ข้อมูลรับรองที่ได้รับทางอีเมลหลังจากสร้าง environment เสร็จและดำเนินการเชื่อมต่อโดยการคลิกปุ่ม Quickconnect

3. ตอนนี้คุณสามารถ export ไฟล์ logs ของคุณโดยไปที่โฟลเดอร์ logs เลือกไฟล์ที่คุณต้องการแล้วคลิก Download ตามที่แสดงในภาพหน้าจอด้านล่าง

FTP download logs

การซิงค์ไฟล์

1. ติดตั้งและเริ่มใช้ GoodSync. คลิกปุ่ม Browse ทางด้านซ้าย

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

GoodSync FTP connect

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

GoodSync choose FTP folder

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

GoodSync choose local folder

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

GoodSynch analyze differences

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

goodsynch FTP synchronization

การแก้ไขไฟล์ Configuration

1. เปิดโปรแกรม config editor ของคุณ (ยกตัวอย่างเช่น Sublime Text 2)

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

Sublime file configuration

Deploy Application ผ่าน FTP

หมายเหตุ: ไม่แนะนำให้ deploy แอปของคุณในลักษณะนี้เนื่องจากแอปพลิเคชันที่คุณปรับใช้จะไม่แสดงในแดชบอร์ด

มาดูตัวอย่างสั้นๆเกี่ยวกับวิธีการปรับใช้ Railo กับ environment ของคุณผ่าน FileZilla

1. ติดตั้งและเปิด FTP Client (เช่น FileZilla)

2. เชื่อมต่อ environment ของคุณผ่าน FTP ใส่ Host, Username และ Password และคลิกปุ่ม Quickconnect

3. คัดลอกไฟล์แอปพลิเคชันของคุณลงในโฟลเดอร์ ROOT (หรือสร้างบริบทอื่นสำหรับแอปของคุณและคัดลอกไฟล์ในนั้น)

deploy application via FTP

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

open in browser
Railo application

การใช้ 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

FileZilla FTPS connection

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

password for FTPS connection

5. ตอนนี้คุณสามารถเชื่อมต่อผ่าน FTPS ได้แล้ว

การเปลี่ยนรหัสผ่าน FTP ใหม่

1. คลิกปุ่ม Add-Ons ที่แอปพลิเคชันเซิร์ฟเวอร์ของคุณ

2. ค้นหาแอปพลิเคชัน FTP คลิกปุ่ม Reset Password

FTP add-on reset password

3. จากนั้นรหัสผ่านใหม่จะถูกส่งไปที่อีเมลของคุณ

การระบุรหัสผ่าน FTP ด้วยตนเอง

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

คุณสามารถเปลี่ยนรหัสผ่าน FTP ของคุณผ่าน SSH โดยทำตามขั้นตอนต่อไปนี้:

1. สร้าง SSH key และเพิ่มไปยังแดชบอร์ดของคุณ

2. เข้าคอนเทนเนอร์ที่จำเป็นด้วย FTP-addon ที่ติดตั้งผ่าน SSH

SSH access to container

3. รันคำสั่งต่อไปนี้ภายในคอนเทนเนอร์:

sudo /usr/bin/passwd jelastic-ftp

4. ป้อนรหัสผ่านใหม่ของคุณและยืนยันอีกครั้ง

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

change FTP password

ตอนนี้คุณสามารถใช้รหัสผ่านใหม่สำหรับการเข้าถึง environment ของคุณผ่าน FTP protocol

การถอนการติดตั้ง FTP

1. คลิกปุ่ม Add-Ons ที่แอปพลิเคชันเซิร์ฟเวอร์ของคุณ

2. ค้นหาแอปพลิเคชัน FTP คลิกปุ่ม Uninstall

uninstall FTP add-on

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

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