วิธีอัปโหลดไฟล์ด้วย WinSCP ไปยัง Server Website ที่ตั้งค่าใน EC2

WinSCP คือโปรแกรมที่ใช้สำหรับอัพโหลดและดาวน์โหลดไฟล์จากเครื่อง User ไปยัง Server เพื่อแสดงผลหน้าเว็บไซต์ที่เราต้องการได้ โดยการใช้ข้อมูลจากโปรแกรม PuTTy ในการ Login เข้ามายังหน้าระบบ Server EC2

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

บทความนี้ ผมจะมาเขียนต่อจาก วิธี Install PHP 8 and Apache ใน Amazon Linux 2 ของ EC2

WinSCP คืออะไร

WinSCP (วินเอสซีพี) คือ โปรแกรมสำเร็จรูปที่ใช้สำหรับอัพโหลดและดาวน์โหลดไฟล์ผ่าน Protocol FTP จากคอมพิวเตอร์ของผู้ใช้ไปยัง Server นอกจากนี้โปรแกรม WinSCP เป็นโปรแกรมที่สามารถดาวน์โหลดมาใช้ได้ฟรีเพราะเป็น Open Source บนระบบปฏิบัติการ Windows

FTP (File Transfer Protocol) เป็น Protocol ซอฟต์แวร์ที่เปิดใช้งานการถ่ายโอนไฟล์จากอุปกรณ์เครื่องหนึ่งไปยังอีกเครื่องหนึ่ง แต่เป็นวิธีการแบบเก่าที่ไม่ค่อยได้ใช้ในปัจจุบัน เนื่องจากมีปัญหาด้านความปลอดภัย
SCP (Secure Copy Protocol) เป็นวิธีการส่งข้อมูลที่ปลอดภัย ซึ่งถูกนำมาใช้แทน FTP ในปัจจุบัน

สิ่งที่จำเป็นต้องมี

1. ก่อนที่จะอ่านบทความนี้ ต้องทำการเปิดการใช้งาน EC2 Instance ก่อน หรือถ้ายังไม่มี EC2 Instance สามารถดูวิธีการได้ที่ลิงก์ด้านล่างนี้

2. ต้องทำการ Install PHP 8 and Apache ก่อน สามารถดูวิธีการได้ที่ลิงก์ด้านล่าง

3. สามารถดาวน์โหลดและติดตั้งโปรแกรมได้ที่ลิงก์ด้านล่างนี้

หลังจากที่เปิดการใช้งาน EC2 Instance และเชื่อมต่อเซิร์ฟเวอร์ Amazon Linux EC2 ด้วย PuTTy เสร็จเรียบร้อยแล้ว เรามาเริ่มใช้ WinSCP กันเลย

การอัปโหลดไฟล์ด้วย WinSCP

1. การ Login เข้ามาที่ระบบ Server EC2 ของ WinSCP

ขั้นตอนแรก เปิดโปรแกรมWinSCPขึ้นมา

ต่อไปให้ทำการ Login เข้ามาที่ระบบ Server EC2 ของ WinSCP ซึ่งผมจะสาธิตวิธีการ Login ทั้ง 2 วิธีดังนี้

1.1 การ Login แบบ New Site

ให้ตั้งค่า Session ตามนี้
เลือกNew Site
Host name:Your IP Address(IP Address ที่คัดลอกมาจาก EC2 Instance)
User name:ec2-user
คลิกAdvanced... |▼
WinSCP-l-1

ให้ตั้งค่า Advanced Site Settings ตามนี้
เลือกAuthentication
คลิก...
WinSCP-l-2

เลือกไฟล์Your_file_name.ppk
ไฟล์ที่ถูกดาวน์โหลดมาโดยอัตโนมัติ ค่าเริ่มต้นจะเป็น C:\Users\Your_folder\Downloads\Your_file_name.ppk
Browse ไฟล์ที่ได้จากการสร้าง Key Pair มาใช้งาน เช่นec2-tinnakorn.ppk
คลิกOpen
WinSCP-l-3

คลิกOK
WinSCP-l-4

คลิกSave |▼
WinSCP-l-5

ตั้งค่า Save session as site ตามนี้
Site name:ec2-tinnakorn(ใส่ชื่ออะไรก็ได้)
คลิกOK
WinSCP-l-6

จะเห็นว่ามีชื่อec2-tinnakornเพิ่มมาแล้ว จากนั้นคลิกLogin |▼
WinSCP-l-7

1.2 การ Login แบบ PuTTy

คลิกTools ▼»เลือกImport Sites...
S-PHP8-W-1

เลือก Session PuTTy ที่เราได้ Save ไว้ ตัวอย่างนี้คือ ☑ec2-tinnakorn»คลิกOK
S-PHP8-W-2

คลิกLogin |▼
S-PHP8-W-3

หน้าโปรแกรม WinSCP นี้จะแบ่งการทำงานออกเป็น 2 ระบบดังนี้
สีเขียวคือระบบเครื่องคอมพิวเตอร์ของผู้ใช้งาน (User) ให้เข้าไปที่หน้าโฟลเดอร์ที่เก็บไฟล์โปรเจกต์ ในตัวอย่างนี้ไฟล์โปรเจกต์ที่ผมใช้อัพโหลดจะเก็บไว้ที่↓ > This PC > Download
สีแดงคือระบบ Server EC2 เราจะทำการ Copy ไฟล์โปรเจกต์จากเครื่อง User ไปยัง Server EC2 เพื่อแสดงหน้าเว็บไซต์ของเรา ขั้นตอนต่อไปเราจะมาทำในส่วน Server EC2
S-PHP8-W-4

2. การอัปโหลดไฟล์ด้วย WinSCP

ครั้งแรกที่ Login เข้ามาใน WinSCP ค่าเริ่มต้นโฟลเดอร์ของระบบ Server EC2 จะเป็นชื่อโฟลเดอร์ec2-userแต่ในขณะที่ทำการติดตั้ง PHP 8 and Apache ใน Amazon Linux 2 ของ EC2 ไว้ก่อนหน้านี้ ผมได้ทำการสร้างชื่อโฟลเดอร์ไว้แล้วก็คือ /var/www/html/ ดังนั้นผมจะเข้ามายังโฟลเดอร์ปลายทางที่htmlที่อยู่ในroot

ดับเบิ้ลคลิกที่โฟลเดอร์..เพื่อออกมาที่หน้าhome
S-PHP8-W-1-cut

ดับเบิ้ลคลิกที่โฟลเดอร์..เพื่อออกมาที่หน้า/<root>
S-PHP8-W-4-1

ดับเบิ้ลคลิกที่โฟลเดอร์var
S-PHP8-W-4-2

ดับเบิ้ลคลิกที่โฟลเดอร์www
S-PHP8-W-4-3

ดับเบิ้ลคลิกที่โฟลเดอร์html
S-PHP8-W-4-4

Copy file ไปที่หน้า html S-PHP8-W-4-5

3. ตรวจสอบ IP Address ที่เว็บบราวเซอร์

ไปที่หน้า Instance เพื่อ Copy IP Address:❐ Public IPv4 addressไปเปิดในเว็บเบราว์เซอร์ Chrome หรือเบราว์เซอร์อื่นๆ อีกครั้ง
S-PHP8-W-5

จะเห็นว่าสามารถแสดงหน้าเว็บไซต์ได้แล้ว
S-PHP8-W-6

สรุป

การใช้งาน WinSCP ในบทความนี้เป็นการ Login เข้ามายังหน้าระบบ Server EC2 โดยใช้ข้อมูลจากโปรแกรม PuTTy ซึ่งเป็นการใช้งานที่อำนวยความสะดวกมากๆ เพราะว่า WinSCP จะเชื่อมต่อกับ PuTTy จึงทำให้สามารถดึงข้อมูลที่บันทึกไว้ในโปรแกรม PuTTy มา Login ได้โดยที่ไม่ต้องกรอกข้อมูลใหม่ทุกครั้ง

บทความที่เกี่ยวข้อง