Lighttpd là một máy chủ web nguồn mở tập trung vào tính đơn giản và hiệu suất cao. Đây là một máy chủ web nhẹ với mức tiêu thụ bộ nhớ nhỏ và thấp, nhưng vẫn tuân thủ tiêu chuẩn, an toàn và linh hoạt. Máy chủ web Lighttpd là một phần của LLMP Stack, viết tắt của Linux, Lighttpd, MySQL/MariaDB và PHP/PHP-FPM.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt và cấu hình LLMP Stack trên CentOS 8 Server. Chúng tôi sẽ cài đặt máy chủ web Lighttpd với máy chủ cơ sở dữ liệu MariaDB và PHP-FPM trên phiên bản mới nhất của máy chủ CentOS 8.
Điều kiện tiên quyết
Thêm kho lưu trữ EPEL vào hệ thống CentOS 8 bằng lệnh DNF bên dưới.
Sau đó, kiểm tra tất cả các kho lưu trữ khả dụng bằng lệnh sau.
Bây giờ hãy đảm bảo rằng bạn nhận được kho lưu trữ EPEL trên kết quả.
Tiếp theo, cài đặt các gói Lighttpd bằng lệnh bên dưới.
Sau khi hoàn tất quá trình cài đặt, hãy khởi động dịch vụ Lighttpd và thêm dịch vụ này vào hệ thống khởi động.
Bây giờ hãy kiểm tra trạng thái dịch vụ Lighttpd bằng lệnh sau.
Dưới đây là kết quả bạn sẽ nhận được.
Kết quả là dịch vụ Lighttpd đã hoạt động trên hệ thống CentOS 8.
Tiếp theo, hãy thêm dịch vụ HTTP vào danh sách quy tắc firewalld bằng lệnh 'firewall-cmd' bên dưới.
Bây giờ hãy mở trình duyệt web của bạn và nhập địa chỉ IP của máy chủ vào địa chỉ bar.
http://192.168.1.50/
Kết quả là, bạn sẽ nhận được 'index.html' mặc định của máy chủ web Lighttpd.
Để cài đặt máy chủ cơ sở dữ liệu MariaDB, hãy chạy lệnh dnf bên dưới.
Sau khi hoàn tất quá trình cài đặt, hãy khởi động dịch vụ MariaDB và thêm dịch vụ này vào hệ thống khởi động.
Bây giờ hãy kiểm tra dịch vụ MariaDB bằng lệnh bên dưới.
Dưới đây là kết quả bạn sẽ nhận được.
Kết quả là dịch vụ MariaDB đã hoạt động trên hệ thống CentOS 8.
Tiếp theo, chạy lệnh 'mysql_secure_installation' bên dưới để thiết lập mật khẩu gốc mặc định.
Bây giờ hãy nhập mật khẩu mới cho máy chủ MariaDB của bạn và nhập 'Y' cho tất cả các cấu hình.
Và mật khẩu gốc MariaDB đã được cấu hình.
Tiếp theo, đăng nhập vào shell MySQL bằng người dùng gốc mặc định và mật khẩu của bạn.
Sau khi đăng nhập, hãy kiểm tra tất cả người dùng khả dụng trên máy chủ MariaDB bằng các truy vấn sau.
Và bạn sẽ nhận được tất cả người dùng mặc định cho máy chủ MySQL. Bây giờ hãy nhập 'exit' để đăng xuất khỏi shell MySQL.
Kết quả là quá trình cài đặt và cấu hình máy chủ cơ sở dữ liệu MariaDB trên hệ thống CentOS 8 đã hoàn tất.
Cài đặt các gói PHP và PHP-FPM bằng lệnh dnf bên dưới.
Sau khi hoàn tất cài đặt, hãy chỉnh sửa cấu hình '/etc/php-fpm.d/www.conf' bằng trình soạn thảo vim.
Thay đổi 'user' và 'group' mặc định thành Lighttpd như bên dưới.
Thay đổi PHP-FPM listen mặc định bằng địa chỉ IP cục bộ có cổng '9000'.
Lưu và đóng.
Tiếp theo, hãy chỉnh sửa cấu hình PHP '/etc/php.ini' bằng trình soạn thảo vim.
Bỏ chú thích dòng sau để được hỗ trợ PHP-CGI cho web Lighttpd server.
Lưu và đóng.
Tiếp theo, khởi động dịch vụ PHP-FPM và thêm nó vào hệ thống khởi động.
Dịch vụ PHP-FPM đã hoạt động, hãy kiểm tra bằng lệnh sau.
Dưới đây là kết quả bạn sẽ nhận được.
Kết quả là, PHP-FPM đã hoạt động trên máy chủ CentOS 8 với địa chỉ IP cục bộ và cổng '9000'.
Theo mặc định, Lighttpd có thể được sử dụng để phục vụ ứng dụng web PHP theo hai cách:
Bỏ chú thích mô-đun 'FastCGI' như bên dưới.
Lưu và đóng.
Tiếp theo, chúng ta phải thêm cấu hình PHP vào tệp cấu hình 'conf.d/fastcgi.conf'.
Bên trong thư mục '/etc/lighttpd', hãy chỉnh sửa cấu hình FastCGI 'conf.d/fastcgi.conf' bằng trình soạn thảo vim.
Lưu và đóng.
Lưu và đóng.
Tiếp theo, tạo một thư mục mới '/var/run/lighttpd' và thay đổi quyền sở hữu thư mục đó thành người dùng 'lighttpd'.
Bây giờ hãy khởi động lại dịch vụ Lighttpd để áp dụng cấu hình mới.
Đảm bảo không có lỗi và kết quả là cấu hình Lighttpd với Dịch vụ PHP-FPM hoặc sử dụng PHP-CGI sinh ra đã hoàn tất thành công.
Đi đến thư mục '/var/www/lighttpd' và tạo một tệp php mới 'info.php' bằng trình soạn thảo vim.
Dán đoạn mã sau vào đó.
Lưu và đóng.
Tiếp theo, mở trình duyệt web của bạn và nhập địa chỉ IP của máy chủ theo sau là tệp 'info.php' như bên dưới.
http://192.168.1.50/info.php
Bây giờ bạn sẽ nhận được kết quả như bên dưới.
Như có thể thấy, PHP-FPM là làm việc với máy chủ web Lighttpd.
Kết quả là, quá trình cài đặt LLMP Stack (Linux, Lighttpd, MariaDB và PHP-FPM) trên CentOS 8 Server đã hoàn tất thành công.
Bạn có thể kiểm tra dịch vụ PHP bằng cách sử dụng lệnh bên dưới.
Dưới đây là kết quả bạn sẽ nhận được.
Như có thể thấy, quy trình PHP tự sinh đang chạy dưới tệp 4 socket. Ngay cả dịch vụ PHP-FPM cũng ngừng hoạt động, Lighttpd vẫn đang hoạt động để xử lý các ứng dụng PHP.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt và cấu hình LLMP Stack trên CentOS 8 Server. Chúng tôi sẽ cài đặt máy chủ web Lighttpd với máy chủ cơ sở dữ liệu MariaDB và PHP-FPM trên phiên bản mới nhất của máy chủ CentOS 8.
Điều kiện tiên quyết
- Máy chủ CentOS 8
- Quyền root
- Hiểu biết cơ bản về máy chủ CentOS
- Cài đặt máy chủ web Lighttpd
- Cài đặt máy chủ cơ sở dữ liệu MariaDB
- Cài đặt PHP-FPM
- Thiết lập Lighttpd và PHP-FPM
- Kiểm tra
Bước 1 - Cài đặt máy chủ web Lighttpd
Đầu tiên, chúng ta sẽ thêm kho lưu trữ EPEL và cài đặt máy chủ web Lighttpd vào hệ thống CentOS 8 của mình. Theo mặc định, Lighttpd có sẵn trên kho lưu trữ EPEL (Extract Packages for Enterprise Linux).Thêm kho lưu trữ EPEL vào hệ thống CentOS 8 bằng lệnh DNF bên dưới.
Mã:
sudo dnf install epel-release
Mã:
dnf repolist
Tiếp theo, cài đặt các gói Lighttpd bằng lệnh bên dưới.
Mã:
sudo dnf install lighttpd -y
Mã:
systemctl start lighttpd
systemctl enable lighttpd
Mã:
systemctl status lighttpd
Kết quả là dịch vụ Lighttpd đã hoạt động trên hệ thống CentOS 8.
Tiếp theo, hãy thêm dịch vụ HTTP vào danh sách quy tắc firewalld bằng lệnh 'firewall-cmd' bên dưới.
Mã:
firewall-cmd --add-service=http --permanent
firewall-cmd --reload
http://192.168.1.50/
Kết quả là, bạn sẽ nhận được 'index.html' mặc định của máy chủ web Lighttpd.
Bước 2 - Cài đặt Máy chủ cơ sở dữ liệu MariaDB
Trong bước này, chúng ta sẽ cài đặt máy chủ cơ sở dữ liệu MariaDB và thiết lập mật khẩu gốc mặc định cho máy chủ MariaDB.Để cài đặt máy chủ cơ sở dữ liệu MariaDB, hãy chạy lệnh dnf bên dưới.
Mã:
sudo dnf install mariadb-server -y
Mã:
systemctl start mariadb
systemctl enable mariadb
Mã:
systemctl status mariadb
Kết quả là dịch vụ MariaDB đã hoạt động trên hệ thống CentOS 8.
Tiếp theo, chạy lệnh 'mysql_secure_installation' bên dưới để thiết lập mật khẩu gốc mặc định.
Mã:
mysql_secure_installation
Mã:
Nhập mật khẩu hiện tại cho root (nhập nếu không có):
OK, mật khẩu đã sử dụng thành công, tiếp tục...
Đặt mật khẩu gốc? [Y/n] Y
Xóa người dùng ẩn danh? [Y/n] Y
Không cho phép đăng nhập gốc từ xa? [Y/n] Y
Xóa cơ sở dữ liệu thử nghiệm và quyền truy cập vào cơ sở dữ liệu đó? [Y/n] Y
Tải lại bảng đặc quyền ngay bây giờ? [Y/n] Y
Tiếp theo, đăng nhập vào shell MySQL bằng người dùng gốc mặc định và mật khẩu của bạn.
Mã:
mysql -u root -p
Mã:
select User,Host from mysql.user;
Kết quả là quá trình cài đặt và cấu hình máy chủ cơ sở dữ liệu MariaDB trên hệ thống CentOS 8 đã hoàn tất.
Bước 3 - Cài đặt và cấu hình PHP-FPM
Đối với bước này, chúng ta sẽ cài đặt và cấu hình PHP-FPM cho máy chủ web Lighttpd.Cài đặt các gói PHP và PHP-FPM bằng lệnh dnf bên dưới.
Mã:
sudo dnf install php php-fpm lighttpd-fastcgi php-mysqlnd php-pdo php-gd php-mbstring
Mã:
vim /etc/php-fpm.d/www.conf
Mã:
user = lighttpd
group = lighttpd
Mã:
listen = 127.0.0.1:9000
Tiếp theo, hãy chỉnh sửa cấu hình PHP '/etc/php.ini' bằng trình soạn thảo vim.
Mã:
vim /etc/php.ini
Mã:
cgi.fix_pathinfo=1
Tiếp theo, khởi động dịch vụ PHP-FPM và thêm nó vào hệ thống khởi động.
Mã:
systemctl start php-fpm
systemctl enable php-fpm
Dịch vụ PHP-FPM đã hoạt động, hãy kiểm tra bằng lệnh sau.
Mã:
ss -plnt
systemctl status php-fpm
Kết quả là, PHP-FPM đã hoạt động trên máy chủ CentOS 8 với địa chỉ IP cục bộ và cổng '9000'.
Bước 4 - Thiết lập Lighttpd và PHP-FPM
Trong bước này, chúng tôi sẽ cấu hình Lighttpd để làm cho nó hoạt động với Cài đặt PHP-FPM.Theo mặc định, Lighttpd có thể được sử dụng để phục vụ ứng dụng web PHP theo hai cách:
- Phục vụ thông qua Dịch vụ PHP-FPM
- Phục vụ thông qua PHP-CI tự sinh
- Bật Mô-đun FastCGI
Trước khi thực hiện bất kỳ bước nào khác, hãy đến thư mục '/etc/lighttpd/' và chỉnh sửa cấu hình 'modules.conf' bằng trình soạn thảo vim.
Mã:
cd /etc/lighttpd/
vim modules.conf
Mã:
##
## FastCGI (mod_fastcgi)
##
include "conf.d/fastcgi.conf"
Tiếp theo, chúng ta phải thêm cấu hình PHP vào tệp cấu hình 'conf.d/fastcgi.conf'.
Bên trong thư mục '/etc/lighttpd', hãy chỉnh sửa cấu hình FastCGI 'conf.d/fastcgi.conf' bằng trình soạn thảo vim.
Mã:
vim conf.d/fastcgi.conf
- Sử dụng với Dịch vụ PHP-FPM
Nếu bạn muốn sử dụng dịch vụ PHP-FPM đang chạy trên địa chỉ IP cục bộ với cổng TCP '9000', hãy dán cấu hình sau.
Mã:
fastcgi.server += ( ".php" =>
((
"host" => "127.0.0.1",
"port" => "9000",
"tên tệp tập lệnh bị hỏng" => "enable"
))
)
- Sử dụng Dịch vụ PHP tự sinh sản
Tiếp theo, nếu bạn muốn sử dụng PHP-CGI tự sinh sản cho Lighttpd, hãy dán cấu hình sau vào đó.
Mã:
fastcgi.server = ( ".php" =>
((
"bin-path" => "/usr/bin/php-cgi",
"socket" => "/var/run/lighttpd/php.socket",
"max-procs" => 4,
"bin-environment" => (
"PHP_FCGI_CHILDREN" => "",
"PHP_FCGI_MAX_REQUESTS" => "500"
),
"broken-scriptfilename" => "enable"
))
)
Tiếp theo, tạo một thư mục mới '/var/run/lighttpd' và thay đổi quyền sở hữu thư mục đó thành người dùng 'lighttpd'.
Mã:
mkdir -p /var/run/lighttpd
sudo chown -R lighttpd:lighttpd /var/run/lighttpd
Mã:
systemctl restart lighttpd
Bước 5 - Kiểm tra
Để kiểm tra LLMP của chúng tôi cài đặt, chúng ta sẽ tạo một tệp phpinfo mới trên thư mục gốc tài liệu Lighttpd mặc định.Đi đến thư mục '/var/www/lighttpd' và tạo một tệp php mới 'info.php' bằng trình soạn thảo vim.
Mã:
cd /var/www/lighttpd/
vim info.php
Mã:
Tiếp theo, mở trình duyệt web của bạn và nhập địa chỉ IP của máy chủ theo sau là tệp 'info.php' như bên dưới.
http://192.168.1.50/info.php
Bây giờ bạn sẽ nhận được kết quả như bên dưới.
Như có thể thấy, PHP-FPM là làm việc với máy chủ web Lighttpd.
Kết quả là, quá trình cài đặt LLMP Stack (Linux, Lighttpd, MariaDB và PHP-FPM) trên CentOS 8 Server đã hoàn tất thành công.
Bước 6 - Bổ sung: Kiểm tra PHP và Dịch vụ Lighttpd
Nếu bạn đang chạy Lighttpd với dịch vụ PHP tự tạo bằng cách sử dụng cấu hình bên dưới.Bạn có thể kiểm tra dịch vụ PHP bằng cách sử dụng lệnh bên dưới.
Mã:
ss -pl | grep php
systemctl status php-fpm
Như có thể thấy, quy trình PHP tự sinh đang chạy dưới tệp 4 socket. Ngay cả dịch vụ PHP-FPM cũng ngừng hoạt động, Lighttpd vẫn đang hoạt động để xử lý các ứng dụng PHP.