วันนี้ HTTPS เป็นกุญแจสำคัญเมื่อโฮสต์เว็บไซต์ หากไม่มีข้อมูลดังกล่าวผู้ใช้ของคุณอาจรั่วไหลข้อมูลส่วนบุคคลจากเว็บไซต์ของคุณสู่โลก เพื่อแก้ปัญหานี้ผู้ดูแลเว็บ Linux จำนวนมากได้ใช้เครื่องมือ LetsEncrypt เนื่องจากทำให้ง่ายต่อการสร้างใบรับรอง ยังคงเป็นเรื่องง่ายเหมือน LetsEncrpyt การเปิดใช้งานบน Nginx หรือ Apache บน Linux ยังคงเป็นเรื่องน่าเบื่อ โชคดีที่มีวิธีที่ดีกว่า แนะนำเว็บเซิร์ฟเวอร์ Caddy เป็นเว็บเซิร์ฟเวอร์ที่เปิดใช้งาน HTTPS ตามค่าเริ่มต้น หากคุณเบื่อกับใบรับรอง SSL แคดดี้อาจเป็นสิ่งที่คุณต้องการ
การติดตั้งแคดดี้
การติดตั้งเว็บเซิร์ฟเวอร์ Caddy นั้นใช้งานได้ดีมากไม่ว่าคุณจะใช้ระบบปฏิบัติการเซิร์ฟเวอร์ใด เหตุผลที่แคดดี้ติดตั้งง่ายนั้นเป็นทางเลือกของนักพัฒนาในการใช้สคริปต์ Bash ที่สามารถดาวน์โหลดได้สำหรับการติดตั้งซอฟต์แวร์แทนที่จะเพิ่มที่เก็บซอฟต์แวร์บุคคลที่สามหรือติดตั้งผ่านไบนารี
ในบทช่วยสอนนี้เราจะใช้เซิร์ฟเวอร์ Ubuntu แต่การใช้งานเว็บเซิร์ฟเวอร์ของ Caddy จะทำงานได้ดีบนระบบปฏิบัติการ Linux อื่น ๆ ส่วนใหญ่เช่นกันแม้แต่บนเดสก์ท็อป เพื่อเริ่มต้นให้แน่ใจว่าคุณมี Curl แอพบน Linux PC ของคุณ หากคุณไม่เปิดโปรแกรมค้นหาสถานีผู้จัดการแพ็คเกจเพื่อหา“ ขด” และติดตั้ง
หมายเหตุ: ตรวจสอบว่าคุณมีขดแล้วโดยการเรียกใช้ ขด ในอาคารผู้โดยสาร หากกล่องโต้ตอบ“ ช่วย” ปรากฏขึ้นสำหรับโปรแกรมแสดงว่าคุณมี Curl บนเครื่อง Linux ของคุณ

curl https://getcaddy.com | bash -s personal
เว็บเซิร์ฟเวอร์ Caddy นั้นมีอิสระในการใช้งานส่วนตัว แต่คุณต้องระบุ วางแผนที่จะใช้ Caddy ในการตั้งค่าระดับองค์กรหรือไม่ รันคำสั่งการติดตั้งด้วย:
curl https://getcaddy.com | bash -s commercial
Running Curl จะไปป์ผ่าน Bash และเริ่มกระบวนการติดตั้งโดยอัตโนมัติ โปรแกรมติดตั้งแคดดี้จะใช้เวลาในการดาวน์โหลดเว็บเซิร์ฟเวอร์ไบนารี่และติดตั้ง / usr / local / bin / ไดเรกทอรี หากการติดตั้งสำเร็จคุณจะเห็นข้อความแจ้งว่า "ติดตั้งสำเร็จ"
ณ จุดนี้คุณจะต้องแก้ไขไบนารีแคดดี้ รันคำสั่งต่อไปนี้ในเทอร์มินัลด้วย sudo สิทธิพิเศษ
sudo setcap cap_net_bind_service=+ep /usr/local/bin/caddy
การกำหนดค่าแคดดี้
ติดตั้งแคดดี้ไว้บนเซิร์ฟเวอร์ ขั้นตอนต่อไปในกระบวนการคือการกำหนดค่าโครงสร้างไดเรกทอรี เริ่มต้นด้วยการรับรูทเทอร์มินัล การทำเช่นนี้จะทำให้การแก้ไขโฟลเดอร์ในระบบไฟล์เร็วขึ้นมากโดยที่คุณไม่จำเป็นต้องป้อน sudo สำหรับทุกคำสั่งตามด้วยรหัสผ่าน
ในระบบส่วนใหญ่ผู้ใช้สามารถเข้าสู่บัญชีรูทได้โดยตรงด้วย:
su
บนเซิร์ฟเวอร์ Ubuntu อย่างไรก็ตามบัญชีรูทถูกล็อคเพื่อเหตุผลด้านความปลอดภัย ในการหลีกเลี่ยงปัญหานี้ให้ได้รูทเชลล์ด้วย sudo.
sudo -s
ตอนนี้เรามีการเข้าถึงรูทแล้วสร้างไดเรกทอรีที่จำเป็นสำหรับเซิร์ฟเวอร์ Caddy เพื่อให้ทำงานได้อย่างถูกต้อง
mkdir /etc/caddy mkdir /etc/ssl/caddy
หมายเหตุ: หากเซิร์ฟเวอร์ของคุณมี / var / www / ไดเรกทอรีข้ามครั้งนี้ mkdir คำสั่ง
mkdir /var/www
จากนั้นสร้าง“ Caddyfile” ใหม่ภายใน / etc / แคดดี้ /.
touch /etc/caddy/Caddyfile
ใช้ chmod คำสั่งอัปเดตการอนุญาตสำหรับโฟลเดอร์ย่อย Caddy ที่อยู่ภายใน / etc / SSL /.
chmod 0770 /etc/ssl/caddy
สุดท้าย chown คน / var / www / ไดเรกทอรี:
chown www-data: /var/www
ไฟล์แคดดี้ Systemd

เซิร์ฟเวอร์ส่วนใหญ่โดยเฉพาะเซิร์ฟเวอร์อูบุนตูก็หนักการใช้ระบบ systemd init อย่างไรก็ตามเนื่องจากเว็บเซิร์ฟเวอร์ติดตั้งผ่านสคริปต์ 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 ทุกอย่างควรพร้อมแล้ว
การตั้งค่าโดเมน
แคดดี้เช่นเดียวกับเว็บเซิร์ฟเวอร์อื่น ๆ ต้องการการกำหนดค่าเล็กน้อยก่อนใช้งาน เริ่มต้นด้วยการสร้างโฟลเดอร์โดเมน:
หมายเหตุ: อย่าลืมเปลี่ยนชื่อ "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>
ความคิดเห็น