ขั้นตอนที่ 1 — เปิด StackScript

Deploy rtSurvey on Linode →

ซึ่งจะเปิดหน้า 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:

  1. Go to your Linode dashboard
  2. คลิกที่ Linode ที่คุณสร้างขึ้นใหม่
  3. คลิก เปิดคอนโซล 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ยอมรับTCP22IPv4 ทั้งหมด, IPv6 ทั้งหมดการเข้าถึง SSH
ยอมรับขาเข้า-httpยอมรับTCP80IPv4 ทั้งหมด, IPv6 ทั้งหมดNginx (ความท้าทาย HTTP + ACME)
ยอมรับ-ขาเข้า-httpsยอมรับTCP443IPv4 ทั้งหมด, IPv6 ทั้งหมดNginx (HTTPS หลังจากการตั้งค่า SSL)
ยอมรับขาเข้าเงายอมรับTCP3838IPv4 ทั้งหมด, IPv6 ทั้งหมดShiny Server (การวิเคราะห์ R)
ยอมรับขาเข้า-icmpยอมรับไอซีเอ็มพีIPv4 ทั้งหมด, IPv6 ทั้งหมดปิง / การวินิจฉัย
นโยบายขาเข้าเริ่มต้นวางบล็อกทุกสิ่งทุกอย่าง

ขาออก

ป้ายกำกับการกระทำหมายเหตุ
นโยบายขาออกเริ่มต้นยอมรับอนุญาตขาออกทั้งหมด (Docker pulls, certbot, GoDaddy API ฯลฯ)

ไม่จำเป็นต้องใช้พอร์ตภายนอก

พอร์ตเหล่านี้เชื่อมโยงกับ 127.0.0.1 เท่านั้น และไม่สามารถเข้าถึงได้จากภายนอกเซิร์ฟเวอร์:

พอร์ตบริการเหตุผล
8080คอนเทนเนอร์แอปพร็อกซี Nginx ภายใน
8090Keycloak คอนเทนเนอร์พร็อกซี Nginx ภายใน
3306MySQLเครือข่าย 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
  
หน้านี้มีประโยชน์หรือไม่?