كيفية تثبيت خادم ويب العلبة على لينكس

click fraud protection

في هذه الأيام ، يعد HTTPS هو المفتاح عند استضافة موقع ويب. بدونها ، يمكن للمستخدمين تسريب بيانات شخصية للغاية من موقع الويب الخاص بك إلى العالم. لحل هذه المشكلة ، لجأ العديد من مشرفي مواقع Linux إلى استخدام أدوات LetsEncrypt ، لأنها تجعل من السهل جدًا إنشاء شهادة. ومع ذلك ، وبقدر سهولة LetsEncrpyt ، فإن تمكينه على Nginx أو Apache على Linux لا يزال أمرًا صعبًا. لحسن الحظ ، هناك طريقة أفضل. إدخال خادم ويب العلبة. إنه خادم الويب الذي لديه HTTPS ممكن بشكل افتراضي. إذا كنت سئمت من المتاعب مع شهادات SSL ، فقد يكون Caddy هو ما تحتاجه بالضبط.

تركيب العلبة

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

في هذا البرنامج التعليمي ، سنستخدم خادم Ubuntu ، على الرغم من أن تشغيل خادم ويب Caddy سيعمل بشكل جيد على معظم أنظمة تشغيل Linux الأخرى أيضًا ، حتى أنظمة سطح المكتب. لتبدأ ، تأكد من أن لديك لفة التطبيق على كمبيوتر Linux. إذا لم تقم بذلك ، فافتح بحث طرفي لمدير الحزمة الخاص بك عن "curl" ، وقم بتثبيته.

instagram viewer

ملاحظة: حدد ما إذا كان لديك curl بالفعل عن طريق الجري لفة في المحطة. إذا ظهر مربع حوار "المساعدة" للبرنامج ، فهذا يعني أنك لفة على جهاز Linux الخاص بك.

لفة https://getcaddy.com | باش الشخصي

خادم ويب العلبة مجاني للاستخدام الشخصي ، ولكن يجب عليك تحديده. هل تخطط لاستخدام العلبة في بيئة مؤسسة؟ قم بتشغيل أمر التثبيت باستخدام:

لفة https://getcaddy.com | باش تجارى

يؤدي تشغيل Curl إلى تمريره عبر Bash وبدء عملية التثبيت تلقائيًا. سيستغرق مثبّت العلبة بعض الوقت لتنزيل خادم الويب الثنائي ووضعه فيه /usr/local/bin/ الدليل. إذا كان التثبيت ناجحًا ، فسترى رسالة تقول "تم التثبيت بنجاح".

في هذه المرحلة ، ستحتاج إلى تعديل ثنائي العلبة. قم بتشغيل الأمر التالي في المحطة مع sudo امتيازات.

sudo setcap cap_net_bind_service = + ep / usr / local / bin / caddy

تكوين العلبة

العلبة مثبتة على الخادم. الخطوة التالية في العملية هي تكوين بنية الدليل. ابدأ بالحصول على طرف جذري. سيؤدي القيام بذلك إلى تعديل المجلدات في نظام الملفات بشكل أسرع ، حيث لن تحتاج إلى إدخال sudo لكل أمر ، متبوعًا بكلمة مرور.

في معظم الأنظمة ، يمكن للمستخدمين تسجيل الدخول مباشرة إلى الحساب الجذر باستخدام:

سو

على خادم Ubuntu ، يتم إغلاق حساب الجذر لأسباب أمنية. للتغلب على هذا ، اكتسب قذيفة الجذر مع sudo.

sudo -s

الآن بعد أن أصبح لدينا وصول الجذر ، قم بإنشاء الدلائل اللازمة لخادم العلبة للعمل بشكل صحيح.

mkdir / etc / caddy mkdir / etc / ssl / caddy. 

ملاحظة: إذا كان الخادم الخاص بك يحتوي بالفعل على /var/www/ الدليل ، تخطي هذا الأخير مقدير أمر.

mkdir / var / www

بعد ذلك ، قم بإنشاء ملف "Caddyfile" جديد داخل /etc/caddy/.

لمس / الخ / العلبة / العلبة

باستخدام شمود الأمر ، تحديث الأذونات للمجلد الفرعي العلبة داخل /etc/ssl/.

chmod 0770 / etc / ssl / caddy

أخيرا، خلع ال /var/www/ الدليل:

chown www-data: / var / www

العلبة ملف Systemd

تستخدم معظم الخوادم ، وخاصة خادم Ubuntu ، نظام systemd init بشكل مكثف. ومع ذلك ، نظرًا لتثبيت خادم الويب عبر Bash script ، فلا يوجد ملف systemd. وبدلاً من ذلك ، سنحتاج إلى صنع الخاصة بنا. استخدم ال لمس. اتصال. صلة أمر لجعل ملف خدمة جديد وفارغ.

المس / lib/systemd/system/caddy.service

افتح الجديد العلبة ملف ولصق التعليمات البرمجية التالية فيه:

[وحدة]
الوصف = خادم ويب Caddy HTTP / 2
التوثيق https://caddyserver.com/docs
بعد = network-online.target
يريد = network-online.target

[الخدمات]
إعادة التشغيل = عند الفشل
StartLimitInterval = 86400
StartLimitBurst = 5

المستخدم = www-data
Group = www-data
; سيتم كتابة الشهادات الصادرة عن Letsencrypt إلى هذا الدليل.
البيئة = CADDYPATH = / etc / ssl / caddy

ExecStart = / usr / local / bin / caddy -log stdout -agree = true -conf = / etc / caddy / Caddyfile -root = / var / tmp
ExecReload = / bin / kill -USR1 $ MAINPID

حد NOFILE = 1048576
الحد NPROC = 64

PrivateTmp = صحيح
PrivateDevices = صحيح
ProtectHome = صحيح
ProtectSystem = ممتلئ
ReadWriteDirectories = / etc / ssl / caddy

; تعمل توجيهات الأمان الإضافية التالية فقط مع systemd v229 أو أحدث.
; كما أنهم يقيدون الامتيازات التي يمكن أن يحصل عليها العلبة. غير مبال إذا أردت.
; لاحظ أنه قد تضطر إلى إضافة الإمكانات التي تتطلبها أي مكونات إضافية قيد الاستخدام.
؛ CapabilityBoundingSet = CAP_NET_BIND_SERVICE
؛ AmbientCapabilities = CAP_NET_BIND_SERVICE
؛ NoNewPrivileges = صحيح

[تثبيت]
WantedBy = هدف متعدد المستخدمين

هناك الكثير من التعليمات البرمجية لل العلبة لذا ابذل قصارى جهدك لضمان وجود كل شيء. عندما تكون متأكدًا ، احفظ التغييرات بالضغط على Ctrl + X تركيبة لوحة المفاتيح. اخرج من المحرر باستخدام Ctrl + X.

systemctl تمكين caddy.service

بعد إعداد systemd ، يجب أن يكون كل شيء جاهزًا للعمل.

إعداد المجالات

يحتاج العلبة ، مثل أي خادم ويب آخر ، إلى القليل من التكوين قبل استخدامه. ابدأ بإنشاء مجلد مجال:

ملاحظة: تأكد من إعادة تسمية "test-domain.org" بنطاقك.

mkdir -p /var/www/test-domain.org/

بعد ذلك ، قم بتحرير الملف ملف العلبة أنشأنا في وقت سابق.

نانو / الخ / العلبة / العلبة

الصق الكود التالي لتنشيط نطاقك الجديد:

my-domain.com {
root /var/www/test-domain.org
}

أعد تشغيل خدمة العلبة systemd لحفظ التغييرات. عندما تنتهي الخدمة من إعادة التشغيل ، فإن Caddy جاهز للاستخدام على الخادم الخاص بك.

إعادة تشغيل النظام
watch instagram story