كيفية إنشاء خادم ويب بسيط باستخدام darkhttpd
Darkhttpd هو برنامج خفي لخادم الويب خفيف الوزن وثنائي لنظام التشغيل Linux. فهو يوفر طريقة بسيطة “بدون تكوين” لنشر مواقع الويب بأسرع ما يمكن على الخادم الخاص بك. نعرض لك هنا كيفية تثبيت darkhttpd على Ubuntu Linux، وكيفية مقارنته بخوادم الويب الشائعة، ونرشدك خلال عملية إنشاء موقع الويب الأول الخاص بك.
Darkhttpd مقابل أباتشي مقابل Nginx
Darkhttpd ليس خادم الويب الوحيد الذي يمكنك تثبيته على جهاز Linux الخاص بك. هناك Apache وNginx وCaddy وLighttpd وغيرها الكثير. في هذا القسم، سنقوم بمقارنة darkhttpd مع Apache وNginx ونرى كيفية أدائه.
فيما يتعلق بسهولة الاستخدام، فإن darkhttpd يتفوق على كل من Apache وNginx تمامًا. يركز Darkhttpd على حفظ كل شيء في برنامج واحد. وهذا يعني أنه يمكنك مشاركة موقع الويب الخاص بك دون القلق بشأن تكوينه وخدمة init الخاصة بنظامك.
فيما يتعلق بالأمان، يستخدم darkhttpd جذرًا لملفاته. كما أن لديها مهلات تلقائية للاتصالات الخاملة والتسجيل الأساسي. هذا بعيد كل البعد مقارنة بـ Apache و Nginx. يحتوي كلاهما على مرشحات وخيارات قوية لتحديد المعدل لضبط رؤوس HTTP على مواقعهما.
كما أن بساطة Darkhttpd تجعلها غير مرنة لتلبية متطلبات المستخدم المخصصة. صممه مطورو البرنامج كطريقة سريعة لخدمة محتوى الويب الثابت. وهذا يعني أنه بالمقارنة مع Apache وNginx، فإن darkhttpd لا يمكنه تشغيل نصوص CGI أو العمل كوكيل عكسي لتطبيقاتك.
فئة | darkhttpd | أباتشي | نجينكس |
---|---|---|---|
سهولة الاستعمال | لا يتطلب أي تكوين إضافي لاستضافة مواقع الويب. | يتطلب كلاً من النظام والتكوين الخاص بالموقع للعمل. | يتطلب التكوين الخاص بالموقع للعمل. |
الأمن الشامل | يأتي مع ميزات chroot والتسجيل الأساسية. | يأتي مزودًا بمحددات للمعدلات ورؤوس HTTP التي تركز على الأمان. | يأتي مزودًا بمحددات للمعدلات ورؤوس HTTP التي تركز على الأمان. |
دعم طبقة المقابس الآمنة | لا يوجد دعم SSL مدمج. | يأتي مع “mod_ssl” لدعم SSL. | يأتي مع دعم SSL مدمج. |
مرونة التطبيق | يمكن أن تعمل فقط مع محتوى الويب الثابت. | يمكن أن تعمل مع محتوى الويب الثابت والديناميكي. | يمكن أن يعمل كخادم ويب وموازن تحميل ووكيل عكسي. |
جيد ان تعلم: تعرف على كيفية تشفير البيانات على الإنترنت عن طريق إنشاء شهادات SSL موقعة ذاتيًا باستخدام OpenSSL.
تحضير النظام الخاص بك لـ darkhttpd
ملحوظة: تم تنفيذ هذا البرنامج التعليمي على Ubuntu 24.04 VPS مع ذاكرة وصول عشوائي (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 repo، ثم قم بإنشاء ملف 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 والحزمة المفاجئة “الأساسية” وCertbot على جهازك:
sudo apt install stunnel4 sudo snap install core && sudo snap install certbot --classic
قم بتسجيل مثيل darkhttpd الخاص بك في Electronic Frontier Foundation:
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
تأكد من أن موقع الويب الثابت الخاص بك يعمل الآن بشكل صحيح عن طريق فتح المجال الفرعي الخاص بك على متصفح الويب.
تعد استضافة موقع الويب البسيط الخاص بك باستخدام darkhttpd مجرد خطوة أولى في استكشاف العالم الرائع لخدمات الويب ذاتية الاستضافة. تعرف على كيفية إنشاء خلاصات RSS لوسائل التواصل الاجتماعي الخاصة بك باستخدام RSS-Bridge.
حقوق الصورة: إيليا بافلوف عبر Unsplash. جميع التعديلات ولقطات الشاشة بواسطة Ramces Red.
اشترك في نشرتنا الإخبارية!
يتم تسليم أحدث البرامج التعليمية لدينا مباشرة إلى صندوق البريد الوارد الخاص بك
اكتشاف المزيد من تكتك تكنولوجيا
اشترك للحصول على أحدث التدوينات المرسلة إلى بريدك الإلكتروني.