เอาเว็ปขึ้น Cloud (Ubuntu) จาก 0 | EP. 3

Boon Worayut Aksornukul
3 min readNov 23, 2023

--

ความเดิมจาก EP ที่แล้ว เราได้ทำการ install web server บน cloud เรียบร้อยแล้ว

ก่อนจะไปกันต่อเรามาทำความรู้จักโครงสร้าง folder ของ Apache2 กันก่อนดีกว่าครับ

เมื่อเรา install apache2 มาแล้ว จะมีการสร้าง folder ให้อัตโนมัติ โดย folder ที่สำคัญจะอยู่ที่ var/www/html ซึ่ง apache จะอนุญาตให้ web browser เข้าถึงเฉพาะ ไฟล์ที่อยู่ใน folder นี้เท่านั้น (By default)

เรามาดูหน้าตาของ folder ใน cloud กันจริง ๆ ดีกว่าครับ ก่อนขึ้นก็เข้าไปที่ cloud ด้วย ssh เหมือนเช่นเดิม

จากนั้นแนะนำให้ติดตั้ง tree ซึ่งเป็นโปรแกรมที่จะแสดง folder ให้เห็นภาพมากขึ้น โดยใช้คำสั่งตามนี้ครับ

apt install tree

จากนั้นก็ให้ ใช้คำสั่งตามนี้ครับ

cd /

cd = change directory

/ = root directory

แล้วให้ทำการเข้าไปที่ var แล้วใช้คำสั่ง tree

cd var
tree

เราก็จะเจอ public folder ที่ apache2 อนุญาตให้ web browse เข้าถึง

สังเกตดูดีก็จะเห็น index.html ซึ่งถ้าเปิดขึ้นมาก็จะเป็นหน้าเว็ปที่เราเห็นตอนที่เราใส่ Ip address ใน web browser ก่อนหน้านี้

ถ้าเราไม่ได้ระบุอะไรตอนกรอก Ip address ลงใน web browser โปรแกรม apache2 ก็จะทำการเรียกไฟล์ที่ชื่อ index.html ใน folder ชื่อ html โดยอัตโนมัติ

ตอนนี้เราเข้าใจหลักการทำงานของ apache2 server กันมากขึ้น ต่อไปเราจะลองเราไฟล์หน้าเว็ปที่เราไปโหลดใส่ลงไปในเครื่องคอมบน cloud กันครับ

กลับมาดู folder ที่ download มาจาก Internet ใน EP. 1 กัน

ให้เราเปลี่ยนชื่อ folder เป็น html (ถ้าเป็นอยู่แล้วก็ไม่ต้องทำอะไร)

จากนั้นก็ทำการ zip โฟลเดอร์ html ในคอมของเรา

เป้าหมายตอนนี้คือเราจะทำการลบโฟลเดอร์ html ในเครื่องคอมบน cloud ด้วย โฟล์เดอร์ html บนคอมของเรา (local computer)

เริ่มต้นจากการ login เข้าเครื่องคอมบน cloud ผ่าน terminal หรือ command prompt ผ่าน ssh ด้วย คำสั่งเดิม

ssh root@<ip address>

จากนั้นเข้าไปที่ folder → var/www แล้วทำการลบ html folder

เริ่มจากการกลับไปที่ folder root ก่อน ด้วยคำสั่ง

cd /

จากนั้นก็ไปที่ folder → var/www ด้วยคำสั่ง

cd var/www

ให้เราลองใช้คำสั่ง ls จะเห็นว่ามี folder ชื่อ html อยู่ ให้ทำการลบโดยการใช้คำสั่ง

rm -r html

แล้วให้ลอง ls อีกครั้ง โฟล์เดอร์ html ก็จะหายไปแล้ว

จากนั้นให้เรากลับที่คอมของเรา (local computer) แล้วเปิด terminal ขึ้นมาใหม่อีกหนึ่งหน้าต่าง แล้ว cd ไปที่ที่อยู่ของ html.zip ที่เราเตรียมไว้

หลังจากนั้นเราจะทำการ copy ไฟล์ html.zip ไปไว้ที่ cloud กันด้วยคำสั่งนี้

scp ./html.zip root@<ip address>://var/www/html.zip

ถ้าสำเร็จก็จะขึ้นหน้าตาตามภาพด้านบนครับ

เรามีดูความหมายของคำสั่ง copy กันหน่อยดีกว่าครับ

ให้เรากลับไปที่ terminal (หน้าที่ login เข้า cloud อยู่) ให้ทำการ ls เราจะเห็น html.zip ขึ้นมาครับ

จากนั้นเราจะทำการ unzip ไฟล์ html.zip กันครับ ก่อนอื่นเราต้องทำการ download โปรแกรม unzip มาก่อนครับ ด้วยคำสั่งนี้

apt install zip

จากนั้นก็สามารถทำการ unzip ได้เลย ด้วยคำสั่ง

unzip html.zip

แล้วกทำการลบ html.zip ออกไปด้วยคำสั่ง

rm -r html.zip

ให้ลอง ls อีกทีจะเหลือแต่โฟล์เดอร์ html ตามรูปด้านล่างครับ

ให้เราลอง cd html เข้าไป แล้วกด ls ดูจะเห็นไฟล์ข้อมูลต่างๆ ที่เกี่ยวข้องกับหน้าเว็ปครับ จากนั้นให้เราลองเข้า web browser แล้วใส่ ip address เข้าไปได้เลยครับ

ถ้าทุกอย่างถูกต้องจะมีหน้าเว็ปแบบนี้ครับ

หมายเหตุ: ถ้าในโฟลเดอร์ html มีไฟล์ที่ชื่อ index.html อยู่ apache จะเรียกไฟล์ index.html ขึ้นมาโดยอัตโนมัติเมื่อเราเข้าเว็ปด้วย ip address ครับ แต่หากไฟล์เป็นชื่ออื่นเราสามารถ 1. เปลี่ยนชื่อไฟล์เป็น index.html หรือ 2. ใส่ ip address/<ชื่อไฟล์> ได้เช่นกันครับ

เท่านั้นหน้าเว็ปของเราก็ online เรียบร้อยแล้วครับ เราสามารถส่ง ip address ให้เพื่อนหรือลองเข้าผ่านคอมเครื่องอื่นได้เลยครับ

แต่วิธีเข้าเว็ปด้วย ip address อาจจะเป็นวิธีการที่ไม่ค่อยนิยมซักเท่าไหร่ เดี๋ยวตอนต่อไปจะพาไปดูการซื้อ domain name กันครับ เราจะได้ไม่ต้องจำเลย ip address ให้ยุ่งยาก

เอาเว็ปขึ้น Cloud (Ubuntu) จาก 0 | EP อื่น ๆ

EP.1 : https://medium.com/@boonworayutaks/เอาเว็ปขึ้น-cloud-ubuntu-จาก-0-ep-1-8f348490fc78

EP. 2: https://medium.com/@boonworayutaks/เอาเว็ปขึ้น-cloud-ubuntu-จาก-0-ep-2-a1d5e97ee37d

EP. 3: https://medium.com/@boonworayutaks/เอาเว็ปขึ้น-cloud-ubuntu-จาก-0-ep-3-8b2c8fdb6716

EP. 4: https://medium.com/@boonworayutaks/เอาเว็ปขึ้น-cloud-ubuntu-จาก-0-ep-4-ce9fe862f10f

EP. 5: https://medium.com/@boonworayutaks/เอาเว็ปขึ้น-cloud-ubuntu-จาก-0-ep-5-7b61782ac286

--

--