การเข้าถึง
- เปิด browser และไปที่:
https://<SERVER_IP> - คาดว่าจะมีคำเตือน SSL ของ browser (self-signed certificate)
- คลิกเข้าสู่ระบบ
- สร้างบัญชีผู้ดูแลระบบ
ไฟล์และไดเรกทอรีที่สำคัญ
- ไดเรกทอรีติดตั้ง Kener:
/root/kener - ไฟล์ environment:
/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 certificates:
/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 ของ server
๒. แก้ไข /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) blocks:
vim /etc/nginx/sites-available/kener
๕. ติดตั้ง Certbot:
apt install -y certbot python3-certbot-nginx
6. รันคำสั่งต่อไปนี้เพื่อสร้างใบรับรอง Let’s Encrypt ที่ใช้งานได้:
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. เปิด browser และไปที่: 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 ก่อนหน้านั้นอาจทำให้เกิดปัญหาได้