วิธีการติดตั้งและกำหนดค่าแคดดี้บน CentOS 7

บทนำ

แคดดี้เป็นโปรแกรมเว็บเซิร์ฟเวอร์ที่เกิดขึ้นใหม่พร้อมการสนับสนุนเนทีฟสำหรับ HTTP / 2 และ HTTPS อัตโนมัติ ด้วยความง่ายในการใช้งานและความปลอดภัยในใจแคดดี้สามารถใช้เพื่อปรับใช้ไซต์ที่เปิดใช้งาน HTTPS อย่างรวดเร็วด้วยไฟล์กำหนดค่าเดียว

ข้อกำหนดเบื้องต้น

  • อินสแตนซ์เซิร์ฟเวอร์ Vultr CentOS 7 x64 ที่สดใหม่ เราจะใช้203.0.113.1เป็นตัวอย่าง
  • sudo ผู้ใช้
  • อินสแตนซ์เซิร์ฟเวอร์ที่ได้รับการปรับปรุงเพื่อให้สถานะเสถียรล่าสุดใช้ repo
  • โดเมนexample.comได้รับการกำหนดค่าให้ชี้ไปที่203.0.113.1อินสแตนซ์ของเซิร์ฟเวอร์ ดูรายละเอียดอีกVultr กวดวิชา

ขั้นตอนที่ 1: ติดตั้ง Caddy ที่วางจำหน่ายล่าสุด

บนระบบปฏิบัติการ Linux, Mac หรือ BSD ใช้คำสั่งต่อไปนี้เพื่อติดตั้ง Caddy รีลีสเฉพาะระบบล่าสุด:

curl https://getcaddy.com | bash

เมื่อได้รับแจ้งให้ป้อนรหัสผ่าน sudo ของคุณเพื่อสิ้นสุดการติดตั้ง

แคดดี้ไบนารีจะถูกติดตั้งใน/usr/local/binไดเรกทอรี ใช้คำสั่งต่อไปนี้เพื่อยืนยัน:

which caddy

ผลลัพธ์ shoud คือ:

/usr/local/bin/caddy

เพื่อจุดประสงค์ด้านความปลอดภัยไม่ควรรันไบนารีแคดดี้ในฐานะรูท ในการให้ความสามารถแก่ 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สร้างที่นี่สามารถใช้เพื่อจัดการบริการ 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

สร้างไดเรกทอรีเฉพาะเพื่อจัดเก็บไฟล์ปรับแต่ง Caddy Caddyfile:

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

สร้างไฟล์กำหนดค่า 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 ที่นี่Caddyfile

เพื่ออำนวยความสะดวกในการทำงานของ Caddy คุณสามารถตั้งค่าsystemdไฟล์หน่วยสำหรับ Caddy และใช้systemdเพื่อจัดการ Caddy

ใช้viโปรแกรมแก้ไขเพื่อสร้างsystemdไฟล์หน่วยCaddy :

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!

เริ่มบริการ Caddy และทำให้เริ่มโดยอัตโนมัติเมื่อบูตระบบ:

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

เริ่มบริการ Caddy เพื่อโหลดเนื้อหาใหม่:

sudo systemctl restart caddy.service

สุดท้ายชี้เว็บเบราว์เซอร์ของคุณเพื่อหรือhttp://example.com https://example.comคุณควรเห็นข้อความHello World!ตามที่คาดไว้

ฝากความเห็น

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

เรียนรู้วิธีการตั้งค่า Nginx บน Ubuntu สำหรับการสตรีมวิดีโอสด HLS ด้วยคำแนะนำที่ชัดเจนและเป็นประโยชน์

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

เรียนรู้การใช้ Percona XtraBackup สำหรับการสำรองข้อมูลด้วยวิธีที่เป็นระบบและง่ายดายบน WordPress ออนไลน์ของคุณ

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true