การเข้าถึง
- เปิดเบราว์เซอร์แล้วไปที่:
https://<SERVER_IP> - คาดว่าจะมีคำเตือน SSL จากเบราว์เซอร์ (self-signed certificate)
- คลิกเข้าสู่ระบบ
- สร้างบัญชีผู้ดูแลระบบ
ไฟล์และไดเรกทอรีสำคัญ
- ไดเรกทอรีติดตั้ง Kener:
/root/kener - ไฟล์สภาพแวดล้อม:
/root/kener/.env - ไฟล์ Docker Compose:
/root/kener/docker-compose.yml - data volume ของ Redis:
/var/lib/docker/volumes/kener_redis/_data - data volume ของ PostgreSQL:
/var/lib/docker/volumes/kener_postgres/_data - การตั้งค่าไซต์ Nginx:
/etc/nginx/sites-available/kener - เปิดใช้งานไซต์:
/etc/nginx/sites-enabled/kener - ใบรับรอง SSL:
/etc/nginx/ssl/fullchain.pemและ/etc/nginx/ssl/privkey.pem
การจัดการบริการ
# View logs
docker compose -f /root/kener/docker-compose.yml logs -f
# Restart services
docker compose -f /root/kener/docker-compose.yml restart
# Stop services
docker compose -f /root/kener/docker-compose.yml down
# Start again
docker compose -f /root/kener/docker-compose.yml up -d
เปิดใช้งาน SSL พร้อมโดเมน
1. ชี้โดเมนของคุณไปที่ IP ของเซิร์ฟเวอร์
๒. แก้ไข /root/kener/.env เพื่อตั้งโดเมนของคุณเป็น ORIGIN: ORIGIN=https://yourdomain.com
3. สร้างบริการใหม่:
cd /root/kener/
docker compose up -d
4. แก้ไขการตั้งค่า Nginx และแทนที่ทั้งสอง server_name <IP>; ด้วยโดเมนของคุณ (<your-domain>) สำหรับทั้งบล็อก HTTP (port 80) และ HTTPS (port 443):
vim /etc/nginx/sites-available/kener
๕. ติดตั้ง Certbot:
apt install -y certbot python3-certbot-nginx
6. รันคำสั่งต่อไปนี้เพื่อสร้าง Let's Encrypt certificate ที่ถูกต้อง:
certbot certonly --nginx --non-interactive --agree-tos --email [email protected] -d yourdomain.com
7. แทนที่พาธ SSL ใน Nginx config:
vim /etc/nginx/sites-available/kener
# Before:
# ssl_certificate /etc/nginx/ssl/fullchain.pem;
# ssl_certificate_key /etc/nginx/ssl/privkey.pem;
# After:
# ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
# ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
8. รีสตาร์ท Nginx เพื่อใช้การเปลี่ยนแปลง:
systemctl restart nginx
9. เปิดเบราว์เซอร์และเข้าไปที่: https://yourdomain.com
10. หลังเข้าสู่ระบบ ไปที่ Site Configuration และอัปเดตช่อง Site URL ให้ตรงกับโดเมนของคุณ (https://yourdomain.com).
หมายเหตุ
- Redis ใช้สำหรับคิวและการแคช
- PostgreSQL เก็บข้อมูลแอปพลิเคชันทั้งหมด
- Public URL ถูกกำหนดผ่าน
ORIGINin.env(จำเป็นสำหรับการป้องกัน CSRF) - Nginx จัดการ HTTPS และ reverse proxy
- เมื่อคุณตั้งค่าชื่อโดเมนและใบรับรอง SSL เรียบร้อยแล้ว ให้อัปเดต Site URL ของ Kener ให้ตรงกับโดเมนของคุณ ตรวจสอบให้แน่ใจว่าโดเมนและ SSL ใช้งานได้ก่อน เพราะการอัปเดต Site URL ก่อนหน้านั้นอาจทำให้เกิดปัญหาได้