دليل تثبيت واستخدام Nginx Proxy Manager (NPM)
دليل شامل لإعداد Nginx Proxy Manager (NPM) على Docker. يغطي هذا الدليل التثبيت باستخدام كل من Docker Compose وأمر Docker CLI واحد، بالإضافة إلى شرح موجز لكيفية استخدام NPM لإدارة المضيفين وتأمينهم تلقائيًا باستخدام شهادات Let's Encrypt SSL المجانية.
الخطوة 1: مقدمة موجزة عن Nginx Proxy Manager
Nginx Proxy Manager، أو NPM، هو وكيل عكسي سهل الاستخدام مبني على Nginx. يبسط المهمة المعقدة لإدارة خدمات الويب الخاصة بك والتعامل مع شهادات SSL من خلال توفير واجهة بسيطة قائمة على الويب. يلغي الحاجة إلى تعديل ملفات تهيئة Nginx يدويًا ويقوم بأتمتة عملية الحصول على شهادات Let's Encrypt وتجديدها لنطاقاتك.
الخطوة 2: التثبيت باستخدام Docker Compose (موصى به)
أنشئ ملفًا جديدًا باسم `docker-compose.yml` وأضف المحتوى التالي. يقوم هذا التكوين بإعداد NPM وقاعدة بيانات MariaDB مخصصة لتخزين إعداداته. كما يقوم بتعيين المنافذ الضرورية: 80 (HTTP)، 443 (HTTPS)، و 81 (واجهة المستخدم الويب).
version: '3'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: always
ports:
- '80:80'
- '443:443'
- '81:81'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
db:
image: 'jc21/mariadb-aria:latest'
restart: always
environment:
- MYSQL_ROOT_PASSWORD=npm
- MYSQL_DATABASE=npm
- MYSQL_USER=npm
- MYSQL_PASSWORD=npm
volumes:
- ./data/mysql:/var/lib/mysql
احفظ الملف، ثم قم بتشغيل هذا الأمر في نفس الدليل لبدء الخدمات.
docker-compose up -d
الخطوة 3: الوصول إلى واجهة الويب والإعداد الأولي
بعد تشغيل الحاويات، انتقل إلى واجهة الويب عن طريق فتح متصفح والذهاب إلى `http://your_server_ip:81`. بيانات الاعتماد الافتراضية هي `admin@example.com` و`changeme`. قم بتسجيل الدخول وسيُطلب منك تغيير بريدك الإلكتروني وكلمة المرور.
الخطوة 4: إنشاء مضيف وكيل
بمجرد تسجيل الدخول، اذهب إلى `Proxy Hosts` في لوحة التحكم وانقر على `Add Proxy Host` (إضافة مضيف وكيل). أدخل المعلومات التالية لتوجيه حركة المرور من نطاق إلى خدمة محلية:
**Domain Names:** نطاقك (على سبيل المثال، `app.yourdomain.com`).\n- **Scheme:** `http` أو `https`.\n- **Forward Hostname / IP:** عنوان IP المحلي أو اسم المضيف لخدمتك (على سبيل المثال، `127.0.0.1` أو `container-name`).\n- **Forward Port:** المنفذ الذي تعمل عليه الخدمة (على سبيل المثال، `3000`، `8080`)."
الخطوة 5: الحصول على شهادة Let's Encrypt SSL
لتأمين المضيف الخاص بك باستخدام HTTPS، انقر على علامة تبويب **SSL** ضمن إعداد `Proxy Host`. حدد `Request a new SSL Certificate` (طلب شهادة SSL جديدة) وأدخل عنوان بريدك الإلكتروني. تأكد من تحديد خيار 'Force SSL'. انقر على 'Save' (حفظ) وسيتم الحصول على الشهادة تلقائيًا. ملاحظة: يجب أن يكون نطاقك موجهًا إلى عنوان IP الخاص بالخادم لكي يعمل هذا.
الخطوة 6: الإنهاء والاختبار
انقر على `Save` (حفظ) لتطبيق التغييرات. سيقوم NPM بإعادة تحميل تهيئة Nginx. يجب أن تكون الآن قادرًا على الوصول إلى خدمتك بأمان عبر `https://app.yourdomain.com`، مع توجيه حركة المرور بشكل صحيح بواسطة NPM.
الخطوة 7: التنظيف (اختياري)
إذا كنت بحاجة إلى إزالة حاوية NPM وبياناتها، يمكنك استخدام هذه الأوامر. كن على دراية بأن هذا سيؤدي إلى حذف تكوين NPM وجميع المضيفين المدارين بشكل دائم.
docker-compose down -v