كيفية تثبيت العلبة وتكوينها على CentOS 7

المقدمة

Caddy هو برنامج خادم ويب ناشئ مع دعم أصلي لـ HTTP / 2 و HTTPS التلقائي. مع سهولة الاستخدام والأمان في الاعتبار ، يمكن استخدام Caddy لنشر موقع يدعم HTTPS بسرعة مع ملف تكوين واحد.

المتطلبات الأساسية

الخطوة 1: قم بتثبيت أحدث إصدار ثابت من العلبة

في نظام التشغيل Linux أو Mac أو BSD ، استخدم الأمر التالي لتثبيت أحدث إصدار ثابت خاص بالنظام من Caddy:

curl https://getcaddy.com | bash

عند المطالبة ، أدخل كلمة مرور sudo لإنهاء التثبيت.

سيتم تثبيت ثنائي العلبة في /usr/local/binالدليل. استخدم الأمر التالي للتأكيد:

which caddy

يجب أن يكون الإخراج:

/usr/local/bin/caddy

لأغراض أمنية ، لا تقم أبدًا بتشغيل العلبة الثنائية كجذر. من أجل منح العلبة القدرة على الارتباط بالمنافذ المميزة (مثل 80 ، 443) كمستخدم غير جذري ، تحتاج إلى تشغيل setcapالأمر على النحو التالي:

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

الخطوة 2: تكوين العلبة

إنشاء مستخدم نظام مخصص: caddy ومجموعة تحمل نفس الاسم لـ Caddy:

sudo useradd -r -d /var/www -M -s /sbin/nologin caddy

ملاحظة : لا يمكن استخدام المستخدم الذي caddyتم إنشاؤه هنا إلا لإدارة خدمة العلبة ولا يمكن استخدامه لتسجيل الدخول.

أنشئ الدليل الرئيسي /var/wwwلخادم ويب Caddy ، والدليل الرئيسي /var/www/example.comلموقعك:

sudo mkdir -p /var/www/example.com
sudo chown -R caddy:caddy /var/www

قم بإنشاء دليل لتخزين شهادات SSL:

sudo mkdir /etc/ssl/caddy
sudo chown -R caddy:root /etc/ssl/caddy
sudo chmod 0770 /etc/ssl/caddy

إنشاء دليل مخصص لتخزين ملف تكوين العلبة Caddyfile:

sudo mkdir /etc/caddy
sudo chown -R root:caddy /etc/caddy

قم بإنشاء ملف تكوين العلبة باسم Caddyfile:

sudo touch /etc/caddy/Caddyfile
sudo chown caddy:caddy /etc/caddy/Caddyfile
sudo chmod 444 /etc/caddy/Caddyfile
cat <<EOF | sudo tee -a /etc/caddy/Caddyfile
example.com {
    root /var/www/example.com
    gzip
    tls admin@example.com
}
EOF

ملاحظة : إن Caddyfileالملف الذي تم إنشاؤه أعلاه هو فقط تكوين أساسي لتشغيل موقع على شبكة الانترنت ثابت. يمكنك معرفة المزيد حول كيفية كتابة ملف تعليمي هنا .

لتسهيل عمليات العلبة ، يمكنك إعداد systemdملف وحدة لـ Caddy ثم استخدامه systemdلإدارة العلبة.

استخدم viالمحرر لإنشاء systemdملف وحدة العلبة :

sudo vi /etc/systemd/system/caddy.service

تعبئة الملف:

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

[Service]
Restart=on-abnormal

; User and group the process will run as.
User=caddy
Group=caddy

; Letsencrypt-issued certificates will be written to this directory.
Environment=CADDYPATH=/etc/ssl/caddy

; Always set "-root" to something safe in case it gets forgotten in the Caddyfile.
ExecStart=/usr/local/bin/caddy -log stdout -agree=true -conf=/etc/caddy/Caddyfile -root=/var/tmp
ExecReload=/bin/kill -USR1 $MAINPID

; Use graceful shutdown with a reasonable timeout
KillMode=mixed
KillSignal=SIGQUIT
TimeoutStopSec=5s

; Limit the number of file descriptors; see `man systemd.exec` for more limit settings.
LimitNOFILE=1048576
; Unmodified caddy is not expected to use more than that.
LimitNPROC=512

; Use private /tmp and /var/tmp, which are discarded after caddy stops.
PrivateTmp=true
; Use a minimal /dev
PrivateDevices=true
; Hide /home, /root, and /run/user. Nobody will steal your SSH-keys.
ProtectHome=true
; Make /usr, /boot, /etc and possibly some more folders read-only.
ProtectSystem=full
; … except /etc/ssl/caddy, because we want Letsencrypt-certificates there.
;   This merely retains r/w access rights, it does not add any new. Must still be writable on the host!
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

احفظ واخرج:

:wq!

ابدأ تشغيل خدمة العلبة واجعلها تبدأ تلقائيًا في تمهيد النظام:

sudo systemctl daemon-reload
sudo systemctl start caddy.service
sudo systemctl enable caddy.service

الخطوة 3: تعديل قواعد جدار الحماية

للسماح للزوار بالوصول إلى موقع العلبة الخاص بك ، تحتاج إلى فتح المنفذين 80 و 443:

sudo firewall-cmd --permanent --zone=public --add-service=http 
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

الخطوة 4: إنشاء صفحة اختبار لموقعك

استخدم الأمر التالي لإنشاء ملف مسمى index.htmlفي دليل الصفحة الرئيسية لموقع Caddy الخاص بك:

echo '<h1>Hello World!</h1>' | sudo tee /var/www/example.com/index.html

أعد تشغيل خدمة العلبة لتحميل محتويات جديدة:

sudo systemctl restart caddy.service

أخيرا ، أشر متصفح الويب الخاص بك إلى http://example.comأو https://example.com. يجب أن ترى الرسالة Hello World!كما هو متوقع.

اترك تعليقاً

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

وظائف طبقات معمارية مرجعية للبيانات الضخمة

وظائف طبقات معمارية مرجعية للبيانات الضخمة

اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.

6 أشياء شديدة الجنون حول نينتندو سويتش

6 أشياء شديدة الجنون حول نينتندو سويتش

يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

اقرأ هذا لمعرفة مدى انتشار الذكاء الاصطناعي بين الشركات الصغيرة وكيف أنه يزيد من احتمالات نموها ومنح منافسيها القدرة على التفوق.

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

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

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

لقد أصبح حل CAPTCHA صعبًا جدًا على المستخدمين في السنوات القليلة الماضية. هل ستكون قادرة على أن تظل فعالة في اكتشاف البريد العشوائي والروبوتات في المستقبل القريب؟

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد