Cách lưu trữ trang web bằng Caddy trên Ubuntu 18.04

theanh

Administrator
Nhân viên
Caddy còn được gọi là máy chủ web Caddy là máy chủ web nguồn mở được viết bằng ngôn ngữ Go. Theo mặc định, Caddy tự động tải xuống và cài đặt chứng chỉ TLS cho các trang web của bạn. Bạn có thể sử dụng Caddy để phục vụ trang web tĩnh của mình với tính năng nén, đánh giá mẫu, kết xuất Markdown, v.v. Đây là máy chủ web hiện đại, sẵn sàng cho doanh nghiệp và đa nền tảng hỗ trợ lưu trữ ảo, HTTP/2, WebSockets, FastCGI, Markdown, v.v. Nó đi kèm với rất nhiều plugin giúp bạn mở rộng chức năng của Caddy.

Trong hướng dẫn này, chúng tôi sẽ giải thích cách lưu trữ một trang web với máy chủ web Caddy trên Ubuntu 18.04.

Điều kiện tiên quyết​

  • Một máy chủ chạy Ubuntu 18.04.
  • Một tên miền hợp lệ được trỏ bằng IP máy chủ của bạn. Trong hướng dẫn này, chúng ta sẽ sử dụng caddy.linuxbuz.com.
  • Mật khẩu root được cấu hình trên máy chủ của bạn.

Bắt đầu​

Trước khi bắt đầu, bạn nên cập nhật gói hệ thống của mình lên phiên bản mới nhất. Bạn có thể cập nhật tất cả các gói bằng lệnh sau:
Mã:
apt-get update -y
apt-get upgrade -y
Sau khi tất cả các gói được cập nhật, hãy khởi động lại hệ thống của bạn để áp dụng các thay đổi.

Cài đặt Caddy​

Theo mặc định, Caddy không có trong kho lưu trữ mặc định của Ubuntu 18.04. Vì vậy, bạn có thể cài đặt nó bằng cách tải xuống tập lệnh cài đặt Caddy do Caddy cung cấp.

Đầu tiên, cài đặt gói curl bằng lệnh sau:
Mã:
apt-get install curl -y
Sau khi cài đặt, hãy chạy lệnh sau để cài đặt máy chủ web Caddy vào hệ thống của bạn.
Mã:
curl https://getcaddy.com | bash -s personal hook.service
Sau khi quá trình cài đặt hoàn tất thành công, bạn sẽ nhận được kết quả sau:
Mã:
% Tổng số % Đã nhận % Xferd Tốc độ trung bình Thời gian Thời gian Thời gian Tải xuống hiện tại Tổng số Đã sử dụng Tốc độ còn lại100 7380 100 7380 0 0 266k 0 --:--:-- --:--:-- --:--:-- 277kĐang tải xuống Caddy cho linux/amd64 (giấy phép cá nhân)...Xác minh tải xuống OKĐang giải nén...Đang đưa caddy vào /usr/local/bin (có thể yêu cầu mật khẩu)v1.0.4Đã cài đặt thành công
Trong đó:

Tùy chọn -s personal được sử dụng để chỉ định giấy phép cá nhân và hook.service là một plugin cho phép bạn truy cập tệp đơn vị systemd mà bạn có thể sử dụng để quản lý Caddy dưới dạng systemd dịch vụ.

Tiếp theo, bạn có thể xem phiên bản Caddy đã cài đặt bằng lệnh sau:
Mã:
caddy -version
Bạn sẽ thấy đầu ra sau:
Mã:
v1.0.4
Tiếp theo, cài đặt Caddy dưới dạng dịch vụ systemd bằng lệnh sau:
Mã:
caddy -service install
Tiếp theo, khởi động dịch vụ Caddy và cho phép nó khởi động khi khởi động bằng lệnh sau:
Mã:
systemctl start caddy
systemctl enable caddy
Tiếp theo, xác minh trạng thái của dịch vụ Caddy bằng lệnh sau:
Mã:
systemctl status caddy
Bạn sẽ nhận được đầu ra sau:
Mã:
? caddy.service - Dịch vụ của Caddy Đã tải: đã tải (/etc/systemd/system/caddy.service; đã bật; cài đặt trước của nhà cung cấp: đã bật) Đang hoạt động: đang hoạt động (đang chạy) kể từ Thứ Hai 2020-04-20 05:49:04 UTC; 7 giây trước PID chính: 1722 (caddy) Nhiệm vụ: 10 (giới hạn: 2359) CGroup: /system.slice/caddy.service ??1722 /usr/local/bin/caddy20/04 05:49:04 ubuntu1804 systemd[1]: Đã bắt đầu dịch vụ của Caddy.20/04 05:49:04 ubuntu1804 caddy[1722]: Đang kích hoạt các tính năng riêng tư... xong.20/04 05:49:04 ubuntu1804 caddy[1722]: Đang phục vụ HTTP trên cổng 201520/04 05:49:04 ubuntu1804 caddy[1722]: http://:2015

Tạo thư mục trang web​

Tiếp theo, bạn sẽ cần tạo cấu trúc thư mục và tệp chỉ mục mẫu cho trang web của mình.

Trước tiên, hãy tạo thư mục gốc tài liệu bằng lệnh sau:
Mã:
mkdir -p /var/www/caddy.linuxbuz.com
Tiếp theo, hãy tạo tệp index.html bằng lệnh sau:
Mã:
nano /var/www/caddy.linuxbuz.com/index.html
Thêm các nội dung sau:
Mã:
Trang mẫu Caddy[HEADING=1]Chào mừng đến với máy chủ web Caddy[/HEADING]
Lưu và đóng tệp khi bạn hoàn tất. Sau đó, cấp quyền thích hợp cho thư mục gốc của web:
Mã:
chown -R www-data:www-data /var/www/caddy.linuxbuz.com

Cấu hình máy chủ web Caddy​

Tiếp theo, bạn sẽ cần tạo tệp cấu hình máy chủ ảo để phục vụ các tệp trang web của mình lên internet.

Đầu tiên, tạo thư mục để lưu trữ các tệp cấu hình của Caddy:
Mã:
mkdir -p /etc/caddy
Tiếp theo, hãy thay đổi quyền sở hữu của caddy thành www-data bằng lệnh sau:
Mã:
chown -R www-data:www-data /etc/caddy
Tiếp theo, hãy tạo tệp cấu hình chính của Caddy bằng lệnh sau:
Mã:
nano /etc/caddy/Caddyfile
Thêm các dòng sau:
Mã:
caddy.linuxbuz.com { root /var/www/caddy.linuxbuz.com}
Lưu và đóng tệp khi bạn hoàn tất. Sau đó, chạy lệnh sau để phục vụ trang web của bạn qua HTTPS bằng Let’s Encrypt:
Mã:
caddy -agree -conf /etc/caddy/Caddyfile -email [emailprotected]
Bạn sẽ nhận được kết quả sau:
Mã:
Đang kích hoạt tính năng bảo mật... 2020/04/20 05:57:36 [INFO] acme: Đang đăng ký tài khoản cho [emailprotected]2020/04/20 05:57:37 [INFO] [caddy.linuxbuz.com] acme: Đang lấy chứng chỉ SAN được đóng gói2020/04/20 05:57:37 [INFO] [caddy.linuxbuz.com] AuthURL: https://acme-v02.api.letsencrypt.org/acme/authz-v3/40676526222020/04/20 05:57:37 [INFO] [caddy.linuxbuz.com] acme: Không tìm thấy trình giải cho: tls-alpn-012020/04/20 05:57:37 [INFO] [caddy.linuxbuz.com] acme: sử dụng trình giải http-012020/04/20 05:57:37 [INFO] [caddy.linuxbuz.com] acme: Đang cố gắng giải HTTP-012020/04/20 05:57:37 [INFO] [caddy.linuxbuz.com] Xác thực khóa đã phục vụ2020/04/20 05:57:37 [INFO] [caddy.linuxbuz.com] Xác thực khóa đã được phục vụ2020/04/20 05:57:37 [INFO] [caddy.linuxbuz.com] Xác thực khóa đã được phục vụ2020/04/20 05:57:37 [INFO] [caddy.linuxbuz.com] Xác thực khóa đã được phục vụ2020/04/20 05:57:44 [INFO] [caddy.linuxbuz.com] Máy chủ đã xác thực yêu cầu của chúng tôi2020/04/20 05:57:44 [INFO] [caddy.linuxbuz.com] acme: Xác thực thành công; đang yêu cầu chứng chỉ2020/04/20 05:57:45 [INFO] [caddy.linuxbuz.com] Máy chủ đã phản hồi bằng chứng chỉ.xong. Đang phục vụ HTTPS trên cổng 443https://caddy.linuxbuz.comĐang phục vụ HTTP trên cổng 80http://caddy.linuxbuz.com
Tại thời điểm này, Caddy đã được cấu hình và bảo mật bằng Let's Encrypt. Bây giờ bạn có thể tiến hành truy cập giao diện web Caddy.

Truy cập Giao diện web Caddy​

Bây giờ, hãy mở trình duyệt web của bạn và nhập URL https://caddy.linuxbuz.com. Bạn sẽ được chuyển hướng đến trang Caddy trong màn hình sau:


Kết luận​

Trong hướng dẫn này, chúng ta đã tìm hiểu cách lưu trữ trang web bằng máy chủ web Caddy. Chúng ta cũng đã tìm hiểu cách bảo mật trang web bằng Let's Encrypt SSL. Tôi hy vọng bây giờ bạn có thể dễ dàng sử dụng Caddy làm máy chủ web thay thế.
 
Back
Bên trên