Linode (Akamai Cloud)
ปรับใช้ rtCloud บน Linode โดยใช้ StackScript ไม่จำเป็นต้องกำหนดค่า เพียงแค่สร้างเซิร์ฟเวอร์และทำตามขั้นตอนหลังการติดตั้งใช้งาน
ขั้นตอนที่ 1 — เปิด StackScript
ซึ่งจะเปิดหน้า StackScript ใน Linode Cloud Manager คลิก ปรับใช้ Linode ใหม่
ขั้นตอนที่ 2 — กรอกแบบฟอร์มของ Linode
กรอกแบบฟอร์มการสร้างเซิร์ฟเวอร์มาตรฐานของ Linode:
| สนาม | ค่าแนะนำ |
|---|---|
| รูปภาพ | Ubuntu 22.04 LTS |
| ภูมิภาค | ใกล้กับผู้ใช้ของคุณมากที่สุด |
| แผน | CPU ที่ใช้ร่วมกัน 4 GB หรือใหญ่กว่า |
| รหัสผ่านรูท | ตั้งรหัสผ่านที่รัดกุม |
| ไฟร์วอลล์ | ไม่มีไฟร์วอลล์ (แนะนำ) |
| เขตเวลา (ช่องเดียวของเรา) | เขตเวลาเซิร์ฟเวอร์ของคุณ (ค่าเริ่มต้น: Asia/Ho_Chi_Minh) |
ทำไมไม่มีไฟร์วอลล์ สคริปต์การตั้งค่าจำเป็นต้องมีการเข้าถึงอินเทอร์เน็ตขาออก (ดึง Docker, Let’s Encrypt) การบล็อกพอร์ตระหว่างการบูตครั้งแรกอาจทำให้การปรับใช้ล้มเหลว คุณสามารถแนบไฟร์วอลล์ได้หลังจากการตั้งค่าเสร็จสิ้น โปรดดู กฎไฟร์วอลล์ ด้านล่างสำหรับกฎที่ถูกต้อง
คลิก สร้าง Linode เมื่อเสร็จสิ้น
ขั้นตอนที่ 3 — รอให้การตั้งค่าเสร็จสิ้น
สคริปต์ทำงานโดยอัตโนมัติในการบูตครั้งแรก โดยจะติดตั้ง Docker ดึงอิมเมจ rtSurvey เริ่มต้นฐานข้อมูล และเริ่มบริการทั้งหมด ขั้นตอนนี้ใช้เวลา 5–10 นาที
คุณสามารถรับชมความคืบหน้าได้โดยตรงใน Linode Cloud Manager — ไม่ต้องใช้ SSH:
- Go to your Linode dashboard
- คลิกที่ Linode ที่คุณสร้างขึ้นใหม่
- คลิก เปิดคอนโซล LISH (ด้านบนขวาของหน้ารายละเอียด Linode)
เทอร์มินัลของเบราว์เซอร์จะเปิดขึ้นเพื่อแสดงบันทึกการบูตแบบเรียลไทม์ — แท็บ Weblish ทำงานในเบราว์เซอร์ของคุณโดยตรง โดยไม่ต้องใช้ไคลเอ็นต์ SSH
รอจนกว่าคุณจะเห็น:
============================================================
rtSurvey deployment complete!
============================================================
Server IP : <your-server-ip>
App URL : http://<your-server-ip> (HTTP only until domain is set)
Admin : admin / admin
============================================================
บันทึกยังแสดง IP เซิร์ฟเวอร์ของคุณอีกด้วย — คุณจะต้องใช้มันสำหรับขั้นตอนต่อไป
ขั้นตอนที่ 4 — ตั้งค่า SSL
Open your browser at http://<server-ip>. The app will redirect you to the SSL setup screen.
ปฏิบัติตาม ตั้งค่าคู่มือ SSL → เพื่อกำหนดค่า HTTPS โดเมนย่อย rtsurvey.com ฟรีคือตัวเลือกที่เร็วที่สุด — ไม่จำเป็นต้องตั้งค่า DNS
ขั้นตอนที่ 5 — เปลี่ยนรหัสผ่านเริ่มต้น
รหัสผ่านทั้งหมดมีค่าเริ่มต้นเป็น ‘ผู้ดูแลระบบ’ เปลี่ยนทันทีหลังจากเข้าสู่ระบบครั้งแรก:
- รหัสผ่านผู้ดูแลระบบแอป — การตั้งค่าบัญชีภายในแอป
- Keycloak admin — accessible at
https://your-domain.com/auth/admin(login:admin/admin)
กฎไฟร์วอลล์ (Linode Cloud Firewall)
หากคุณแนบไฟร์วอลล์คลาวด์ Linode กับเซิร์ฟเวอร์นี้ ให้ใช้กฎต่อไปนี้:
###ขาเข้า
| ป้ายกำกับ | การกระทำ | โปรโตคอล | พอร์ต | แหล่งที่มา | หมายเหตุ |
|---|---|---|---|---|---|
ยอมรับขาเข้า-ssh | ยอมรับ | TCP | 22 | IPv4 ทั้งหมด, IPv6 ทั้งหมด | การเข้าถึง SSH |
ยอมรับขาเข้า-http | ยอมรับ | TCP | 80 | IPv4 ทั้งหมด, IPv6 ทั้งหมด | Nginx (ความท้าทาย HTTP + ACME) |
ยอมรับ-ขาเข้า-https | ยอมรับ | TCP | 443 | IPv4 ทั้งหมด, IPv6 ทั้งหมด | Nginx (HTTPS หลังจากการตั้งค่า SSL) |
ยอมรับขาเข้าเงา | ยอมรับ | TCP | 3838 | IPv4 ทั้งหมด, IPv6 ทั้งหมด | Shiny Server (การวิเคราะห์ R) |
ยอมรับขาเข้า-icmp | ยอมรับ | ไอซีเอ็มพี | — | IPv4 ทั้งหมด, IPv6 ทั้งหมด | ปิง / การวินิจฉัย |
| นโยบายขาเข้าเริ่มต้น | วาง | บล็อกทุกสิ่งทุกอย่าง |
ขาออก
| ป้ายกำกับ | การกระทำ | หมายเหตุ |
|---|---|---|
| นโยบายขาออกเริ่มต้น | ยอมรับ | อนุญาตขาออกทั้งหมด (Docker pulls, certbot, GoDaddy API ฯลฯ) |
ไม่จำเป็นต้องใช้พอร์ตภายนอก
พอร์ตเหล่านี้เชื่อมโยงกับ 127.0.0.1 เท่านั้น และไม่สามารถเข้าถึงได้จากภายนอกเซิร์ฟเวอร์:
| พอร์ต | บริการ | เหตุผล |
|---|---|---|
| 8080 | คอนเทนเนอร์แอป | พร็อกซี Nginx ภายใน |
| 8090 | Keycloak คอนเทนเนอร์ | พร็อกซี Nginx ภายใน |
| 3306 | MySQL | เครือข่าย Docker ภายในเท่านั้น |
การแก้ไขปัญหา
ตรวจสอบบันทึกการตั้งค่า
tail -200 /var/log/stackscript.log
ตรวจสอบบันทึก SSL
tail -200 /var/log/rtsurvey-ssl.log
ดูสถานะคอนเทนเนอร์
docker compose -f /opt/rtsurvey/docker-compose.production.yml ps