• Sat. Sep 21st, 2024

كيفية إنشاء خادم ويب بسيط باستخدام darkhttpd

Byadmin

Aug 4, 2024

صورة لشاشة كمبيوتر تعرض كود HTML.

Darkhttpd هو برنامج خفيف الوزن لخادم الويب أحادي الثنائية لنظام Linux. وهو يوفر طريقة بسيطة “بدون تكوين” لنشر مواقع الويب بأسرع ما يمكن على خادمك. هنا، نعرض لك كيفية تثبيت darkhttpd على Ubuntu Linux، وكيف يتفوق على خوادم الويب الشائعة، ونرشدك خلال عملية إنشاء موقع الويب الأول الخاص بك.

Darkhttpd مقابل Apache مقابل Nginx

Darkhttpd ليس الخادم الوحيد الذي يمكنك تثبيته على جهاز Linux الخاص بك. هناك Apache وNginx وCaddy وLighttpd والعديد من الخوادم الأخرى. في هذا القسم، سنقارن darkhttpd مع Apache وNginx ونرى أداءه.

فيما يتعلق بسهولة الاستخدام، يتفوق darkhttpd على Apache وNginx بشكل واضح. يركز Darkhttpd على الاحتفاظ بكل شيء في برنامج واحد. وهذا يعني أنه يمكنك مشاركة موقع الويب الخاص بك دون القلق بشأن تكوينه وخدمة بدء التشغيل في نظامك.

محطة طرفية تظهر إخراج المساعدة لـ darkhttpd.

من حيث الأمان، يستخدم darkhttpd جذرًا لملفاته. كما أنه يحتوي على مهلة زمنية تلقائية لاتصالات الخمول والتسجيل الأساسي. وهذا بعيد كل البعد عن Apache وNginx. يتمتع كلاهما بمرشحات قوية لتحديد السرعة وخيارات لضبط رؤوس HTTP على مواقعهما.

كما أن بساطة Darkhttpd تجعله غير مرن في تلبية متطلبات المستخدم المخصصة. فقد صممه مطورو البرنامج كطريقة سريعة لتقديم محتوى ويب ثابت. وهذا يعني أنه مقارنة بـ Apache وNginx، لا يستطيع darkhttpd تشغيل نصوص CGI أو العمل كوكيل عكسي لتطبيقاتك.

محطة طرفية تعرض نموذجًا لتكوين الوكيل العكسي لـ Nginx.
فئة دارك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
محطة طرفية تُظهر عملية التثبيت لـ Docker والمكونات الإضافية الخاصة به و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 بشكل صحيح عن طريق إدراج الحاويات المتوفرة في النظام:

محطة طرفية تُظهر حاوية Darkhttpd Docker قيد التشغيل في النظام.

في ملحوظة جانبية: تعرف على كيفية نقل حاويات 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
محطة طرفية تُظهر عملية إنشاء شهادة SSL في LetsEncrypt.

قم بإنشاء ملف تكوين جديد لوكيل 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
محطة طرفية تظهر الحالة الحالية لخدمة stunnel في النظام.

في Fedora، يمكنك تشغيل الأمر التالي بدلاً من ذلك لبدء تشغيل وكيل stunnel العكسي الخاص بك:

sudo systemctl start stunnel.service

تأكد من أن موقع الويب الثابت الخاص بك يعمل الآن بشكل صحيح عن طريق فتح المجال الفرعي الخاص بك على متصفح الويب.

لقطة شاشة تعرض نموذج موقع الويب الذي يعمل على darkhttpd مع SSL.

إن استضافة موقع الويب البسيط الخاص بك باستخدام darkhttpd ما هو إلا الخطوة الأولى لاستكشاف العالم الرائع لخدمات الويب التي تستضيف نفسها. تعرف على كيفية إنشاء موجزات RSS لوسائل التواصل الاجتماعي الخاصة بك باستخدام RSS-Bridge.

By admin

Leave a Reply

Your email address will not be published. Required fields are marked *