كيفية استضافة موقع ويب ببروتوكول HTTPS باستخدام كادي على لينكس

A web server is a server-side application designed to process HTTP requests between client and server. HTTP is the basic and very widely used network protocol.

لعب خادم Apache HTTP دورًا مهمًا في تصميم الويب كما هو اليوم. له وحده حصة سوقية تبلغ 37.3%. يأتي Nginx في المرتبة الثانية في القائمة بحصة سوقية تبلغ 32.4%. Microsoft IIS و LiteSpeed يأتيان في المركزين 3 و 4 بحصة سوقية تبلغ 7.8% و 6.9% على التوالي.

مؤخرًا، واجهت خادم ويب يدعى Caddy. عندما حاولت الاستفسار عن ميزاته ونشره للاختبار، يجب أن أقول إنه مذهل. خادم ويب قابل للنقل ولا يحتاج إلى أي ملف تكوين. اعتقدت أنه مشروع رائع جدًا وأردت مشاركته معك. هنا، قمنا بتجربة Caddy!

ما هو Caddy؟

Caddy هو بديل لخادم ويب أباتشي سهل الاستخدام والتكوين. يدعي ماثيو هولت – زعيم مشروع Caddy – أن Caddy هو خادم ويب عام يدعي أنه مصمم للبشر وربما هو الوحيد من نوعه.

Caddy هو أول خادم ويب يمكنه الحصول على شهادات SSL/TLS وتجديدها تلقائيًا باستخدام Let’s Encrypt.

ميزات Caddy

  1. طلبات HTTP السريعة باستخدام HTTP/2.
  2. خادم ويب قادر على التكوين بسهولة ونشر بدون متاعب.
  3. تشفير TLS يضمن التشفير بين التطبيقات والمستخدمين المتواصلين عبر الإنترنت. يمكنك استخدام مفاتيحك وشهاداتك الخاصة.
  4. سهل النشر/الاستخدام. ملف واحد فقط ولا يعتمد على أي منصة.
  5. لا حاجة للتثبيت.
  6. ملفات تنفيذية محمولة.
  7. تشغيل على عدة وحدات معالجة مركزية / أنوية.
  8. تكنولوجيا WebSockets المتقدمة – جلسة اتصال تفاعلية بين المستعرض والخادم.
  9. تقديم مستندات Markdown على الطاير.
  10. دعم كامل لـ IPv6 الأحدث.
  11. إنشاء سجل بتنسيق مخصص.
  12. تقديم FastCGI، والوكيل العكسي، وإعادة الكتابة والتوجيه، وعنوان URL نظيف، وضغط Gzip، وتصفح الدلائل، والمضيفين الافتراضيين، والرؤوس.
  13. متاح لجميع المنصات المعروفة – Windows، Linux، BSD، Mac، Android.

ما الذي يجعل كادي مختلفًا؟

  1. يهدف كادي إلى خدمة الويب كما ينبغي في عام 2020 وليس الأسلوب التقليدي.
  2. تم تصميمه ليس فقط لخدمة طلبات HTTP ولكن أيضًا للبشر.
  3. محمل بأحدث الميزات – HTTP/2، IPv6، Markdown، WebSockets، FastCGI، القوالب، وميزات أخرى جاهزة للاستخدام.
  4. تشغيل الملفات التنفيذية دون الحاجة إلى تثبيتها.
  5. وثائق مفصلة مع أدنى وصف تقني.
  6. تم تطويرها مع مراعاة احتياجات وسهولة التصميم، والمطورين، والمدونين.
  7. دعم المضيف الافتراضي – تعريف عدد لا يحصى من المواقع.
  8. مناسب لك – بغض النظر عما إذا كان موقعك ثابتًا أو ديناميكيًا. إذا كنت إنسانًا، فهو لك.
  9. انصب تركيزك على ما تريد تحقيقه وليس كيفية تحقيقه.
  10. توافر الدعم لمعظم المنصات – Windows، Linux، Mac، Android، BSD.
  11. عادةً ما يكون لديك ملف Caddy واحد لكل موقع.
  12. تثبيت في أقل من دقيقة، حتى لو لم تكن متمرسًا في استخدام الحاسوب كثيرًا.
بيئة الاختبار

I will be testing it on the CentOS server, as well as Debian Server, but the same instructions also work on RHEL and Debian based distributions. For both the server I am going to use 64-bit executables.

Operating Systems: CentOS 8 and Debian 10 Buster
Caddy Version: v2.0.0

تثبيت خادم الويب Caddy في نظام Linux

بغض النظر عن النظام الذي تستخدمه ونوع البنية التحتية التي تعمل عليها، يوفر Caddy حزم برمجية جاهزة للاستخدام، يمكن تثبيتها باستخدام مدير الحزم الافتراضي الخاص بك كما هو موضح.

تثبيت Caddy في Fedora، RedHat، CentOS

سنقوم بتثبيت أحدث إصدار من خادم الويب Caddy من مستودع CORP تحت Fedora أو RHEL/CentOS 8.

# dnf install 'dnf-command(copr)'
# dnf copr enable @caddy/caddy
# dnf install caddy

في RHEL/CentOS 7 استخدم الأوامر التالية.

# yum install yum-plugin-copr
# yum copr enable @caddy/caddy
# yum install caddy

تثبيت Caddy في Debian و Ubuntu

$ echo "deb [trusted=yes] https://apt.fury.io/caddy/ /" \
    | sudo tee -a /etc/apt/sources.list.d/caddy-fury.list
$ sudo apt update
$ sudo apt install caddy

بمجرد تثبيت خادم الويب Caddy، يمكنك بدء التشغيل وتمكين الخدمة، والتحقق من حالتها باستخدام الأوامر التالية من systemctl.

# systemctl start caddy
# systemctl enable caddy
# systemctl status caddy

الآن افتح متصفحك وقم بتوجيهه إلى العنوان التالي ويجب أن ترى صفحة ترحيبية لـ caddy.

http://Server-IP
OR
http://yourdomain.com
Caddy Web Server

إعداد النطاقات مع Caddy

لإعداد نطاق، أولاً، تحتاج إلى توجيه سجلات DNS A/AAAA لنطاقك إلى هذا الخادم في لوحة التحكم DNS الخاصة بك. بعد ذلك، قم بإنشاء مجلد الجذر لمستند موقع الويب الخاص بك "example.com" تحت المجلد /var/www/html كما هو موضح.

$ mkdir /var/www/html/example.com

إذا كنت تستخدم SELinux، فيجب عليك تغيير سياق أمان الملف لمحتوى الويب.الآن افتح وعدل ملف تكوين caddy في /etc/caddy/Caddyfile.

# chcon -t httpd_sys_content_t /var/www/html/example.com -R
# chcon -t httpd_sys_rw_content_t /var/www/html/example.com -R

الآن افتح وعدّل ملف تكوين الـ caddy في /etc/caddy/Caddyfile.

# vim /etc/caddy/Caddyfile

استبدل :80 باسم النطاق الخاص بك وقم بتغيير جذر الموقع إلى /var/www/html/example.com كما هو موضح.

Configure Caddy Web Server

أعد تحميل خدمة Caddy لحفظ تغييرات التكوين.

# systemctl reload caddy

الآن قم بإنشاء أي صفحة HTML (يمكنك إنشاء صفحتك الخاصة) واحفظ الصفحة تحت دليل جذر المستندات الخاص بموقع الويب الخاص بك.

# touch /var/www/html/example.com/index.html

أضف الكود الـ Html العيني التالي إلى صفحة الفهرس الخاصة بموقع الويب الخاص بك.

# echo '<!doctype html><head><title>Caddy Test Page at TecMint</title></head><body><h1>Hello, World!</h1></body></html>' | sudo tee /var/www/html/index.html

الآن قم بزيارة موقعك مرة أخرى لرؤية صفحتك.

Hosting Website with Caddy

إذا كان كل شيء مضبوط بشكل صحيح، سيتم تقديم نطاقك عبر بروتوكول HTTPS مما يشير إلى أن اتصالك آمن.

الاستنتاج

إذا كنت مبتدئًا وترغب في إعداد خادم ويب دون الحاجة إلى التورّط في التكوين، فإن هذه الأداة مناسبة لك. حتى إذا كنت مستخدمًا متمرسًا يحتاج إلى خادم ويب فوري وبسيط، فإن Caddy يستحق التجربة. بقليل من التكوين، يمكنك أيضًا تعيين إذن المجلد، والتحكم في المصادقة، وصفحات الأخطاء، وضغط Gzip، وإعادة توجيه HTTP، وغيرها، إذا كنت بحاجة إلى إعداد خادم ويب أكثر تعقيدًا ومتقدمًا.

لا تعتبر Caddy بديلًا لـ Apache أو Nginx. لم يتم تصميم Caddy للتعامل مع بيئة إنتاج عالية الحركة. تم تصميمه لإعداد خادم ويب سريع عندما يكون قلقك هو السرعة والموثوقية.

المراجع

دليل المستخدم الكامل / الوثائق الكاملة لـ خادم الويب Caddy

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

بالنسبة لي، هذا المشروع لا يزال شابًا ويعمل بسلاسة ويبدو قويًا وواعدًا. أكبر نقطة إيجابية أراها هي أن Caddy لا يحتاج إلى حمل ملف تكوينه في كل مكان. يهدف إلى تقديم أفضل ما في Nginx وLighttpd وVagrant وWebsocketd. هذا كل شيء من جانبي. تابع الاتصال بـ Tecmint. تحية

Source:
https://www.tecmint.com/install-caddy-web-server-in-centos-ubuntu/