วิธีอัปโหลดไฟล์ด้วย WinSCP ไปยัง Server Website ที่ตั้งค่าใน EC2
บทความนี้ ผมจะมาเขียนต่อจาก วิธี 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 สามารถดูวิธีการได้ที่ลิงก์ด้านล่างนี้
- วิธีติดตั้ง Amazon Linux บน EC2 และเชื่อมต่อเซิร์ฟเวอร์ด้วยโปรแกรม PuTTy
- หลังจากติดตั้ง EC2 Instance เสร็จเรียบร้อยแล้ว !แนะนำ ให้ทำการเชื่อมโยง EIP ไปยัง EC2 Instance เพื่อไม่ให้เกิดการเปลี่ยน IP Address
- วิธีเชื่อมโยง Elastic IP (EIP) ไปยัง 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... |▼
ให้ตั้งค่า Advanced Site Settings ตามนี้
① เลือกAuthentication
② คลิก...
เลือกไฟล์Your_file_name.ppk
① ไฟล์ที่ถูกดาวน์โหลดมาโดยอัตโนมัติ ค่าเริ่มต้นจะเป็น C:\Users\Your_folder\Downloads\Your_file_name.ppk
② Browse ไฟล์ที่ได้จากการสร้าง Key Pair มาใช้งาน เช่นec2-tinnakorn.ppk
③ คลิกOpen
คลิกOK
คลิกSave |▼
ตั้งค่า Save session as site ตามนี้
① Site name:ec2-tinnakorn
(ใส่ชื่ออะไรก็ได้)
③ คลิกOK
จะเห็นว่ามีชื่อec2-tinnakorn
เพิ่มมาแล้ว จากนั้นคลิกLogin |▼
1.2 การ Login แบบ PuTTy
คลิกTools ▼
»เลือกImport Sites...
เลือก Session PuTTy ที่เราได้ Save ไว้ ตัวอย่างนี้คือ ☑ec2-tinnakorn
»คลิกOK
คลิกLogin |▼
หน้าโปรแกรม WinSCP นี้จะแบ่งการทำงานออกเป็น 2 ระบบดังนี้
สีเขียวคือระบบเครื่องคอมพิวเตอร์ของผู้ใช้งาน (User) ให้เข้าไปที่หน้าโฟลเดอร์ที่เก็บไฟล์โปรเจกต์ ในตัวอย่างนี้ไฟล์โปรเจกต์ที่ผมใช้อัพโหลดจะเก็บไว้ที่↓ > This PC > Download
สีแดงคือระบบ Server EC2 เราจะทำการ Copy ไฟล์โปรเจกต์จากเครื่อง User ไปยัง Server EC2 เพื่อแสดงหน้าเว็บไซต์ของเรา ขั้นตอนต่อไปเราจะมาทำในส่วน Server EC2
2. การอัปโหลดไฟล์ด้วย WinSCP
ครั้งแรกที่ Login เข้ามาใน WinSCP ค่าเริ่มต้นโฟลเดอร์ของระบบ Server EC2 จะเป็นชื่อโฟลเดอร์ec2-user
แต่ในขณะที่ทำการติดตั้ง PHP 8 and Apache ใน Amazon Linux 2 ของ EC2 ไว้ก่อนหน้านี้ ผมได้ทำการสร้างชื่อโฟลเดอร์ไว้แล้วก็คือ /var/www/html/ ดังนั้นผมจะเข้ามายังโฟลเดอร์ปลายทางที่html
ที่อยู่ในroot
ดับเบิ้ลคลิกที่โฟลเดอร์..
เพื่อออกมาที่หน้าhome
ดับเบิ้ลคลิกที่โฟลเดอร์..
เพื่อออกมาที่หน้า/<root>
ดับเบิ้ลคลิกที่โฟลเดอร์var
ดับเบิ้ลคลิกที่โฟลเดอร์www
ดับเบิ้ลคลิกที่โฟลเดอร์html
Copy file ไปที่หน้า html
3. ตรวจสอบ IP Address ที่เว็บบราวเซอร์
ไปที่หน้า Instance เพื่อ Copy IP Address:❐ Public IPv4 address
ไปเปิดในเว็บเบราว์เซอร์ Chrome หรือเบราว์เซอร์อื่นๆ อีกครั้ง
จะเห็นว่าสามารถแสดงหน้าเว็บไซต์ได้แล้ว
สรุป
การใช้งาน WinSCP ในบทความนี้เป็นการ Login เข้ามายังหน้าระบบ Server EC2 โดยใช้ข้อมูลจากโปรแกรม PuTTy ซึ่งเป็นการใช้งานที่อำนวยความสะดวกมากๆ เพราะว่า WinSCP จะเชื่อมต่อกับ PuTTy จึงทำให้สามารถดึงข้อมูลที่บันทึกไว้ในโปรแกรม PuTTy มา Login ได้โดยที่ไม่ต้องกรอกข้อมูลใหม่ทุกครั้ง