การติดตั้ง Ghost บน OCI
เนื้อหาดัดแปลงจากการถาม AI (Gemini) จดไว้เผื่อลืมครับ
สำหรับ Always Free Tier แนะนำ
- OCI Compute Instance (Arm - Ampere A1): รัน Ghost CMS, Node.js, Nginx (เป็น Reverse Proxy) และ Self-hosted MySQL Server (ติดตั้งบน Instance เดียวกัน)
ขั้นตอนการติดตั้ง (เน้น Always Free Tier บน Arm Instance):
ขั้นตอนที่ 1: เตรียมสภาพแวดล้อมบน OCI
- สร้าง Virtual Cloud Network (VCN): กำหนดค่า VCN และ Subnet
- สร้าง Security Lists: กำหนด Ingress Rules เพื่ออนุญาตทราฟฟิกที่จำเป็น:
- อนุญาต SSH (Port 22) จาก IP ของคุณหรือเครือข่ายที่กำหนด
- อนุญาต HTTP (Port 80) และ HTTPS (Port 443) จากอินเทอร์เน็ตทั้งหมด (0.0.0.0/0)
- (สำหรับฐานข้อมูลที่ติดตั้งบน Instance เดียวกัน ไม่ต้องเปิดพอร์ต DB ภายนอก)
- สร้าง Compute Instance (Arm - Ampere A1):
- เลือก Image ที่รองรับสถาปัตยกรรม Arm และเป็น Ubuntu LTS (เช่น Ubuntu 20.04 หรือ 22.04 Minimal หรือ Cloud Image)
- เลือก Shape เป็น
VM.Standard.A1.Flexและปรับจำนวน OCPU และ RAM ตามโควต้าฟรีที่คุณได้รับ (สูงสุด 4 OCPUs, 24 GB RAM) - กำหนดค่าใน VCN และ Subnet ที่สร้างไว้
- สร้างหรือเลือก SSH Key Pair
- กำหนดค่า Public IP Address
ขั้นตอนที่ 2: ติดตั้งโปรแกรมและฐานข้อมูลบน Arm Instance
sudo apt update
sudo apt upgrade -y
sudo apt install -y nginx # ติดตั้ง Nginx
# ติดตั้ง Node.js (LTS) - ตรวจสอบคำแนะนำล่าสุดสำหรับ NodeSource หรือใช้วิธีอื่นที่รองรับ Arm
curl -sL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt install -y nodejsอัปเดตระบบและติดตั้งโปรแกรมที่จำเป็น
sudo apt install -y cron socat
curl https://get.acme.sh | sh -s [email protected]
ติดตั้ง acme.sh ก่อน Ghost จะได้ไม่มีปัญหา SSL
sudo apt install -y mysql-server
sudo mysql_secure_installation # ดำเนินการตั้งค่าความปลอดภัยพื้นฐานติดตั้ง MySQL Server บน Instance เดียวกัน
sudo mysql -u root -p
# ใส่รหัสผ่าน root ที่ตั้งค่าไว้ในขั้นตอนก่อนหน้า
CREATE DATABASE ghost_db; # ตั้งชื่อฐานข้อมูลตามต้องการ
CREATE USER 'ghost_user'@'localhost' IDENTIFIED BY 'your_password'; # ตั้งชื่อผู้ใช้และรหัสผ่านที่รัดกุม
GRANT ALL PRIVILEGES ON ghost_db.* TO 'ghost_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
ตั้งค่าฐานข้อมูลและผู้ใช้สำหรับ Ghost ใน MySQL
sudo adduser ghost-user
sudo usermod -aG sudo ghost-user
su - ghost-user # สลับไปใช้ผู้ใช้ ghost-user
สร้างผู้ใช้ใหม่สำหรับ Ghost (แนะนำ) และกำหนดสิทธิ์
sudo npm install ghost-cli@latest -g
ติดตั้ง Ghost-CLI
sudo mkdir -p /var/www/ghost
sudo chown ghost-user:ghost-user /var/www/ghost
sudo chmod 775 /var/www/ghost
cd /var/www/ghost
สร้างไดเรกทอรีสำหรับ Ghost และกำหนดสิทธิ์
ghost installติดตั้ง Ghost
หากใช้ ghost install (ซึ่งแนะนำกว่า local เพื่อให้ Ghost-CLI จัดการ Nginx/SSL):
- Your blog URL: ใส่โดเมนเนมของคุณ (เช่น
https://yourdomain.com) - Database type: เลือก
mysql - Database host: ใส่
localhost - Database user: ใส่ชื่อผู้ใช้ฐานข้อมูลที่คุณสร้างไว้ (
ghost_user) - Database password: ใส่รหัสผ่านฐานข้อมูลของคุณ (
your_password) - Ghost database name: ใส่ชื่อฐานข้อมูลของคุณ (
ghost_db) - Set up Nginx?: เลือก
Yes - Set up SSL?: เลือก
Yes(ต้องแน่ใจว่าโดเมนชี้มาที่ IP นี้แล้ว) - Set up Systemd?: เลือก
Yes - Start Ghost?: เลือก
Yes
ปัญหาที่อาจเจอ
- ถ้าเจอปัญหา
SSLหลังติดตั้ง ให้เช็ค DNS (ใส่ IP ที่ถูกต้องสำหรับ A & AAAA) รันghost setup sslเพื่อซ่อม - Website Error Too Many Redirects