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

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

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

تثبيت العلبة

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

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

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

curl https://getcaddy.com | bash -s personal

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

curl https://getcaddy.com | bash -s commercial

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

في هذه المرحلة ، ستحتاج إلى تعديل Caddy binary. قم بتشغيل الأمر التالي في المحطة ، مع سودو الامتيازات.

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

تكوين العلبة

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

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

su

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

sudo -s

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

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

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

mkdir /var/www

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

touch /etc/caddy/Caddyfile

باستخدام شمود الأمر ، قم بتحديث أذونات المجلد الفرعي Caddy بداخل / الخ / SSL /.

chmod 0770 /etc/ssl/caddy

أخيرا، chown ال / فار / على شبكة الاتصالات العالمية / دليل:

chown www-data: /var/www

العلبة Systemd الملف

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

touch /lib/systemd/system/caddy.service

افتح الجديد caddy.service قم بلصق الشفرة التالية ولصقها:

[Unit]
Description=Caddy HTTP/2 web server
Documentation=https://caddyserver.com/docs
After=network-online.target
Wants=network-online.target

[Service]
Restart=on-failure
StartLimitInterval=86400
StartLimitBurst=5

User=www-data
Group=www-data
; Letsencrypt-issued certificates will be written to this directory.
Environment=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

LimitNOFILE=1048576
LimitNPROC=64

PrivateTmp=true
PrivateDevices=true
ProtectHome=true
ProtectSystem=full
ReadWriteDirectories=/etc/ssl/caddy

; The following additional security directives only work with systemd v229 or later.
; They further retrict privileges that can be gained by caddy. Uncomment if you like.
; Note that you may have to add capabilities required by any plugins in use.
;CapabilityBoundingSet=CAP_NET_BIND_SERVICE
;AmbientCapabilities=CAP_NET_BIND_SERVICE
;NoNewPrivileges=true

[Install]
WantedBy=multi-user.target

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

systemctl enable caddy.service
systemctl start caddy.service

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

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

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

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

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

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

nano /etc/caddy/Caddyfile

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

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

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

systemctl restart caddy.service
</ P>

تعليقات