OpenLiteSpeed là phiên bản nhẹ và mã nguồn mở của LiteSpeed Server do LiteSpeed Technologies phát triển. Nó hỗ trợ các quy tắc Apache Rewrite, HTTP/2 và HTTP/3, cũng như các giao thức TLS v1.3 và QUIC. Nó đi kèm với bảng điều khiển Quản trị dựa trên WebGUI, khiến nó khác biệt so với các máy chủ khác và dễ quản lý hơn.
LOMP Stack là từ viết tắt của Linux, OpenLiteSpeed, MySQL/MariaDB và PHP. Máy chủ Litespeed nổi tiếng với tốc độ của chúng, đặc biệt là với PHP tích hợp bằng Giao diện lập trình ứng dụng máy chủ LiteSpeed (LSAPI). Trình thông dịch LiteSpeed PHP (LSPHP) phục vụ các trang PHP động thông qua LSAPI.
Hướng dẫn này sẽ chỉ cho bạn từng bước cách cài đặt Máy chủ LOMP trên máy Rocky Linux 9.
[*]
Một số gói mà hệ thống của bạn cần.
Một số gói này có thể đã được cài đặt trên hệ thống của bạn.
Tường lửa hoạt động với các vùng khác nhau và vùng công cộng là vùng mặc định mà chúng ta sẽ sử dụng. Liệt kê tất cả các dịch vụ và cổng đang hoạt động trên tường lửa.
Nó sẽ hiển thị đầu ra sau.
OpenLiteSpeed cần cổng 7080 để quản lý panel.
Chúng ta cũng cần các cổng HTTP và HTTPS để hoạt động. Mở chúng ra.
Tải lại tường lửa để áp dụng các thay đổi.
Liệt kê lại tất cả các dịch vụ.
Bạn sẽ nhận được thông báo sau đầu ra.
Giải nén tệp.
Chuyển sang tệp đã giải nén thư mục.
Chạy trình cài đặt.
Chờ một lúc để trình cài đặt hoàn tất.
Có một số vấn đề với OpenLiteSpeed trên máy Rocky Linux 9 do đó bạn có thể thấy một số lỗi về các gói PHP bị thiếu. Bạn có thể bỏ qua chúng ngay bây giờ vì máy chủ vẫn có thể chạy với nhiều giải pháp thay thế khác nhau.
Tập lệnh cài đặt sẽ cài đặt và kích hoạt dịch vụ systemd
Khởi động máy chủ OpenLiteSpeed.
Kiểm tra phiên bản máy chủ đã cài đặt.
Bạn sẽ nhận được kết quả sau. Đặt
Bây giờ bạn có thể sử dụng mật khẩu quản trị viên mới.
Mở
Bạn sẽ thấy trang đăng nhập.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22489%22%20height=%22596%22%3E%3C/svg%3E
Nhập
Bạn sẽ nhận được thông báo sau screen.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22446%22%3E%3C/svg%3E
Cài đặt kho lưu trữ OpenLiteSpeed bằng cách chạy lệnh sau.
Bạn có thể tải phiên bản mới nhất của tệp RPM từ trang kho lưu trữ OpenLiteSpeed.
Cài đặt PHP 8.2.
Xác minh cài đặt PHP.
Bạn có thể kiểm tra danh sách các mô-đun PHP đã bật.
Chúng tôi sẽ cấu hình OpenLiteSpeed để hoạt động với PHP sau.
Bật và khởi động máy chủ MySQL.
Kiểm tra trạng thái của dịch vụ.
Bạn sẽ nhận được kết quả sau.
Chạy bảo mật MySQL script.
Bạn sẽ nhận được một số lời nhắc. Lời nhắc đầu tiên sẽ hỏi bạn có muốn cài đặt Plugin Xác thực mật khẩu không. Nhấn Y để cài đặt plugin. Chọn 2 làm mức độ bảo mật, yêu cầu mật khẩu của bạn phải dài ít nhất 8 ký tự và bao gồm cả chữ hoa, chữ thường, số và ký tự đặc biệt.
Tiếp theo, bạn sẽ được yêu cầu tạo mật khẩu gốc mạnh. Đảm bảo mật khẩu của bạn khớp với yêu cầu của plugin Validate.
Tiếp theo, bạn sẽ được yêu cầu một số lời nhắc liên quan đến việc tăng cường bảo mật cho cơ sở dữ liệu. Nhấn Y ở mỗi lời nhắc.
Đăng nhập vào shell MySQL.
Nhập mật khẩu gốc của bạn khi được nhắc.
Tạo cơ sở dữ liệu thử nghiệm và người dùng có quyền truy cập. Thay thế
Thoát khỏi MySQL shell.
Truy cập phầnNgười nghe ở bên trái. Bạn sẽ thấy các trình lắng nghe mặc định có cổng
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22213%22%3E%3C/svg%3E
Nhấp vào nút Xem để xem cấu hình chi tiết. Ở trang tiếp theo, bên dưới Mặc định trình lắng nghe > Trang Chung, nhấp vào biểu tượng Chỉnh sửa và thay đổi cổng từ
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22300%22%3E%3C/svg%3E
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22460%22%3E%3C/svg%3E
Nhấp vào Lưu và khởi động lại máy chủ bằng cách nhấp vào nút khởi động lại Graceful.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22281%22%20height=%2280%22%3E%3C/svg%3E
Nhấp vào phần Cấu hình máy chủ ở bên trái rồi nhấp vào tab Ứng dụng bên ngoài. Bạn sẽ thấy Ứng dụng LiteSpeed hiện có cho PHP. Chúng tôi sẽ thực hiện một số chỉnh sửa cho nó.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22220%22%3E%3C/svg%3E
Nhấp vào nút Chỉnh sửa để chỉnh sửa ứng dụng PHP.
Tiếp theo, khớp cấu hình như hiển thị bên dưới. Để trống tất cả các trường khác.
Nhấp vào Lưu khi hoàn tất.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22242%22%3E%3C/svg%3E
Bây giờ chúng ta đã tạo ứng dụng PHP 8.2 của riêng mình, chúng ta phải yêu cầu máy chủ bắt đầu sử dụng ứng dụng đó. Vì chúng tôi đã chỉnh sửa danh sách mặc định nên nó đã được cấu hình. Khởi động lại máy chủ bằng cách nhấp vào nút Graceful restart.
Để kiểm tra xem PHP của bạn đã được chuyển đổi đúng chưa, hãy truy cập
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22727%22%20height=%22750%22%3E%3C/svg%3E
Thư mục
Tiếp theo, mở Bảng điều khiển quản trị, truy cập phần Máy chủ ảo từ bên trái và nhấp vào nút Thêm.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22242%22%3E%3C/svg%3E
Điền các giá trị như đã chỉ định
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22430%22%3E%3C/svg%3E
Nhấp vào nút Lưu khi hoàn tất. Bạn sẽ nhận được lỗi sau vì tệp cấu hình hiện không tồn tại. Nhấp vào liên kết để tạo tệp cấu hình.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22346%22%3E%3C/svg%3E
Nhấp vào nút Lưu một lần nữa để hoàn tất việc tạo Máy chủ ảo.
Sau khi máy chủ ảo được tạo, hãy vào Máy chủ ảo -> Chọn Máy chủ ảo (example.com) -> Chung và sửa đổi cấu hình như đã cho.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22465%22%3E%3C/svg%3E
Nhấp vào nút Lưu khi hoàn tất. Tiếp theo, chúng ta cần thiết lập các tệp chỉ mục. Nhấp vào nút chỉnh sửa đối với Tệp chỉ mục bên dưới Phần Chung. Thiết lập các tùy chọn sau.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22388%22%3E%3C/svg%3E
Nhấp vào Lưu khi hoàn tất. Tiếp theo, chúng ta cần chọn Tệp nhật ký. Đi đến phần Nhật ký, nhấp vào Chỉnh sửa đối với Nhật ký máy chủ ảo và điền vào các giá trị sau. Giữ nguyên các thiết lập khác.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22291%22%3E%3C/svg%3E
Bạn có thể chọn Mức nhật ký là
Nhấp vào Lưu rồi nhấp vào dấu cộng trong phần Nhật ký truy cập để thêm mục mới. Điền vào các giá trị sau.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22402%22%3E%3C/svg%3E
Nhấp vào Lưu khi hoàn tất. Tiếp theo, chúng ta cần cấu hình Kiểm soát truy cập trong phần Bảo mật. Đặt các Giá trị sau.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22245%22%3E%3C/svg%3E
Nhấp vào Lưu khi hoàn tất. Tiếp theo, chúng ta cần thiết lập Script Handler Definition. Nhấp vào dấu cộng (+) để thêm một định nghĩa mới. Thiết lập các giá trị sau.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22250%22%3E%3C/svg%3E
Nhấp vào Lưu khi hoàn tất. Tiếp theo, chúng ta cần thiết lập Rewrite Control trong phần Rewrite. Thiết lập các giá trị sau.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22214%22%3E%3C/svg%3E
Nhấp Lưu khi hoàn tất. Và cuối cùng, chúng ta cần thiết lập Listener. Đi tới phần Người nghe và nhấp vào nút Xem đối với Người nghe mặc định. Sau đó, nhấp vào nút Thêm đối với Ánh xạ máy chủ ảo để thêm ánh xạ mới và đặt các giá trị sau.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22124%22%3E%3C/svg%3E
Nhấp vào Lưu khi hoàn tất. Bây giờ, hãy nhấp vào nút Graceful restart để áp dụng tất cả các thay đổi ở trên và khởi động lại máy chủ.
Trước tiên, chúng ta hãy tạo Chứng chỉ tự ký.
Bạn sẽ nhận được kết quả tương tự.
Bạn có thể nhấn enter qua tất cả các trường và để trống. Điền tên miền của bạn vào mục Common name và địa chỉ email của bạn.
Các chứng chỉ hiện được lưu trữ trong thư mục
Để sử dụng Let's Encrypt, chúng ta cần cài đặt công cụ Certbot. Chúng ta sẽ sử dụng trình cài đặt gói Snapd cho mục đích đó. Vì Rocky Linux không đi kèm với công cụ này, hãy cài đặt trình cài đặt Snapd. Yêu cầu kho lưu trữ EPEL để hoạt động.
Cài đặt Snapd.
Bật và khởi động Snap dịch vụ.
Cài đặt gói lõi Snap và đảm bảo rằng phiên bản Snapd của bạn được cập nhật.
Tạo các liên kết cần thiết cho Snapd tới làm việc.
Phát hành lệnh sau để cài đặt Certbot.
Sử dụng lệnh sau để đảm bảo rằng lệnh Certbot có thể chạy bằng cách tạo liên kết tượng trưng đến
Xác minh cài đặt.
Chạy lệnh sau để tạo Chứng chỉ SSL.
Lấy chứng chỉ SSL. Thư mục webroot được đặt thành thư mục HTML công khai đã định cấu hình trước đó.
Tạo chứng chỉ nhóm Diffie-Hellman.
Để kiểm tra xem quá trình gia hạn SSL có hoạt động tốt không, hãy chạy thử quy trình.
Nếu không thấy lỗi nào, bạn đã hoàn tất. Chứng chỉ của bạn sẽ tự động gia hạn.
Bây giờ hãy mở Bảng điều khiển quản trị và đi tới Listeners >> Add New Listener và thêm các giá trị sau.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22556%22%3E%3C/svg%3E
Nhấp vào Lưu khi hoàn tất. Tiếp theo, hãy chuyển đến phần Virtual Host Mappings bên dưới SSL Listener bằng cách nhấp vào SSL, nhấp vào nút Add và điền vào các giá trị sau.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22124%22%3E%3C/svg%3E
Nhấp vào Lưu khi hoàn tất. Tiếp theo, hãy đi đến Listeners >> SSL Listener >> Tab SSL >>Khóa riêng tư SSL & Chứng chỉ (nút Chỉnh sửa) và điền các giá trị sau cho chứng chỉ tự ký mà chúng ta đã tạo trước đó.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22329%22%3E%3C/svg%3E
Nhấp vào Lưu khi hoàn tất. Tiếp theo, hãy đi đến Người nghe >> SSL Listener >> SSL Tab >> Giao thức SSL (nút Chỉnh sửa) và điền các giá trị sau cho giao thức SSL và thông tin chi tiết về mã hóa.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22278%22%3E%3C/svg%3E
Nhấp vào Lưu khi hoàn tất. Tiếp theo, hãy vào Máy chủ ảo >> example.com >> Tab SSL >> Khóa riêng tư SSL & Chứng chỉ (nút Chỉnh sửa) và điền các giá trị sau bằng Chứng chỉ Let's Encrypt.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22282%22%3E%3C/svg%3E
Nhấp vào Lưu khi hoàn tất. Tiếp theo, hãy đi tới Máy chủ ảo >> example.com >> Tab SSL >> OCSP Stapling (nút Chỉnh sửa) và điền các giá trị sau để bật OCSP Stapling.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22252%22%3E%3C/svg%3E
Nhấp vào Lưu khi hoàn tất. Tiếp theo, hãy đi tới Máy chủ ảo >> example.com >> Tab SSL >> Bảo mật (nút Chỉnh sửa) và điền các giá trị sau để bật giao thức HTTP3/QUIC.
Chúng ta không cần bật các tùy chọn khác vì chúng được bật theo mặc định.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22328%22%3E%3C/svg%3E
Nhấp vào Lưu khi hoàn tất.
Khởi động lại máy chủ bằng cách nhấp vào nút khởi động lại Graceful.
Dán mã sau vào Nano biên tập viên.
Mở URL
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22420%22%20height=%22184%22%3E%3C/svg%3E
Trang web thử nghiệm hoạt động đầy đủ. Bạn có thể bắt đầu sử dụng máy chủ để phục vụ các trang web và ứng dụng PHP động.
LOMP Stack là từ viết tắt của Linux, OpenLiteSpeed, MySQL/MariaDB và PHP. Máy chủ Litespeed nổi tiếng với tốc độ của chúng, đặc biệt là với PHP tích hợp bằng Giao diện lập trình ứng dụng máy chủ LiteSpeed (LSAPI). Trình thông dịch LiteSpeed PHP (LSPHP) phục vụ các trang PHP động thông qua LSAPI.
Hướng dẫn này sẽ chỉ cho bạn từng bước cách cài đặt Máy chủ LOMP trên máy Rocky Linux 9.
Điều kiện tiên quyết
-
Máy chủ chạy Rocky Linux 9.
-
Người dùng không phải root có quyền sudo.
-
Tên miền đủ điều kiện (FQDN) nhưexample.com
trỏ đến máy chủ.
-
SELinux không cần phải bị vô hiệu hóa hoặc cấu hình để hoạt động với OpenLiteSpeed.
-
Thực hiện chắc chắn mọi thứ đã được cập nhật.
Mã:
$ sudo dnf update
Một số gói mà hệ thống của bạn cần.
Mã:
$ sudo dnf install wget curl nano unzip yum-utils -y
Bước 1 - Cấu hình Tường lửa
Bước đầu tiên là cấu hình tường lửa. Rocky Linux sử dụng Tường lửa Firewalld. Kiểm tra trạng thái của tường lửa.
Mã:
$ sudo firewall-cmd --state
running
Mã:
$ sudo firewall-cmd --permanent --list-services
Mã:
cockpit dhcpv6-client ssh
Mã:
$ sudo firewall-cmd --permanent --add-port=7080/tcp
Mã:
$ sudo firewall-cmd --permanent --add-service=http
$ sudo firewall-cmd --permanent --add-service=https
Mã:
$ sudo firewall-cmd --reload
Mã:
$ sudo firewall-cmd --permanent --list-services
Mã:
cockpit dhcpv6-client http https ssh
Bước 2 - Cài đặt OpenLiteSpeed
Tải xuống tệp nhị phân OpenLiteSpeed. Bạn có thể lấy liên kết đến tệp nhị phân mới nhất từ trang tải xuống chính thức của OpenLiteSpeed.
Mã:
$ wget https://openlitespeed.org/packages/openlitespeed-1.7.16.tgz
Mã:
$ tar -zxf openlitespeed-*.tgz
Mã:
$ cd openlitespeed
Mã:
$ sudo ./install.sh
Có một số vấn đề với OpenLiteSpeed trên máy Rocky Linux 9 do đó bạn có thể thấy một số lỗi về các gói PHP bị thiếu. Bạn có thể bỏ qua chúng ngay bây giờ vì máy chủ vẫn có thể chạy với nhiều giải pháp thay thế khác nhau.
Tập lệnh cài đặt sẽ cài đặt và kích hoạt dịch vụ systemd
lshttpd
.Khởi động máy chủ OpenLiteSpeed.
Mã:
$ sudo systemctl start lshttpd
Mã:
$ /usr/local/lsws/bin/lshttpd -v
LiteSpeed/1.7.16 Open (BUILD built: Thu Nov 17 16:18:46 UTC 2022) module versions: lsquic 3.1.1 modgzip 1.1 cache 1.64 mod_security 1.4
Tạo mật khẩu quản trị viên
Chạy tập lệnh đặt lại mật khẩu.
Mã:
$ sudo /usr/local/lsws/admin/misc/admpass.sh
admin
làm tên người dùng và đặt mật khẩu mạnh.
Mã:
Please specify the user name of administrator.
This is the user name required to login the administration Web interface.
User name [admin]: admin
Please specify the administrator's password.
This is the password required to login the administration Web interface.
Password:
Retype password:
Administrator's username/password is updated successfully!
Mở
http://:7080
để truy cập bảng quản trị của OpenLiteSpeed. Khi bạn đăng nhập lần đầu, trình duyệt của bạn sẽ cảnh báo rằng kết nối của bạn không phải là kết nối riêng tư. Nhấp vào Nâng cao và nhấp vào "Chấp nhận rủi ro và Tiếp tục" (trong trường hợp Firefox) hoặc "Tiến hành đến (unsafe)
" (trong trường hợp trình duyệt dựa trên Chromium). Bạn sẽ không thấy cảnh báo nữa.Bạn sẽ thấy trang đăng nhập.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22489%22%20height=%22596%22%3E%3C/svg%3E
Nhập
admin
làm tên người dùng và mật khẩu mà bạn đã đặt trước đó, rồi nhấn nút Đăng nhập để tiếp tục.Bạn sẽ nhận được thông báo sau screen.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22446%22%3E%3C/svg%3E
Bước 3 - Cài đặt PHP
Trình cài đặt OpenLiteSpeed thường cài đặt PHP 7.4 theo mặc định. Trong trường hợp của Rocky Linux 9, nó không được cài đặt tự động. Hơn nữa, chúng tôi sẽ cài đặt phiên bản PHP mới nhất. Trước khi thực hiện, chúng ta cần cài đặt kho lưu trữ LiteSpeed.Cài đặt kho lưu trữ OpenLiteSpeed bằng cách chạy lệnh sau.
Mã:
$ sudo rpm -Uvh http://rpms.litespeedtech.com/centos/litespeed-repo-1.3-1.el8.noarch.rpm
Cài đặt PHP 8.2.
Mã:
$ sudo dnf install lsphp82 lsphp82-mysqlnd lsphp82-process lsphp82-bcmath lsphp82-pdo lsphp82-common lsphp82-xml lsphp82-opcache lsphp82-soap
lsphp-gd
và Các gói lsphp-mbstring
vẫn còn thiếu trong kho lưu trữ. Vì vậy, nếu bạn muốn chúng, bạn sẽ cần phải đợi một thời gian trước khi chúng được phát hành chính thức.Xác minh cài đặt PHP.
Mã:
$ /usr/local/lsws/lsphp82/bin/php -v
PHP 8.2.1 (cli) (built: Jan 3 2023 18:40:55) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.1, Copyright (c) Zend Technologies with Zend OPcache v8.2.1, Copyright (c), by Zend Technologies
Mã:
$ /usr/local/lsws/lsphp82/bin/php --modules
[PHP Modules]
bcmath
bz2
calendar
Core
ctype
curl
date
dom
exif
fileinfo
filter
ftp
gettext
hash
iconv
json
libxml
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
random
readline
Reflection
session
shmop
SimpleXML
soap
sockets
SPL
sqlite3
standard
sysvmsg
sysvsem
sysvshm
tokenizer
xml
xmlreader
xmlwriter
xsl
Zend OPcache
zip
zlib
[Zend Modules]
Zend OPcache
Bước 4 - Cài đặt MySQL
Cài đặt máy chủ MySQL.
Mã:
$ sudo dnf install mysql-server
Mã:
$ sudo systemctl enable mysqld --now
Mã:
$ sudo systemctl status mysqld
Mã:
? mysqld.service - MySQL 8.0 database server Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled) Active: active (running) since Fri 2023-02-17 07:31:00 UTC; 2s ago Process: 14933 ExecStartPre=/usr/libexec/mysql-check-socket (code=exited, status=0/SUCCESS) Process: 14955 ExecStartPre=/usr/libexec/mysql-prepare-db-dir mysqld.service (code=exited, status=0/SUCCESS) Main PID: 15054 (mysqld) Status: "Server is operational" Tasks: 39 (limit: 5873) Memory: 427.1M CPU: 4.079s CGroup: /system.slice/mysqld.service ??15054 /usr/libexec/mysqld --basedir=/usr
Feb 17 07:30:51 nspeaks.xyz systemd[1]: Starting MySQL 8.0 database server...
Feb 17 07:30:51 nspeaks.xyz mysql-prepare-db-dir[14955]: Initializing MySQL database
Feb 17 07:31:00 nspeaks.xyz systemd[1]: Started MySQL 8.0 database server.
Mã:
$ sudo mysql_secure_installation
Mã:
Securing the MySQL server deployment.
Connecting to MySQL using a blank password.
VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?
Press y|Y for Yes, any other key for No: Y
There are three levels of password validation policy:
LOW Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary file
Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2
Mã:
Please set the password for root here.
New password:
Re-enter new password:
Estimated strength of the password: 100
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : Y
Mã:
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.
Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y
Success.
Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
Success.
By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y - Dropping test database...
Success. - Removing privileges on test database...
Success.
Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y
Success.
All done!
Mã:
$ mysql -u root -p
Tạo cơ sở dữ liệu thử nghiệm và người dùng có quyền truy cập. Thay thế
testdb
và testuser
bằng tên phù hợp với thiết lập của bạn. Thay thế password
bằng mật khẩu mạnh.
Mã:
mysql> CREATE DATABASE testdb;
mysql> CREATE USER 'testuser' IDENTIFIED BY 'Your_Password123';
mysql> GRANT ALL PRIVILEGES ON testdb.* TO 'testuser';
mysql> FLUSH PRIVILEGES;
Mã:
mysql> exit
Bước 5 - Cấu hình OpenLiteSpeed
Chuyển cổng HTTP trở lại 80
Chúng ta hãy thay đổi cổng HTTP mặc định thành 80. Đăng nhập vào bảng quản trị của bạn tạihttp://:7080
bằng thông tin đăng nhập bạn vừa tạo.Truy cập phầnNgười nghe ở bên trái. Bạn sẽ thấy các trình lắng nghe mặc định có cổng
8080
.data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22213%22%3E%3C/svg%3E
Nhấp vào nút Xem để xem cấu hình chi tiết. Ở trang tiếp theo, bên dưới Mặc định trình lắng nghe > Trang Chung, nhấp vào biểu tượng Chỉnh sửa và thay đổi cổng từ
8080
thành 80
.data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22300%22%3E%3C/svg%3E
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22460%22%3E%3C/svg%3E
Nhấp vào Lưu và khởi động lại máy chủ bằng cách nhấp vào nút khởi động lại Graceful.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22281%22%20height=%2280%22%3E%3C/svg%3E
Bước 6 - Cấu hình PHP
Trong bước này, chúng ta cần liên kết bản sao PHP 8.2 của mình với máy chủ.Nhấp vào phần Cấu hình máy chủ ở bên trái rồi nhấp vào tab Ứng dụng bên ngoài. Bạn sẽ thấy Ứng dụng LiteSpeed hiện có cho PHP. Chúng tôi sẽ thực hiện một số chỉnh sửa cho nó.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22220%22%3E%3C/svg%3E
Nhấp vào nút Chỉnh sửa để chỉnh sửa ứng dụng PHP.
Tiếp theo, khớp cấu hình như hiển thị bên dưới. Để trống tất cả các trường khác.
Mã:
Name: lsphp
Address: uds://tmp/lshttpd/lsphp.sock
Max Connections: 35
Environment: PHP_LSAPI_MAX_REQUESTS=500 PHP_LSAPI_CHILDREN=35 LSAPI_AVOID_FORK=200M
Initial Request Timeout (secs): 60
Retry Timeout : 0
Persistent Connection: Yes
Response Buffering: no
Start By Server: Yes(Through CGI Daemon)
Command: lsphp82/bin/lsphp
Back Log: 100
Instances: 1
Priority: 0
Memory Soft Limit (bytes): 2047M
Memory Hard Limit (bytes): 2047M
Process Soft Limit: 1400
Process Hard Limit: 1500
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22242%22%3E%3C/svg%3E
Bây giờ chúng ta đã tạo ứng dụng PHP 8.2 của riêng mình, chúng ta phải yêu cầu máy chủ bắt đầu sử dụng ứng dụng đó. Vì chúng tôi đã chỉnh sửa danh sách mặc định nên nó đã được cấu hình. Khởi động lại máy chủ bằng cách nhấp vào nút Graceful restart.
Để kiểm tra xem PHP của bạn đã được chuyển đổi đúng chưa, hãy truy cập
http:///phpinfo.php
trong trình duyệt của bạn.data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22727%22%20height=%22750%22%3E%3C/svg%3E
Bước 7 - Tạo VirtualHost
Đầu tiên, chúng ta cần tạo các thư mục cho máy chủ ảo của mình.
Mã:
$ sudo mkdir /usr/local/lsws/example.com/{html,logs} -p
html
sẽ chứa các tệp công khai và Thư mục logs
sẽ chứa nhật ký máy chủ.Tiếp theo, mở Bảng điều khiển quản trị, truy cập phần Máy chủ ảo từ bên trái và nhấp vào nút Thêm.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22242%22%3E%3C/svg%3E
Điền các giá trị như đã chỉ định
Mã:
Virtual Host Name: example.com
Virtual Host Root: $SERVER_ROOT/example.com/
Config File: $SERVER_ROOT/conf/vhosts/$VH_NAME/vhconf.conf
Follow Symbolic Link: Yes
Enable Scripts/ExtApps: Yes
Restrained: Yes
External App Set UID Mode: Server UID
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22430%22%3E%3C/svg%3E
Nhấp vào nút Lưu khi hoàn tất. Bạn sẽ nhận được lỗi sau vì tệp cấu hình hiện không tồn tại. Nhấp vào liên kết để tạo tệp cấu hình.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22346%22%3E%3C/svg%3E
Nhấp vào nút Lưu một lần nữa để hoàn tất việc tạo Máy chủ ảo.
Sau khi máy chủ ảo được tạo, hãy vào Máy chủ ảo -> Chọn Máy chủ ảo (example.com) -> Chung và sửa đổi cấu hình như đã cho.
Mã:
Document Root: $VH_ROOT/html/
Domain Name: example.com
Enable GZIP Compression: Yes
Enable Brotli Compression: Yes
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22465%22%3E%3C/svg%3E
Nhấp vào nút Lưu khi hoàn tất. Tiếp theo, chúng ta cần thiết lập các tệp chỉ mục. Nhấp vào nút chỉnh sửa đối với Tệp chỉ mục bên dưới Phần Chung. Thiết lập các tùy chọn sau.
Mã:
Use Server Index Files: No
Index files: index.php, index.html, index.htm
Auto Index: No
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22388%22%3E%3C/svg%3E
Nhấp vào Lưu khi hoàn tất. Tiếp theo, chúng ta cần chọn Tệp nhật ký. Đi đến phần Nhật ký, nhấp vào Chỉnh sửa đối với Nhật ký máy chủ ảo và điền vào các giá trị sau. Giữ nguyên các thiết lập khác.
Mã:
Use Server’s Log: Yes
File Name: $VH_ROOT/logs/error.log
Log Level: ERROR
Rolling Size (bytes): 10M
Keep Days: 30
Compress Archive: Not Set
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22291%22%3E%3C/svg%3E
Bạn có thể chọn Mức nhật ký là
DEBUG
nếu bạn đang sử dụng máy sản xuất/phát triển.Nhấp vào Lưu rồi nhấp vào dấu cộng trong phần Nhật ký truy cập để thêm mục mới. Điền vào các giá trị sau.
Mã:
Log Control: Own Log File
File Name: $VH_ROOT/logs/access.log
Piped Logger: Not Set
Log Format: Not Set
Log Headers: Not Set
Rolling Size (bytes): 10M
Keep Days: 30
Bytes log: Not Set
Compress Archive: Not Set
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22402%22%3E%3C/svg%3E
Nhấp vào Lưu khi hoàn tất. Tiếp theo, chúng ta cần cấu hình Kiểm soát truy cập trong phần Bảo mật. Đặt các Giá trị sau.
Mã:
Allowed List: *
Denied List: Not set
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22245%22%3E%3C/svg%3E
Nhấp vào Lưu khi hoàn tất. Tiếp theo, chúng ta cần thiết lập Script Handler Definition. Nhấp vào dấu cộng (+) để thêm một định nghĩa mới. Thiết lập các giá trị sau.
Mã:
Suffixes: php
Handler Type: LiteSpeed SAPI
Handler Name: [Server Level]: lsphp
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22250%22%3E%3C/svg%3E
Nhấp vào Lưu khi hoàn tất. Tiếp theo, chúng ta cần thiết lập Rewrite Control trong phần Rewrite. Thiết lập các giá trị sau.
Mã:
Enable Rewrite: Yes
Auto Load from .htaccess: Yes
Log Level: Not Set
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22214%22%3E%3C/svg%3E
Nhấp Lưu khi hoàn tất. Và cuối cùng, chúng ta cần thiết lập Listener. Đi tới phần Người nghe và nhấp vào nút Xem đối với Người nghe mặc định. Sau đó, nhấp vào nút Thêm đối với Ánh xạ máy chủ ảo để thêm ánh xạ mới và đặt các giá trị sau.
Mã:
Virtual Host: example.com
Domains: example.com
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22124%22%3E%3C/svg%3E
Nhấp vào Lưu khi hoàn tất. Bây giờ, hãy nhấp vào nút Graceful restart để áp dụng tất cả các thay đổi ở trên và khởi động lại máy chủ.
Bước 8 - Cài đặt SSL
Để thiết lập SSL trong OpenLiteSpeed, chúng ta cần thiết lập hai chứng chỉ. Chứng chỉ tự ký cho toàn bộ máy chủ và máy chủ Let's Encrypt dành riêng cho trang web.Trước tiên, chúng ta hãy tạo Chứng chỉ tự ký.
Mã:
$ openssl req -x509 -days 365 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes
Mã:
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:
State or Province Name (full name) []:
Locality Name (eg, city) [Default City]:
Organization Name (eg, company) [Default Company Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:example.com
Email Address []:[emailprotected]
Các chứng chỉ hiện được lưu trữ trong thư mục
/home/user
. Chúng ta sẽ cần thông tin này sau.Để sử dụng Let's Encrypt, chúng ta cần cài đặt công cụ Certbot. Chúng ta sẽ sử dụng trình cài đặt gói Snapd cho mục đích đó. Vì Rocky Linux không đi kèm với công cụ này, hãy cài đặt trình cài đặt Snapd. Yêu cầu kho lưu trữ EPEL để hoạt động.
Mã:
$ sudo dnf install -y epel-release
Mã:
$ sudo dnf install -y snapd
Mã:
$ sudo systemctl enable snapd --now
Mã:
$ sudo snap install core && sudo snap refresh core
Mã:
$ sudo ln -s /var/lib/snapd/snap /snap
$ echo 'export PATH=$PATH:/var/lib/snapd/snap/bin' | sudo tee -a /etc/profile.d/snapd.sh
Mã:
$ sudo snap install --classic certbot
/usr/bin
thư mục.
Mã:
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
Mã:
$ certbot --version
certbot 2.3.0
Lấy chứng chỉ SSL. Thư mục webroot được đặt thành thư mục HTML công khai đã định cấu hình trước đó.
Mã:
$ sudo certbot certonly --webroot -w /usr/local/lsws/example.com/html/ --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [emailprotected] -d example.com
Mã:
$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096
Mã:
$ sudo certbot renew --dry-run
Bây giờ hãy mở Bảng điều khiển quản trị và đi tới Listeners >> Add New Listener và thêm các giá trị sau.
Mã:
Listener Name: SSL
IP Address: ANY
Port: 443
Secure: Yes
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22556%22%3E%3C/svg%3E
Nhấp vào Lưu khi hoàn tất. Tiếp theo, hãy chuyển đến phần Virtual Host Mappings bên dưới SSL Listener bằng cách nhấp vào SSL, nhấp vào nút Add và điền vào các giá trị sau.
Mã:
Virtual Host: example.com
Domains: example.com
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22124%22%3E%3C/svg%3E
Nhấp vào Lưu khi hoàn tất. Tiếp theo, hãy đi đến Listeners >> SSL Listener >> Tab SSL >>Khóa riêng tư SSL & Chứng chỉ (nút Chỉnh sửa) và điền các giá trị sau cho chứng chỉ tự ký mà chúng ta đã tạo trước đó.
Mã:
Private Key File: /home/user/key.pem
Certificate File: /home/user/cert.pem
Chained Certificate: Yes
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22329%22%3E%3C/svg%3E
Nhấp vào Lưu khi hoàn tất. Tiếp theo, hãy đi đến Người nghe >> SSL Listener >> SSL Tab >> Giao thức SSL (nút Chỉnh sửa) và điền các giá trị sau cho giao thức SSL và thông tin chi tiết về mã hóa.
Mã:
Protocol Version: TLS v1.2 TLS v1.3
Ciphers: ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384
Enable ECDH Key Exchange: Yes
Enable DH Key Exchange: Yes
DH Parameter: /etc/ssl/certs/dhparam.pem
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22278%22%3E%3C/svg%3E
Nhấp vào Lưu khi hoàn tất. Tiếp theo, hãy vào Máy chủ ảo >> example.com >> Tab SSL >> Khóa riêng tư SSL & Chứng chỉ (nút Chỉnh sửa) và điền các giá trị sau bằng Chứng chỉ Let's Encrypt.
Mã:
Private Key File: /etc/letsencrypt/live/example.com/privkey.pem
Certificate File: /etc/letsencrypt/live/example.com/fullchain.pem
Chained Certificate: Yes
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22282%22%3E%3C/svg%3E
Nhấp vào Lưu khi hoàn tất. Tiếp theo, hãy đi tới Máy chủ ảo >> example.com >> Tab SSL >> OCSP Stapling (nút Chỉnh sửa) và điền các giá trị sau để bật OCSP Stapling.
Mã:
Enable OCSP Stapling: Yes
OCSP Response Max Age(Secs): 300
OCSP Responder: http://r3.o.lencr.org
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22252%22%3E%3C/svg%3E
Nhấp vào Lưu khi hoàn tất. Tiếp theo, hãy đi tới Máy chủ ảo >> example.com >> Tab SSL >> Bảo mật (nút Chỉnh sửa) và điền các giá trị sau để bật giao thức HTTP3/QUIC.
Mã:
Enable HTTP3/QUIC: Yes
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22328%22%3E%3C/svg%3E
Nhấp vào Lưu khi hoàn tất.
Khởi động lại máy chủ bằng cách nhấp vào nút khởi động lại Graceful.
Bước 9 - Trang web thử nghiệm
Tạo tệp Kiểm tra trong thư mụchtml
của bạn.
Mã:
$ sudo nano /usr/local/lsws/example.com/html/index.php
Mã:
[HEADING=2]OpenLiteSpeed Server Install Test[/HEADING]
https://example.com
trong trình duyệt và bạn sẽ thấy trang sau.data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22420%22%20height=%22184%22%3E%3C/svg%3E
Trang web thử nghiệm hoạt động đầy đủ. Bạn có thể bắt đầu sử dụng máy chủ để phục vụ các trang web và ứng dụng PHP động.