مقدمة
سنقوم بتثبيت Nginx Proxy Manager، وهو برنامج مفتوح المصدر مصمم لتسهيل استخدام خادم الويب Nginx عبر واجهة مستخدم. باستخدام Nginx Proxy Manager، يمكنك إنشاء مضيفات وكيل، ومضيفات إعادة التوجيه، وتدفقات، ومضيفات 404.
المتطلبات الأساسية
- خادم يحتوي على عنوان IPv4 مخصص
- المعرفة الأساسية لنظام Linux والطرفية
- المنافذ 80، 81، 443 متاحة.
الخطوة 1 - إنشاء خادم جديد
إنشاء خادم جديد، على سبيل المثال باستخدام Hotsnr
عند إنشاء خادمك، تأكد من اختيار نظام تشغيل يدعمه Docker. سيستخدم هذا البرنامج التعليمي نظام Ubuntu 24.04. كما أن الخطة القياسية كافية لخادم وكيل عكسي ذي حركة مرور قليلة.
ومن المستحسن أيضًا إضافة مفتاح SSH.
لأسباب أمنية، لا يُنصح باستخدام المستخدم الجذر. بدلاً من ذلك، يُنصح بإنشاء مستخدم جديد وإضافته إلى مجموعة sudo.
الخطوة 2 – تثبيت Docker و Nginx Proxy Manager
- الاتصال بخادمك
أولاً، يمكنك البدء بالاتصال بخادمك الجديد عبر SSH.
ssh holu@<server_ip>
- تثبيت Docker
لتثبيت Docker على أوبونتو، شغّل الأوامر التالية. إذا كان خادمك يعمل بنظام تشغيل مختلف، فتأكد من البحث عن الأوامر الصحيحة (انظر تثبيت Docker - المنصات المدعومة).
أضف مفتاح GPG ومستودع Docker:
# Uninstall old versions
sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
# Install prerequisites
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
# Add Docker’s official GPG key
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Set up stable repository
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/nullتثبيت Docker Engine وDocker Compose:
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
# Test the installation
docker --version
docker compose versionلقد قمنا بتثبيت Docker وDocker Compose بنجاح.
أضف المستخدم الخاص بك إلى مجموعة Docker:
sudo usermod -aG docker <user>
قم بتسجيل الخروج ثم تسجيل الدخول مرة أخرى لتحديث مجموعات المستخدمين الخاصة بك.
الآن نحتاج إلى تثبيت Nginx Proxy Manager نفسه.
- تثبيت Nginx Proxy Manager
إنشاء دليل جديد لمدير وكيل nginx:
mkdir -p npm
cd npmقم بتشغيل الأوامر التالية المدرجة أدناه.
# Create a docker-compose configuration file
touch docker-compose.yml
# Editing the file
nano docker-compose.ymlضع المحتويات التالية في الملف المذكور أدناه.
version: '3.8'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80'
- '81:81'
- '443:443'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
# network_mode: 'host'ملاحظة حول network_mode:
- إذا كنت تخطط لتوكيل خوادم خارجية باستخدام عناوين IP عامة، فلن تحتاج إلى network_mode.
- إذا كنت تخطط لتوكيل حاويات Docker المحلية وتريد الإشارة إلى 127.0.0.1: ، تحتاج إلى network_mode وتحتاج إلى إزالة رمز التجزئة في بداية السطر.
الآن نحتاج إلى إحضار المكدس عن طريق تشغيل الأمر التالي.
docker compose up -d
يجب أن نكون الآن قادرين على الوصول إلى واجهة المسؤول بالتفاصيل التالية.
استبدل 203.0.113.1 بعنوان IPv4 العام الخاص بك
واجهة المستخدم الإدارية: http://203.0.113.1:81
مستخدم المسؤول الافتراضي:
Email: [email protected]
Password: changemeالخطوة 3 – الوصول إلى واجهة الإدارة
بعد تسجيل الدخول باستخدام المستخدم الافتراضي، يجب عليك تعديل ملفك الشخصي وتغيير كلمة المرور الخاصة بك.
يجب أن تبدو صفحة تسجيل الدخول للمسؤول مثل الصورة أدناه.
بمجرد تسجيل الدخول وتغيير جميع التفاصيل الافتراضية، يمكنك عرض "لوحة المعلومات".
إنشاء أول مضيف وكيل لك سهل نسبيًا. في "لوحة التحكم"، انقر على "0 مضيف وكيل" > "إضافة مضيف وكيل". فيما يلي لقطة شاشة لتكوين أساسي للوصول إلى واجهة الإدارة من نطاق (proxy.example.com). تأكد من أن النطاق يحتوي على سجل DNS يُوجِّه النطاق إلى عنوان IPv4 العام للخادم.
بعد ذلك، ستحتاج على الأرجح إلى شهادة SSL للحفاظ على أمان كل شيء. فيما يلي لقطة شاشة للتكوين الأولي لكيفية ظهور خيارات SSL.
يمكنك تحديد خيارات أخرى، مثل "فرض SSL"، وغيرها، حسب رغبتك. هذه الخيارات غير مُحددة في الصورة، وذلك لتجنب حيرة القراء الذين يقرأون هذا الدليل وظنّهم أنهم بحاجة إلى تحديدها.
بعد حفظ الإدخال الجديد، يمكنك الوصول إلى واجهة المسؤول من المجال الذي قمت بإعداده (في هذا المثال، proxy.example.com).
مدير وكيل Nginx جاهز الآن ويمكنك إضافة مضيفات الوكيل الخاصة بك.
إذا أضفتَ network_mode في ملف Docker Compose أعلاه، فستتمكن من ضبط "اسم المضيف/عنوان IP الأمامي" لجميع الحاويات المحلية على 127.0.0.1. على سبيل المثال، حاوية WordPress Docker محلية:
holu@tutorial:~/npm$ docker run -p 8080:80 -d wordpress
holu@tutorial:~/npm$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
23bcbfe55c53 jc21/nginx-proxy-manager "/init" 31 minutes ago Up 31 minutes npm-app-1
e9853acea394 wordpress "docker-entrypoint.s…" 22 minutes ago Up 22 minutes 0.0.0.0:8080->80/tcp, :::8080->80/tcp thirsty_greiderيمكنك تعيين الوجهة إلى http://127.0.0.1:8080:
إذا لم يكن لديك network_mode: 'host' في ملف Docker Compose، فستحتاج إلى تعيين الوجهة إلى عنوان IP عام، في هذا المثال 203.0.113.1:8080.
نتيجة
الآن تحتاج إلى تثبيت Nginx Proxy Manager.














