وصول
- افتح متصفحك وزُر:
https://<SERVER_IP> - تحذير SSL من المتصفح متوقع (شهادة موقعة ذاتيًا)
- انقر فوق تسجيل الدخول
- قم بإنشاء حساب المسؤول الخاص بك
الملفات والمجلدات المهمة
- دليل تثبيت كينر:
/root/kener - ملف البيئة:
/root/kener/.env - ملف Docker Compose:
/root/kener/docker-compose.yml - حجم بيانات Redis:
/var/lib/docker/volumes/kener_redis/_data - حجم بيانات 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 الخادم.
2. تحرير /root/kener/.env لتعيين المجال الخاص بك كـ ORIGIN: ORIGIN=https://yourdomain.com
3. إعادة إنشاء الخدمات:
cd /root/kener/
docker compose up -d
4. قم بتحرير تكوين Nginx واستبدال كليهما server_name <IP>; بنطاقك (<your-domain>) لكلا كتلتي HTTP (المنفذ 80) وHTTPS (المنفذ 443):
vim /etc/nginx/sites-available/kener
5. تثبيت سيرتبوت:
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:
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. بعد تسجيل الدخول، انتقل إلى تكوين الموقع وقم بتحديث حقل عنوان URL للموقع ليطابق المجال الخاص بك (https://yourdomain.com).
ملحوظات
- يتم استخدام Redis لقوائم الانتظار والتخزين المؤقت
- يقوم PostgreSQL بتخزين جميع بيانات التطبيق
- يتم تعريف عنوان URL العام عبر
ORIGINin.env(مطلوب لحماية CSRF) - يتعامل Nginx مع HTTPS والوكيل العكسي
- بمجرد تكوين اسم المجال المناسب وشهادة SSL، قم بتحديث عنوان URL لموقع Kener ليطابق مجالك. تأكد من أن المجال وSSL نشطان أولاً، ثم قم بتحديث عنوان URL للموقع قبل أن لا يعمل ذلك بشكل صحيح.