Darkhttpd هو برنامج خفيف الوزن لخادم الويب أحادي الثنائية لنظام Linux. وهو يوفر طريقة بسيطة “بدون تكوين” لنشر مواقع الويب بأسرع ما يمكن على خادمك. هنا، نعرض لك كيفية تثبيت darkhttpd على Ubuntu Linux، وكيف يتفوق على خوادم الويب الشائعة، ونرشدك خلال عملية إنشاء موقع الويب الأول الخاص بك.
Darkhttpd مقابل Apache مقابل Nginx
Darkhttpd ليس الخادم الوحيد الذي يمكنك تثبيته على جهاز Linux الخاص بك. هناك Apache وNginx وCaddy وLighttpd والعديد من الخوادم الأخرى. في هذا القسم، سنقارن darkhttpd مع Apache وNginx ونرى أداءه.
فيما يتعلق بسهولة الاستخدام، يتفوق darkhttpd على Apache وNginx بشكل واضح. يركز Darkhttpd على الاحتفاظ بكل شيء في برنامج واحد. وهذا يعني أنه يمكنك مشاركة موقع الويب الخاص بك دون القلق بشأن تكوينه وخدمة بدء التشغيل في نظامك.
من حيث الأمان، يستخدم darkhttpd جذرًا لملفاته. كما أنه يحتوي على مهلة زمنية تلقائية لاتصالات الخمول والتسجيل الأساسي. وهذا بعيد كل البعد عن Apache وNginx. يتمتع كلاهما بمرشحات قوية لتحديد السرعة وخيارات لضبط رؤوس HTTP على مواقعهما.
كما أن بساطة Darkhttpd تجعله غير مرن في تلبية متطلبات المستخدم المخصصة. فقد صممه مطورو البرنامج كطريقة سريعة لتقديم محتوى ويب ثابت. وهذا يعني أنه مقارنة بـ Apache وNginx، لا يستطيع darkhttpd تشغيل نصوص CGI أو العمل كوكيل عكسي لتطبيقاتك.
فئة | داركhttpd | أباتشي | نجينكس |
---|---|---|---|
سهولة الاستعمال | لا يتطلب أي تكوين إضافي لاستضافة مواقع الويب. | يتطلب تكوين النظام والموقع المحدد للعمل. | يتطلب تكوينًا خاصًا بالموقع ليعمل. |
الأمن الشامل | يأتي مع ميزات chroot والتسجيل الأساسية. | يأتي مع محددات السرعة ورؤوس HTTP التي تركز على الأمان. | يأتي مع محددات السرعة ورؤوس HTTP التي تركز على الأمان. |
دعم SSL | لا يوجد دعم SSL مدمج. | يأتي مع “mod_ssl” لدعم SSL. | يأتي مع دعم SSL المدمج. |
مرونة التطبيق | يمكن العمل فقط مع محتوى الويب الثابت. | يمكن العمل مع محتوى الويب الثابت والديناميكي. | يمكن أن يعمل كخادم ويب وموازن تحميل ووكيل عكسي. |
جيد ان تعلم: تعرف على كيفية تشفير البيانات على الإنترنت عن طريق إنشاء شهادات SSL موقعة ذاتيًا باستخدام OpenSSL.
إعداد النظام الخاص بك لـ darkhttpd
ملحوظة: تم تنفيذ هذا البرنامج التعليمي على خادم VPS يعمل بنظام Ubuntu 24.04 مع ذاكرة وصول عشوائي (RAM) بحجم 512 ميجابايت على الأقل. ستعمل التعليمات في معظم توزيعات Linux أيضًا.
الخطوة الأولى لإنشاء موقع ويب باستخدام darkhttpd في Ubuntu Linux هي الحصول على التبعيات الخاصة بـ Docker وDocker Compose.
ملحوظة: فيما يلي سيتم تثبيت Docker للأنظمة المستندة إلى Ubuntu. إذا كنت قادمًا من توزيع مختلف، فراجع دليلنا العام لتثبيت Docker في Linux.
ابدأ بتنزيل مفتاح التوقيع لمشروع Docker:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg
استخدم محرر النصوص المفضل لديك لإنشاء ملف مستودع جديد:
sudo nano /etc/apt/sources.list.d/docker.list
قم بلصق سطر التعليمات البرمجية التالي داخل ملف المستودع الخاص بك:
deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu noble stable
قم بإعادة تحميل مستودعات الحزم الخاصة بجهازك وقم بتحديث نظامك بالكامل:
sudo apt update && sudo apt upgrade
قم بتثبيت Docker ومكونه الإضافي Compose وGit باستخدام apt:
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin git
تثبيت وتشغيل darkhttpd
انتقل إلى دليل منزلك، ثم قم بسحب الإصدار الأحدث من darkhttpd إلى نظامك:
cd ~ && git clone https://github.com/emikulic/darkhttpd.git
انتقل إلى داخل مستودع Git، ثم قم بإنشاء ملف Docker Compose جديد باستخدام محرر النصوص المفضل لديك:
cd darkhttpd && nano ./docker-compose.yml
قم بلصق كتلة التعليمات البرمجية التالية داخل ملف Compose الخاص بك:
services: darkhttpd: container_name: darkhttpd-website build: context: . dockerfile: Dockerfile volumes: - "./html:/var/www/htdocs:ro" ports: - "8080:80"
احفظ ملف Compose الجديد، ثم قم بتشغيل الأمر التالي لبناء وتشغيل حاوية Darkhttpd Docker الخاصة بك:
sudo docker compose up -d
قم بإنشاء مجلد “html” داخل مستودع darkhttpd Linux، ثم انسخ ملفات موقع الويب الثابتة إليه:
mkdir ./html/ cp -rv ~/my-website ./html/
تأكد من تشغيل darkhttpd بشكل صحيح عن طريق إدراج الحاويات المتوفرة في النظام:
في ملحوظة جانبية: تعرف على كيفية نقل حاويات Docker الموجودة لديك إلى مضيف نظام جديد.
تشغيل darkhttpd عبر SSL باستخدام stunnel
في هذه المرحلة، أصبح لديك الآن خادم darkhttpd قيد التشغيل على المنفذ 8080. ومع ذلك، للوصول إليه عبر الإنترنت، تحتاج أولاً إلى تغليفه في SSL من خلال وكيل عكسي.
للبدء، قم بإنشاء سجل DNS جديد “A” لنطاقك يشير إلى عنوان IPv4 الخاص بـ darkhttpd. في حالتي، سأشير إلى عنوان IPv4 الخاص بجهازي إلى السجل: “web.myvpsserver.top”.
قم بجلب وتثبيت stunnel وحزمة snap “core” وCertbot على جهازك:
sudo apt install stunnel4 sudo snap install core && sudo snap install certbot --classic
إذا كنت تستخدم Fedora، فيمكنك تشغيل الأمر التالي لتثبيت stunnel وcertbot:
sudo dnf install stunnel certbot
قم بتسجيل نسخة darkhttpd الخاصة بك لدى مؤسسة الحدود الإلكترونية:
sudo certbot register --agree-tos -m YOUR-EMAIL@ADDRESS.HERE
إنشاء شهادة SSL عارية لاسم المجال الخاص بك:
sudo certbot certonly --standalone -d SUBDOMAIN.YOUR-DOMAIN.ROOT
قم بإنشاء ملف تكوين جديد لوكيل stunnel العكسي الخاص بك:
sudo nano /etc/stunnel/stunnel.conf
قم بلصق كتلة التعليمات البرمجية التالية داخل ملف التكوين الجديد الخاص بك:
output = /var/log/stunnel4/stunnel.log cert = /etc/letsencrypt/live/SUBDOMAIN.YOUR-ROOT.DOMAIN/fullchain.pem key = /etc/letsencrypt/live/SUBDOMAIN.YOUR-ROOT.DOMAIN/privkey.pem [https] client = no accept = 443 connect = 8080
احفظ ملف التكوين الجديد، ثم قم بتشغيل الأمر التالي لبدء تشغيل الوكيل العكسي:
sudo systemctl start stunnel4.service
في Fedora، يمكنك تشغيل الأمر التالي بدلاً من ذلك لبدء تشغيل وكيل stunnel العكسي الخاص بك:
sudo systemctl start stunnel.service
تأكد من أن موقع الويب الثابت الخاص بك يعمل الآن بشكل صحيح عن طريق فتح المجال الفرعي الخاص بك على متصفح الويب.
إن استضافة موقع الويب البسيط الخاص بك باستخدام darkhttpd ما هو إلا الخطوة الأولى لاستكشاف العالم الرائع لخدمات الويب التي تستضيف نفسها. تعرف على كيفية إنشاء موجزات RSS لوسائل التواصل الاجتماعي الخاصة بك باستخدام RSS-Bridge.