LLMP Stack (Linux, Lighttpd, MariaDB và PHP-FPM) là một phần mềm stack để cung cấp các ứng dụng web. Mỗi thành phần của LLMP Stack đều miễn phí, mã nguồn mở và có thể được cài đặt trên nhiều hệ điều hành. LLMP Stack có thể cung cấp các trang web HTML tĩnh và các ứng dụng PHP như WordPress, Drupal và Joomla.
Hướng dẫn này sẽ chỉ cho bạn cách cài đặt và cấu hình LLMP Stack (Linux, Lighttpd, MariaDB và PHP-FPM) trên hệ thống Ubuntu 22.04 mới nhất. Hướng dẫn này bao gồm hướng dẫn về cách thiết lập Máy chủ ảo trên máy chủ web Lighttpd và bật SSL/HTTPS.
Lighttpd được thiết kế để có tốc độ, bảo mật, nhẹ và linh hoạt. Nó sử dụng CPU và bộ nhớ tối thiểu và cung cấp các tính năng nâng cao như FastCGI, CGI, Auth, Compression, URL Rewriting, v.v.
Trước khi cài đặt bất kỳ gói nào, hãy chạy lệnh apt bên dưới để cập nhật và làm mới chỉ mục gói của kho lưu trữ Ubuntu của bạn.
Bây giờ hãy cài đặt máy chủ web Lighttpd bằng lệnh sau.
Nhập Y để xác nhận cài đặt và nhấn ENTER để tiếp tục. Bây giờ quá trình cài đặt Lighttpd sẽ bắt đầu.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22747%22%20height=%22341%22%3E%3C/svg%3E
Sau khi quá trình cài đặt Lighttpd hoàn tất, hãy chạy lệnh bên dưới để bắt đầu và kích hoạt dịch vụ Lighttpd.
Kiểm tra và xác minh dịch vụ Lighttpd bằng lệnh bên dưới. Bạn sẽ thấy dịch vụ Lighttpd đang chạy và được bật, nghĩa là dịch vụ này sẽ tự động chạy khi khởi động hệ thống.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22281%22%3E%3C/svg%3E
Nếu bạn có tường lửa UFW đang chạy trên máy Ubuntu của mình, thì bạn phải thêm các quy tắc tường lửa cho lưu lượng truy cập đến vào trang web Lighttpd máy chủ.
Chạy lệnh ufw bên dưới để thêm các quy tắc Lighttpd vào tường lửa UFW, sau đó bạn có thể kiểm tra và xác minh danh sách các quy tắc UFW như bên dưới.
Bạn sẽ thấy hồ sơ ứng dụng "Lighttpd Full" được thêm vào tường lửa UFW, điều này có nghĩa là tất cả các cổng HTTP và HTTPS đến đều được phép.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22578%22%20height=%22297%22%3E%3C/svg%3E
Bây giờ hãy kiểm tra thư mục "/var/www/html" bằng lệnh bên dưới. Nếu bạn không thấy tệp index.html, bạn có thể tạo một tệp bằng lệnh bên dưới.
Cuối cùng, hãy mở trình duyệt web và truy cập địa chỉ IP của máy chủ (tức là http://192.168.5.28/) và bạn sẽ thấy trang index.html.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22149%22%3E%3C/svg%3E
Chạy lệnh apt sau để cài đặt máy chủ MariaDB. Ở trạng thái hiện tại, kho lưu trữ Ubuntu mặc định cung cấp MariaDB v10.6.
Bây giờ hãy nhập Y để xác nhận cài đặt và nhấn ENTER. Và quá trình cài đặt MariaDB sẽ bắt đầu.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22355%22%3E%3C/svg%3E
Sau khi quá trình cài đặt MariaDB hoàn tất, hãy chạy lệnh systemctl bên dưới để bắt đầu và kích hoạt dịch vụ MariaDB.
Kiểm tra và xác minh dịch vụ MariaDB bằng lệnh sau. Và bạn sẽ thấy dịch vụ MariaDB đang chạy.
Tiếp theo, bạn sẽ thiết lập triển khai MariaDB bằng công cụ "mysql_secure_instalaltion", công cụ này có thể giúp bạn thiết lập mật khẩu gốc cho máy chủ MariaDB và vô hiệu hóa đăng nhập gốc từ xa, dọn dẹp cơ sở dữ liệu mặc định và quyền truy cập của người dùng ẩn danh, v.v.
Bây giờ hãy chạy lệnh "mysql_secure_installation" như sau bên dưới.
Cài đặt MariaDB mặc định không có mật khẩu gốc. Nhấn ENTER để tiếp tục.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22688%22%20height=%22192%22%3E%3C/svg%3E
Bây giờ nhập "n" để giữ nguyên phương thức xác thực mặc định (dành cho người dùng gốc MariaDB).
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22731%22%20height=%22152%22%3E%3C/svg%3E
Nhập Y để thiết lập mật khẩu gốc cho máy chủ MariaDB của bạn. Hãy đảm bảo sử dụng mật khẩu mạnh cho quá trình triển khai của bạn.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22717%22%20height=%22180%22%3E%3C/svg%3E
Bây giờ hãy nhập Y để vô hiệu hóa đăng nhập từ xa cho người dùng gốc MariaDB. Nếu bạn không ở trong môi trường cụm, bạn nên tắt chức năng đăng nhập từ xa cho người dùng gốc MariaDB.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22688%22%20height=%22127%22%3E%3C/svg%3E
Bây giờ hãy nhập Y một lần nữa để xóa người dùng ẩn danh mặc định khỏi cài đặt MariaDB của bạn.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22693%22%20height=%22178%22%3E%3C/svg%3E
Nhập Y lần nữa để xóa kiểm tra cơ sở dữ liệu mặc định mà người dùng ẩn danh có thể truy cập trên MariaDB.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22683%22%20height=%22194%22%3E%3C/svg%3E
Cuối cùng, nhập Y lần nữa để tải lại tất cả các quyền bảng trên Máy chủ MariaDB và áp dụng các thay đổi mới.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22709%22%20height=%22266%22%3E%3C/svg%3E
Chạy lệnh apt bên dưới để cài đặt PHP-FPM 8.1 trên hệ thống Ubuntu của bạn.
Nhập Y để xác nhận cài đặt và nhấn ENTER. Bây giờ, quá trình cài đặt sẽ bắt đầu.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22255%22%3E%3C/svg%3E
Sau khi quá trình cài đặt các gói PHP-FPM hoàn tất, hãy chạy lệnh bên dưới để bắt đầu và kích hoạt dịch vụ PHP-FPM.
Kiểm tra và xác minh dịch vụ PHP-FPM bằng lệnh bên dưới. Bạn sẽ thấy dịch vụ PHP-FPM đang chạy.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22279%22%3E%3C/svg%3E
Bạn cũng có thể kiểm tra dịch vụ PHP-FPM bằng lệnh "ss". Tiến trình PHP-FPM mặc định chạy dưới tệp sock và bạn có thể kiểm tra tiến trình PHP-FPM bằng lệnh bên dưới.
Bạn sẽ chạy được dịch vụ PHP-FPM trên tệp sock "/run/php/php8.1-fpm.sock".
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22139%22%3E%3C/svg%3E
Đầu tiên, hãy chỉnh sửa tệp cấu hình PHP-FPM "/etc/php/8.1/fpm/php.ini" bằng trình soạn thảo nano.
Thêm cấu hình sau vào tệp.
Lưu và đóng tệp khi bạn hoàn tất.
Bây giờ hãy khởi động lại dịch vụ PHP-FPM bằng lệnh bên dưới để áp dụng các thay đổi mới.
Tiếp theo, hãy chạy lệnh sau để bật Lighttpd "fastcgi" và Mô-đun "fastcgi-php-fpm".
Chỉnh sửa tệp cấu hình "/etc/lighttpd/conf-available/15-fastcgi-php-fpm.conf" bằng trình soạn thảo nano. Tệp này là cấu hình mô-đun fastcgi-php-fpm sẽ được sử dụng để giao tiếp với tệp sock PHP-FPM.
Thay đổi đường dẫn của tùy chọn socket thành "/run/php/php8.1-fpm.sock" như sau.
Lưu và đóng tệp khi bạn hoàn tất.
Cuối cùng, hãy chạy lệnh bên dưới để khởi động lại dịch vụ Lighttpd và áp dụng những thay đổi mới. Bây giờ LLMP Stack của bạn đã sẵn sàng để phục vụ cả ứng dụng web HTML tĩnh và PHP động
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22188%22%3E%3C/svg%3E
Chạy lệnh bên dưới để tạo một tập lệnh PHP mới "/var/www/html/info.php" và thay đổi quyền sở hữu thành người dùng "www-data".
Quay lại trình duyệt web của bạn và truy cập địa chỉ IP của máy chủ Ubuntu theo sau là đường dẫn URL "/info.php" (http://192.168.5.28/info.php). Và bạn sẽ thấy trang phpinfo chi tiết trong ảnh chụp màn hình sau. Điều này có nghĩa là cấu hình Lighttpd và PHP-FPM đã hoàn tất và thành công.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22747%22%3E%3C/svg%3E
Bây giờ hãy chạy lệnh sau để tạo thư mục mới "/etc/lighttpd/vhosts". Thư mục này sẽ được sử dụng để lưu trữ tất cả các cấu hình máy chủ ảo của máy chủ web Lighttpd.
Bây giờ hãy chỉnh sửa tệp cấu hình Lighttpd "/etc/lighttpd/lighttpd.conf" bằng trình chỉnh sửa nano.
Thêm cấu hình sau vào file.
Lưu và đóng file khi bạn hoàn tất. Bây giờ bạn đã sẵn sàng để thiết lập máy chủ ảo Lighttpd.
Đầu tiên, hãy tạo thư mục Document Root cho máy chủ ảo của bạn. Trong ví dụ này, thư mục gốc của tài liệu sẽ là "/var/www/hwdomain".
Tạo tệp "index.html" mới trên thư mục gốc của tài liệu "/var/www/hwdomain" và thay đổi quyền sở hữu thành đúng người dùng "www-data".
Tiếp theo, tạo cấu hình máy chủ ảo mới "/etc/lighttpd/vhosts/hwdomain.conf" bằng trình soạn thảo nano.
Thêm cấu hình sau vào tệp. Trong ví dụ này, tên miền "howtoforge.local" sẽ được sử dụng cho máy chủ ảo.
Lưu và đóng tệp khi bạn hoàn tất.
Sau đó, chạy lệnh sau để kiểm tra và xác minh cấu hình Lighttpd. Nếu cấu hình Lighttpd đúng, bạn sẽ thấy thông báo đầu ra như "Cú pháp OK".
Bây giờ hãy khởi động lại dịch vụ Lighttpd để áp dụng cấu hình máy chủ ảo mới bằng lệnh bên dưới.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22153%22%3E%3C/svg%3E
Quay lại trình duyệt web và nhập tên miền của bạn vào thanh địa chỉ (ví dụ: http://howtoforge.local/). Và bạn sẽ thấy trang index.html mặc định cho máy chủ ảo đó.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22651%22%20height=%22136%22%3E%3C/svg%3E
Trước khi bắt đầu cấu hình SSL, hãy chạy lệnh bên dưới để bật mô-đun "ssl" cho máy chủ web Lighttpd. Thao tác này sẽ tạo tệp liên kết đến "/etc/lighttpd/conf-enabled/10-ssl.conf", chứa cấu hình SSL cơ bản cho Lighttpd. Ngoài ra, bạn sẽ được yêu cầu tạo chứng chỉ SSL cho máy chủ cục bộ với tên "server.pem"
Bây giờ hãy chạy lệnh bên dưới để tạo và tạo chứng chỉ SSL cho máy chủ cục bộ với tên "server.pem".
Bây giờ bạn đã sẵn sàng triển khai SSL/HTTPS trên cấu hình máy chủ ảo "hwdomain.conf".
Trước khi bắt đầu cấu hình SSL cho máy chủ ảo, hãy đảm bảo rằng bạn đã tạo chứng chỉ SSL cho tên miền của mình. Trong ví dụ này, tên miền là "howtoforge.local" và chứng chỉ SSL có sẵn tại thư mục "/etc/letsencrypt/live/hwdomain.io".
Chỉnh sửa cấu hình máy chủ ảo "/etc/lighttpd/vhosts/hwdomain.conf" bằng trình chỉnh sửa nano.
Thay thế cấu hình bạn vừa tạo bằng cấu hình sau cấu hình.
Lưu và đóng tệp khi bạn hoàn tất.
Tiếp theo, chạy lệnh sau để kiểm tra và xác minh cấu hình máy chủ web Lighttpd và đảm bảo bạn nhận được thông báo đầu ra như "Cú pháp OK". Sau đó, bạn có thể khởi động lại dịch vụ Lighttpd để áp dụng những thay đổi mới.
Cuối cùng, hãy quay lại trình duyệt web của bạn và truy cập tên miền máy chủ ảo có https ở phía trước URL (tức là https://howtoforge.local). Nếu cấu hình SSL của bạn thành công, bạn sẽ thấy biểu tượng cục bộ trên URL, như được hiển thị trong ảnh chụp màn hình bên dưới.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22673%22%20height=%22145%22%3E%3C/svg%3E
Hướng dẫn này sẽ chỉ cho bạn cách cài đặt và cấu hình LLMP Stack (Linux, Lighttpd, MariaDB và PHP-FPM) trên hệ thống Ubuntu 22.04 mới nhất. Hướng dẫn này bao gồm hướng dẫn về cách thiết lập Máy chủ ảo trên máy chủ web Lighttpd và bật SSL/HTTPS.
Điều kiện tiên quyết
Đối với hướng dẫn này, chúng ta sẽ cần các điều kiện tiên quyết sau:- Máy chủ Ubuntu 22.04.
- Người dùng không phải root có quyền root/quản trị viên
Cài đặt Máy chủ web Lighttpd
Lighttpd hay Lighty là máy chủ web hiệu suất cao được tạo ra như bằng chứng khái niệm cho vấn đề c10k "cách xử lý 10.000 kết nối song song trên một máy chủ duy nhất".Lighttpd được thiết kế để có tốc độ, bảo mật, nhẹ và linh hoạt. Nó sử dụng CPU và bộ nhớ tối thiểu và cung cấp các tính năng nâng cao như FastCGI, CGI, Auth, Compression, URL Rewriting, v.v.
Trước khi cài đặt bất kỳ gói nào, hãy chạy lệnh apt bên dưới để cập nhật và làm mới chỉ mục gói của kho lưu trữ Ubuntu của bạn.
Mã:
sudo apt update
Mã:
sudo apt install lighttpd
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22747%22%20height=%22341%22%3E%3C/svg%3E
Sau khi quá trình cài đặt Lighttpd hoàn tất, hãy chạy lệnh bên dưới để bắt đầu và kích hoạt dịch vụ Lighttpd.
Mã:
sudo systemctl start lighttpd
sudo systemctl enable lighttpd
Mã:
sudo systemctl status lighttpd
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22281%22%3E%3C/svg%3E
Nếu bạn có tường lửa UFW đang chạy trên máy Ubuntu của mình, thì bạn phải thêm các quy tắc tường lửa cho lưu lượng truy cập đến vào trang web Lighttpd máy chủ.
Chạy lệnh ufw bên dưới để thêm các quy tắc Lighttpd vào tường lửa UFW, sau đó bạn có thể kiểm tra và xác minh danh sách các quy tắc UFW như bên dưới.
Mã:
sudo ufw allow "Lighttpd Full"
sudo ufw status
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22578%22%20height=%22297%22%3E%3C/svg%3E
Bây giờ hãy kiểm tra thư mục "/var/www/html" bằng lệnh bên dưới. Nếu bạn không thấy tệp index.html, bạn có thể tạo một tệp bằng lệnh bên dưới.
Mã:
ls -lah /var/www/html
echo "[HEADING=1]Welcome to Lighttpd Web Server[/HEADING]" > /var/www/html/index.html
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22149%22%3E%3C/svg%3E
Cài đặt MariaDB Server
Sau khi cài đặt máy chủ web Lighthttpd, đã đến lúc cài đặt máy chủ MariaDB vào hệ thống Ubuntu. Bài viết này cũng bao gồm cách triển khai máy chủ MariaDB một cách an toàn bằng công cụ "mysql_secure_installation" do gói MariaDB cung cấp.Chạy lệnh apt sau để cài đặt máy chủ MariaDB. Ở trạng thái hiện tại, kho lưu trữ Ubuntu mặc định cung cấp MariaDB v10.6.
Mã:
sudo apt install mariadb-server
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22355%22%3E%3C/svg%3E
Sau khi quá trình cài đặt MariaDB hoàn tất, hãy chạy lệnh systemctl bên dưới để bắt đầu và kích hoạt dịch vụ MariaDB.
Mã:
sudo systemctl start mariadb
sudo systemctl enable mariadb
Mã:
sudo systemctl status mariadb
Bây giờ hãy chạy lệnh "mysql_secure_installation" như sau bên dưới.
Mã:
sudo mysql_secure_installation
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22688%22%20height=%22192%22%3E%3C/svg%3E
Bây giờ nhập "n" để giữ nguyên phương thức xác thực mặc định (dành cho người dùng gốc MariaDB).
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22731%22%20height=%22152%22%3E%3C/svg%3E
Nhập Y để thiết lập mật khẩu gốc cho máy chủ MariaDB của bạn. Hãy đảm bảo sử dụng mật khẩu mạnh cho quá trình triển khai của bạn.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22717%22%20height=%22180%22%3E%3C/svg%3E
Bây giờ hãy nhập Y để vô hiệu hóa đăng nhập từ xa cho người dùng gốc MariaDB. Nếu bạn không ở trong môi trường cụm, bạn nên tắt chức năng đăng nhập từ xa cho người dùng gốc MariaDB.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22688%22%20height=%22127%22%3E%3C/svg%3E
Bây giờ hãy nhập Y một lần nữa để xóa người dùng ẩn danh mặc định khỏi cài đặt MariaDB của bạn.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22693%22%20height=%22178%22%3E%3C/svg%3E
Nhập Y lần nữa để xóa kiểm tra cơ sở dữ liệu mặc định mà người dùng ẩn danh có thể truy cập trên MariaDB.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22683%22%20height=%22194%22%3E%3C/svg%3E
Cuối cùng, nhập Y lần nữa để tải lại tất cả các quyền bảng trên Máy chủ MariaDB và áp dụng các thay đổi mới.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22709%22%20height=%22266%22%3E%3C/svg%3E
Cài đặt PHP-FPM 8.1
Bây giờ bạn đã cài đặt máy chủ web Lighttpd và máy chủ cơ sở dữ liệu MariaDB. Bây giờ bạn sẽ cài đặt PHP-FPM trên hệ thống Ubuntu của mình. Ở trạng thái hiện tại, kho lưu trữ Ubuntu cung cấp phiên bản PHP 8.1 mới nhất.Chạy lệnh apt bên dưới để cài đặt PHP-FPM 8.1 trên hệ thống Ubuntu của bạn.
Mã:
sudo apt install php-fpm php-common php-mysql php-cli php-curl php-xml
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22255%22%3E%3C/svg%3E
Sau khi quá trình cài đặt các gói PHP-FPM hoàn tất, hãy chạy lệnh bên dưới để bắt đầu và kích hoạt dịch vụ PHP-FPM.
Mã:
sudo systemctl start php8.1-fpm
sudo systemctl enable php8.1-fpm
Mã:
sudo systemctl status php8.1-fpm
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22279%22%3E%3C/svg%3E
Bạn cũng có thể kiểm tra dịch vụ PHP-FPM bằng lệnh "ss". Tiến trình PHP-FPM mặc định chạy dưới tệp sock và bạn có thể kiểm tra tiến trình PHP-FPM bằng lệnh bên dưới.
Mã:
ss -pl | grep php
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22139%22%3E%3C/svg%3E
Cấu hình PHP-FPM bằng Lighttpd
Quá trình cài đặt các gói LLMP Stack đã hoàn tất, nhưng bạn vẫn cần thiết lập máy chủ web Lighttpd để nó có thể hoạt động với dịch vụ PHP-FPM. Và điều này có thể được thực hiện bằng cách sử dụng các mô-đun FastCGI trên máy chủ web Lighttpd.Đầu tiên, hãy chỉnh sửa tệp cấu hình PHP-FPM "/etc/php/8.1/fpm/php.ini" bằng trình soạn thảo nano.
Mã:
sudo nano /etc/php/8.1/fpm/php.ini
Mã:
cgi.fix_pathinfo = 1
Bây giờ hãy khởi động lại dịch vụ PHP-FPM bằng lệnh bên dưới để áp dụng các thay đổi mới.
Mã:
sudo systemctl restart php8.1-fpm
Mã:
sudo lighty-enable-mod fastcgi fastcgi-php-fpm
Mã:
sudo nano /etc/lighttpd/conf-available/15-fastcgi-php-fpm.conf
Mã:
## Use PHP-FPM service for PHP via FastCGI
fastcgi.server += ( ".php" =>
((
"socket" => "/run/php/php8.1-fpm.sock",
"broken-scriptfilename" => "enable"
))
)
Cuối cùng, hãy chạy lệnh bên dưới để khởi động lại dịch vụ Lighttpd và áp dụng những thay đổi mới. Bây giờ LLMP Stack của bạn đã sẵn sàng để phục vụ cả ứng dụng web HTML tĩnh và PHP động
Mã:
sudo systemctl restart lighttpd
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22188%22%3E%3C/svg%3E
Kiểm tra Phpinfo
Để xác minh cài đặt LLMP Stack của bạn, bạn chỉ cần tạo tập lệnh PHPINFO hiển thị cho bạn thông tin chi tiết cấu hình Lighttpd và cấu hình PHP-FPM.Chạy lệnh bên dưới để tạo một tập lệnh PHP mới "/var/www/html/info.php" và thay đổi quyền sở hữu thành người dùng "www-data".
Mã:
echo "" > /var/www/html/info.php
sudo chown -R www-data:www-data /var/www/html
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22747%22%3E%3C/svg%3E
Thiết lập Virtual Host trên Lighttpd
Lúc này, bạn đã hoàn tất cài đặt và cấu hình LLMP Stack. LLMP Stack cũng đã sẵn sàng để phục vụ ứng dụng web PHP động thông qua PHP-FPM. Bây giờ, bạn sẽ tìm hiểu cách thiết lập Virtual Host trên máy chủ web Lighttpd. Máy chủ ảo cho phép bạn chạy nhiều tên miền trên một máy chủ hoặc địa chỉ IP.Bây giờ hãy chạy lệnh sau để tạo thư mục mới "/etc/lighttpd/vhosts". Thư mục này sẽ được sử dụng để lưu trữ tất cả các cấu hình máy chủ ảo của máy chủ web Lighttpd.
Mã:
sudo mkdir -p /etc/lighttpd/vhosts/
Mã:
sudo nano /etc/lighttpd/lighttpd.conf
Mã:
include "/etc/lighttpd/vhosts/*.conf"
Đầu tiên, hãy tạo thư mục Document Root cho máy chủ ảo của bạn. Trong ví dụ này, thư mục gốc của tài liệu sẽ là "/var/www/hwdomain".
Mã:
mkdir -p /var/www/hwdomain/
Mã:
echo "[HEADING=1]Welcome to howtoforge.local virtual host[/HEADING]" > /var/www/hwdomain/index.html
sudo chown -R www-data:www-data /var/www/hwdomain
Mã:
sudo nano /etc/lighttpd/vhosts/hwdomain.conf
Mã:
$HTTP["host"] =~ "(^|.)howtoforge.local$" {
server.document-root = "/var/www/hwdomain"
server.errorlog = "/var/log/lighttpd/howtoforge.local-error.log"
accesslog.filename = "/var/log/lighttpd/howtoforge.local-access.log"
}
Sau đó, chạy lệnh sau để kiểm tra và xác minh cấu hình Lighttpd. Nếu cấu hình Lighttpd đúng, bạn sẽ thấy thông báo đầu ra như "Cú pháp OK".
Mã:
sudo lighttpd -t -f /etc/lighttpd/lighttpd.conf
Mã:
sudo systemctl restart lighttpd
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22153%22%3E%3C/svg%3E
Quay lại trình duyệt web và nhập tên miền của bạn vào thanh địa chỉ (ví dụ: http://howtoforge.local/). Và bạn sẽ thấy trang index.html mặc định cho máy chủ ảo đó.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22651%22%20height=%22136%22%3E%3C/svg%3E
Bật HTTPS trên Máy chủ web Lighttpd
Sau khi thiết lập máy chủ ảo Lighthttpd, bây giờ bạn sẽ học cách bật SSL/HTTPS trên máy chủ web Lighttpd.Trước khi bắt đầu cấu hình SSL, hãy chạy lệnh bên dưới để bật mô-đun "ssl" cho máy chủ web Lighttpd. Thao tác này sẽ tạo tệp liên kết đến "/etc/lighttpd/conf-enabled/10-ssl.conf", chứa cấu hình SSL cơ bản cho Lighttpd. Ngoài ra, bạn sẽ được yêu cầu tạo chứng chỉ SSL cho máy chủ cục bộ với tên "server.pem"
Mã:
sudo lighty-enable mod ssl
Mã:
openssl req -new -newkey rsa:2048 -nodes -keyout server.com.key -out server.com.csr
openssl x509 -req -days 365 -in server.com.csr -signkey server.com.key -out server.com.crt
Mã:
cat server.com.key server.com.crt > server.pem
Trước khi bắt đầu cấu hình SSL cho máy chủ ảo, hãy đảm bảo rằng bạn đã tạo chứng chỉ SSL cho tên miền của mình. Trong ví dụ này, tên miền là "howtoforge.local" và chứng chỉ SSL có sẵn tại thư mục "/etc/letsencrypt/live/hwdomain.io".
Chỉnh sửa cấu hình máy chủ ảo "/etc/lighttpd/vhosts/hwdomain.conf" bằng trình chỉnh sửa nano.
Mã:
sudo nano /etc/lighttpd/vhosts/hwdomain.conf
Mã:
$HTTP["scheme"] == "http" {
$HTTP["host"] == "howtoforge.local" {
url.redirect = ("/.*" => "https://howtoforge.local$0")
}
}
$SERVER["socket"] == ":443" {
ssl.engine = "enable"
ssl.pemfile = "/etc/letsencrypt/live/howtoforge.local/fullchain.pem"
ssl.privkey = "/etc/letsencrypt/live/howtoforge.local/privkey.pem"
server.name = "howtoforge.local"
server.document-root = "/var/www/hwdomain"
server.errorlog = "/var/log/lighttpd/howtoforge.local-error.log"
accesslog.filename = "/var/log/lighttpd/howtoforge.local-access.log"
}
Tiếp theo, chạy lệnh sau để kiểm tra và xác minh cấu hình máy chủ web Lighttpd và đảm bảo bạn nhận được thông báo đầu ra như "Cú pháp OK". Sau đó, bạn có thể khởi động lại dịch vụ Lighttpd để áp dụng những thay đổi mới.
Mã:
sudo lighttpd -t -f /etc/lighttpd/lighttpd.conf
sudo systemctl restart lighttpd
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22673%22%20height=%22145%22%3E%3C/svg%3E