Lighttpd là một máy chủ web đơn giản, nhanh và an toàn. Nó có kích thước rất nhỏ và không yêu cầu nhiều bộ nhớ và sử dụng CPU khiến nó trở thành một trong những máy chủ tốt nhất để lưu trữ bất kỳ ứng dụng nào. Nó được thiết kế cho các môi trường quan trọng. Nó có thể xử lý tới 10.000 kết nối song song trên một máy chủ duy nhất. Nó cung cấp nhiều tính năng bao gồm, URL-Rewriting, Output-Compression, cơ chế sự kiện, FastCGI, SCGI, Auth, v.v.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt Lighttpd với PHP và Let's Encrypt SSL trên Debian 11.
Sau khi Lighttpd được cài đặt, hãy khởi động dịch vụ Lighttpd và cho phép dịch vụ này khởi động khi khởi động lại hệ thống:
Bạn cũng có thể kiểm tra trạng thái của Lighttpd bằng lệnh sau:
Bạn sẽ nhận được kết quả đầu ra sau:
Bây giờ, hãy mở trình duyệt web của bạn và truy cập trang web Lighttpd bằng URL http://địa chỉ-máy-chủ-của-bạn. Bạn sẽ thấy trang kiểm tra Lighttpd trên màn hình sau:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Sau khi cài đặt, hãy chỉnh sửa tệp php.ini và đặt cgi.fix_pathinfo thành 1
Thay đổi dòng sau:
Lưu và đóng tệp khi bạn hoàn tất.
Để Lighttpd hoạt động với PHP-FPM, bạn sẽ cần thay thế cấu hình PHP-CGI mặc định và socket PHP-FPM:
Đầu tiên, hãy chỉnh sửa tệp cấu hình PHP-FPM:
Tìm dòng sau:
Và thay thế bằng dòng sau:
Lưu và đóng tệp, sau đó khởi động lại PHP-FPM để áp dụng các thay đổi:
Bạn cũng có thể kiểm tra trạng thái của PHP-FPM bằng lệnh sau:
Bạn sẽ nhận được đầu ra sau:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Tìm các dòng sau:
Và thay thế chúng bằng các dòng sau:
Lưu và đóng tệp, sau đó bật các mô-đun Fast CGI bằng các lệnh sau:
Cuối cùng, khởi động lại dịch vụ Lighttpd để áp dụng các thay đổi:
Thêm các dòng sau:
Lưu và đóng tệp, sau đó kích hoạt máy chủ ảo bằng lệnh sau:
Tiếp theo, tạo một tệp index.php:
Thêm dòng sau:
Lưu và đóng tệp, sau đó đặt quyền và quyền sở hữu phù hợp bằng lệnh sau:
Tiếp theo, khởi động lại dịch vụ Lighttpd để áp dụng các thay đổi:
Bây giờ, hãy mở trình duyệt web của bạn và xác minh trang web của bạn bằng URL
. Bạn sẽ thấy trang kiểm tra PHP trên màn hình sau:
Tiếp theo, hãy chạy lệnh sau để tải xuống Let's Encrypt SSL cho trang web của bạn:
Bạn sẽ được yêu cầu cung cấp địa chỉ email và chấp nhận điều khoản cấp phép như hiển thị bên dưới:
Tiếp theo, bạn sẽ cần kết hợp cả chứng chỉ và khóa riêng trong một tệp. Bạn có thể thực hiện bằng lệnh sau:
Tiếp theo, bạn sẽ cần chỉnh sửa tệp máy chủ ảo Lighttpd và xác định đường dẫn chứng chỉ SSL Let's Encrypt.
Bạn có thể thực hiện bằng lệnh sau:
Thay đổi tệp như hiển thị bên dưới:
Lưu và đóng tệp. Sau đó khởi động lại dịch vụ Lighttpd để áp dụng các thay đổi cấu hình:
Bây giờ bạn có thể truy cập trang web của mình một cách an toàn bằng URL https://test.example.com.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt Lighttpd với PHP và Let's Encrypt SSL trên Debian 11.
Điều kiện tiên quyết
- Một máy chủ đang chạy Debian 11.
- Một tên miền hợp lệ được trỏ đến IP máy chủ.
- Một mật khẩu gốc được cấu hình trên máy chủ.
Cài đặt Lighttpd
Theo mặc định, gói Lighttpd được bao gồm trong kho lưu trữ chính thức của Debian 11. Bạn có thể cài đặt bằng cách chạy lệnh sau:
Mã:
apt-get install lighttpd -y
Mã:
systemctl start lighttpd
systemctl enable lighttpd
Mã:
systemctl status lighttpd
Mã:
? lighttpd.service - Lighttpd Daemon Đã tải: đã tải (/lib/systemd/system/lighttpd.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ứ bảy 2022-02-12 07:01:06 UTC; 12 giây trước Tiến trình: 4663 ExecStartPre=/usr/sbin/lighttpd -tt -f /etc/lighttpd/lighttpd.conf (code=exited, status=0/SUCCESS) PID chính: 4668 (lighttpd) Nhiệm vụ: 1 (giới hạn: 2341) Bộ nhớ: 932.0K CPU: 226ms CGroup: /system.slice/lighttpd.service ??4668 /usr/sbin/lighttpd -D -f /etc/lighttpd/lighttpd.conf12/02 07:01:06 debian11 systemd[1]: Đang khởi động Lighttpd Daemon...12/02 07:01:06 debian11 systemd[1]: Đã khởi động Lighttpd Daemon.
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Cài đặt PHP và PHP-FPM
Tiếp theo, chạy lệnh sau để cài đặt các gói PHP và PHP-FPM vào hệ thống của bạn.
Mã:
apt-get install php php-cgi php-fpm php-mysql -y
Mã:
nano /etc/php/7.4/fpm/php.ini
Mã:
cgi.fix_pathinfo=1
Để Lighttpd hoạt động với PHP-FPM, bạn sẽ cần thay thế cấu hình PHP-CGI mặc định và socket PHP-FPM:
Đầu tiên, hãy chỉnh sửa tệp cấu hình PHP-FPM:
Mã:
nano /etc/php/7.4/fpm/pool.d/www.conf
Mã:
listen = /run/php/php7.4-fpm.sock
Mã:
listen = 127.0.0.1:9000
Mã:
systemctl restart php7.4-fpm
Mã:
systemctl status php7.4-fpm
Mã:
? php7.4-fpm.service - Trình quản lý quy trình PHP 7.4 FastCGI Đã tải: đã tải (/lib/systemd/system/php7.4-fpm.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ứ bảy 2022-02-12 07:04:35 UTC; 1 phút 7 giây trước Tài liệu: man:php-fpm7.4(8) Tiến trình: 15141 ExecStartPost=/usr/lib/php/php-fpm-socket-helper install /run/php/php-fpm.sock /etc/php/7.4/fpm/pool.d/www.conf 74 (code=e> PID chính: 15138 (php-fpm7.4) Trạng thái: "Tiến trình đang hoạt động: 0, nhàn rỗi: 2, Yêu cầu: 0, chậm: 0, Lưu lượng: 0req/giây" Nhiệm vụ: 3 (giới hạn: 2341) Bộ nhớ: 8,8M CPU: 54ms CGroup: /system.slice/php7.4-fpm.service ??15138 php-fpm: tiến trình chính (/etc/php/7.4/fpm/php-fpm.conf) ??15139 php-fpm: nhóm www ??15140 php-fpm: pool www12/02 07:04:35 debian11 systemd[1]: Đang khởi động Trình quản lý quy trình FastCGI PHP 7.4...12/02 07:04:35 debian11 systemd[1]: Đang khởi động Trình quản lý quy trình FastCGI PHP 7.4.
Cấu hình Lighttpd cho PHP-FPM
Tiếp theo, bạn sẽ cần chỉnh sửa tệp cấu hình Lighttpd và thay đổi tệp đó bằng Fast CGI:
Mã:
nano /etc/lighttpd/conf-available/15-fastcgi-php.conf
Mã:
"bin-path" => "/usr/bin/php-cgi","socket" => "/var/run/lighttpd/php.socket",
Mã:
"host" = > "127.0.0.1","port" = > "9000",
Mã:
lighty-enable-mod fastcgi
lighty-enable-mod fastcgi-php
Mã:
systemctl restart lighttpd
Tạo Máy chủ ảo Lighttpd
Lighttpd cũng cho phép bạn lưu trữ nhiều trang web bằng cách sử dụng lưu trữ ảo. Hãy tạo một tệp cấu hình máy chủ ảo mới để lưu trữ một trang web có tên là test.example.com.
Mã:
nano /etc/lighttpd/conf-available/test.conf
Mã:
$HTTP["host"] == "test.example.com" { server.document-root = "/var/www/html/" server.errorlog = "/var/log/lighttpd/example.com-error.log"}
Mã:
ln -s /etc/lighttpd/conf-available/test.conf /etc/lighttpd/conf-enabled/
Mã:
nano /var/www/html/index.php
Mã:
Mã:
chown -R www-data:www-data /var/www/html/
chmod -R 755 /var/www/html
Mã:
systemctl restart lighttpd
Bảo mật Lighttpd bằng Let's Encrypt
Lighttpd cũng cho phép bạn bảo mật trang web bằng Let's Encrypt SSL. Để thực hiện, trước tiên hãy cài đặt ứng dụng khách Certbot bằng lệnh sau:
Mã:
apt-get install certbot -y
Mã:
certbot certonly --webroot -w /var/www/html/ -d test.example.com
Mã:
Lưu nhật ký gỡ lỗi vào /var/log/letsencrypt/letsencrypt.logCác plugin đã chọn: Authenticator webroot, Installer NoneNhập địa chỉ email (dùng để gia hạn khẩn cấp và thông báo bảo mật) (Nhập 'c' đểhủy): [emailprotected]- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Vui lòng đọc Điều khoản dịch vụ tạihttps://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. Bạn phảiđồng ý để đăng ký với máy chủ ACME tạihttps://acme-v02.api.letsencrypt.org/directory- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(A)gree/(C)ancel: A- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Bạn có muốn chia sẻ địa chỉ email của mình với Electronic Frontier Foundation, đối tác sáng lập của dự án Let's Encrypt và tổ chức phi lợi nhuậnphát triển Certbot không? Chúng tôi muốn gửi cho bạn email về công việc của chúng tôimã hóa web, tin tức EFF, các chiến dịch và các cách hỗ trợ tự do kỹ thuật số.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(C)es/(K)o: CSau khi tải xuống thành công chứng chỉ, bạn sẽ thấy kết quả sau:LƯU Ý QUAN TRỌNG: - Xin chúc mừng! Chứng chỉ và chuỗi của bạn đã được lưu tại: /etc/letsencrypt/live/test.example.com/fullchain.pem Tệp khóa của bạn đã được lưu tại: /etc/letsencrypt/live/test.example.com/privkey.pem Chứng chỉ của bạn sẽ hết hạn vào ngày 2022-05-11. Để có phiên bản mới hoặc đã chỉnh sửa của chứng chỉ này trong tương lai, chỉ cần chạy lại certbot. Để gia hạn không tương tác *tất cả* chứng chỉ của bạn, hãy chạy "certbot renew" - Nếu bạn thích Certbot, vui lòng cân nhắc hỗ trợ công việc của chúng tôi bằng cách: Quyên góp cho ISRG / Let's Encrypt: https://letsencrypt.org/donate Quyên góp cho EFF: https://eff.org/donate-le
Mã:
cat /etc/letsencrypt/live/test.example.com/cert.pem /etc/letsencrypt/live/test.example.com/privkey.pem > /etc/letsencrypt/live/test.example.com/web.pem
Bạn có thể thực hiện bằng lệnh sau:
Mã:
nano /etc/lighttpd/conf-enabled/test.conf
Mã:
$HTTP["host"] == "test.example.com" { server.document-root = "/var/www/html/"}$SERVER["socket"] == ":443" {ssl.engine = "enable"ssl.pemfile = "/etc/letsencrypt/live/test.example.com/web.pem"ssl.ca-file = "/etc/letsencrypt/live/test.example.com/chain.pem"server.name = "test.example.com"server.document-root = "/var/www/html/"server.errorlog = "/var/log/lighttpd/example.com_error.log"accesslog.filename = "/var/log/lighttpd/example.com_access.log"}$HTTP["scheme"] == "http" {$HTTP["host"] == "test.example.com" {url.redirect = ("/.*" => "https://test.example.com$0")}}
Mã:
systemctl restart lighttpd