Tin tức và phân tích của tất cả các thiết bị di động

Cách cài đặt máy chủ web Caddy trên Linux

Ngày nay, HTTPS rất quan trọng khi lưu trữ một trang web. Nếu không có nó, người dùng của bạn có thể bị rò rỉ dữ liệu rất cá nhân từ trang web của bạn ra thế giới. Để giải quyết vấn đề này, nhiều quản trị viên web Linux đã bắt đầu sử dụng công cụ LetsEncrypt vì chúng giúp tạo chứng chỉ rất dễ dàng. Tuy nhiên, đơn giản như LetsEncrpyt, việc kích hoạt nó trên Nginx hoặc Apache trên Linux vẫn có thể hơi khó khăn. May mắn thay, có một cách tốt hơn. Giới thiệu máy chủ web Caddy. Đây là máy chủ web được bật HTTPS theo mặc định. Nếu bạn đã chán với chứng chỉ SSL rắc rối, thì Caddy có thể là thứ bạn cần.

Cài đặt caddie

Cài đặt máy chủ web Caddy hoạt động gần như giống nhau, bất kể hệ điều hành máy chủ được sử dụng. Lý do tại sao Caddy rất dễ cài đặt là vì nhà phát triển đã chọn sử dụng tập lệnh Bash có thể tải xuống để cài đặt phần mềm, thay vì thêm kho phần mềm của bên thứ ba hoặc cài đặt qua tệp nhị phân.

Chúng tôi sẽ sử dụng Ubuntu Server cho hướng dẫn này, mặc dù việc chạy máy chủ web Caddy cũng sẽ hoạt động tốt trên hầu hết các hệ điều hành Linux khác, ngay cả trên máy tính để bàn. Để bắt đầu, hãy đảm bảo bạn có ứng dụng Curl trên PC Linux của mình. Nếu không, hãy mở một thiết bị đầu cuối, tìm kiếm trình quản lý gói của bạn để tìm “curl” và cài đặt nó.

Lưu ý: kiểm tra xem bạn đã có curl chưa bằng cách chạy curl trong terminal. Nếu cửa sổ “trợ giúp” cho chương trình bật lên, bạn có Curl trên máy Linux của mình.

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

Máy chủ web Caddy miễn phí cho mục đích sử dụng cá nhân, nhưng bạn cần chỉ định nó. Bạn đang có kế hoạch sử dụng Caddy trong môi trường công ty? Chạy lệnh cài đặt với:

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

Chạy Curl sẽ chạy nó qua Bash và tự động bắt đầu quá trình cài đặt. Trình cài đặt Caddy sẽ mất một chút thời gian để tải xuống tệp nhị phân của máy chủ web và đặt nó vào thư mục /usr/local/bin/. Nếu cài đặt thành công, bạn sẽ thấy “Successfully Installed”.

Tại thời điểm này, bạn cần sửa đổi nhị phân Caddy. Chạy lệnh sau trong terminal với quyền sudo.

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

cấu hình caddie

Caddy được cài đặt trên máy chủ. Bước tiếp theo trong quy trình là cấu hình cấu trúc thư mục. Bắt đầu bằng cách lấy thiết bị đầu cuối gốc. Điều này sẽ làm cho việc sửa đổi các thư mục trên hệ thống tệp của bạn nhanh hơn nhiều vì bạn sẽ không phải nhập sudo cho mỗi lệnh theo sau là mật khẩu.

Trên hầu hết các hệ thống, người dùng có thể đăng nhập trực tiếp vào tài khoản root bằng:

su

Tuy nhiên, trên máy chủ Ubuntu, tài khoản root bị khóa vì lý do bảo mật. Như một giải pháp thay thế, hãy lấy trình bao gốc bằng sudo.

sudo -s

Bây giờ chúng tôi có quyền quản trị viên, hãy tạo các thư mục cần thiết cho hoạt động bình thường của máy chủ Caddy.

mkdir /etc/caddy

mkdir /etc/ssl/caddy

Lưu ý: Nếu máy chủ của bạn đã có thư mục /var/www/, hãy bỏ qua lệnh mkdir cuối cùng.

mkdir /var/www

Sau đó tạo một “Caddyfile” mới trong /etc/caddy/.

touch /etc/caddy/Caddyfile

Sử dụng lệnh chmod, cập nhật quyền trên thư mục con Caddy trong /etc/ssl/.

chmod 0770 /etc/ssl/caddy

Cuối cùng, vào thư mục /var/www/:

chown www-data: /var/www

Tệp hệ thống Caddy

Hầu hết các máy chủ, đặc biệt là máy chủ Ubuntu, sử dụng rất nhiều hệ thống init systemd. Tuy nhiên, vì máy chủ web được cài đặt bằng tập lệnh Bash nên không có tệp hệ thống. Thay vào đó, chúng ta sẽ phải tự tạo. Sử dụng lệnh touch để tạo một tệp dịch vụ trống mới.

touch /lib/systemd/system/caddy.service

Mở tệp caddy.service mới và dán đoạn mã sau vào đó:

[Unit]
Mô tả = Máy chủ web Caddy HTTP / 2
Tài liệu = https://caddyserver.com/docs
Sau = mạng-online.target
Muốn = mạng-online.target

[Service]
Khởi động lại = khi thất bại
StartLimitInterval = 86400
StartLimitBurst = 5

Người dùng = dữ liệu-www
nhóm = dữ liệu-www
; Chứng chỉ do Letsencrypt cấp sẽ được lưu trong thư mục này.
Môi trường=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

giới hạnNOFILE = 1048576
giới hạnNPROC = 64

Riêng tưTmp = đúng
Thiết bị riêng tư = true
ProtectHome = true
Hệ thống bảo vệ = đầy đủ
ReadWriteDirectories=/etc/ssl/caddy

; Các chỉ thị bảo mật bổ sung sau đây chỉ hoạt động với systemd v229 trở lên.
; Ngoài ra, họ còn được hưởng những đặc quyền mà một caddie có thể có được. Bỏ ghi chú nếu bạn muốn.
; Lưu ý rằng bạn có thể cần thêm các tính năng theo yêu cầu của bất kỳ plugin nào bạn sử dụng.
; CapabilityBoundingSet = CAP_NET_BIND_SERVICE
; AmbientCapabilities = CAP_NET_BIND_SERVICE
; NoNewPrivileges = true

[Install]
WantedBy = multi-user.target

Có rất nhiều mã cho tệp caddy.service, vì vậy hãy cố gắng lấy mọi thứ ở đó. Khi bạn đã chắc chắn, hãy lưu các thay đổi của mình bằng cách nhấn Ctrl + X. Thoát khỏi trình chỉnh sửa bằng Ctrl + X.

systemctl enable caddy.service

systemctl start caddy.service

Sau khi systemd được thiết lập, mọi thứ sẽ sẵn sàng hoạt động.

Thiết lập tên miền

Caddy, giống như bất kỳ máy chủ web nào khác, yêu cầu cấu hình trước khi sử dụng. Bắt đầu bằng cách tạo một thư mục tên miền:

Lưu ý: Đảm bảo đổi tên “test-domain.org” thành tên miền của bạn.

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

Sau đó, chỉnh sửa Caddyfile mà chúng tôi đã tạo trước đó.

nano /etc/caddy/Caddyfile

Dán mã sau để kích hoạt miền mới của bạn:

my-domain.com {
gốc /var/www/test-domain.org
}

Khởi động lại dịch vụ Caddy systemd để lưu các thay đổi. Khi dịch vụ khởi động lại xong, Caddy đã sẵn sàng để sử dụng trên máy chủ.

systemctl restart caddy.service

Mục lục