Nhập môn OpenliteSpeed

Mới biết đến thằng này và thấy cũng khá hay ho, sau khi tham khảo các nguồn hướng dẫn VN và nc ngoài thì cũng có hứng thú viết lại và lưu lại hướng dẫn cài đặt OpenLiteSpeed chi tiết đầy đủ

À mình đã dùng HocVPS trong 5 năm và mới chuyển qua OpenLiteSpeed và thấy một số ưu điểm của OpenLiteSpeed như sau

  • Hiệu suất cao, ổn định
  • Rất nhẹ, tiêu tốn ít RAM và ít CPU
  • Các rule rewrite tương thích với Apache
  • Có WebAdmin sử dụng giao diện người sử dụng.

Chuẩn bị :

  • VPS chạy Centos 7 : mình đang dùng VPS ở CloudFly cũng khá ổn và giá phải chăng.
  • Phần mềm kết nối SSH : Ở đây mình hay dùng WinSCP kết hợp với Putty.

Tiến hành cài đặt OpenLiteSpeed  thôi

Cập nhật hệ thống centos 7

cập nhật hệ thống của centos 7 lên mới nhất bằng command line :

yum install epel-release -y
yum clean all && yum update -y && shutdown -r now

Sau đó nó tự động reset lại bạn lại truy cập vào command line.

Bước 1: Cài đặt mã nguồn openlitespeed

Có 3 kiểu cách cài đặt openlitespeed webgui nhưng mình thích nhất là cách này Repository vì luôn được tận hưởng các bản cập nhật mới.

rpm -ivh http://rpms.litespeedtech.com/centos/litespeed-repo-1.1-1.el7.noarch.rpm
yum install openlitespeed -y

Bước 2:Cài đặt PHP 7.4 cho openlitespeed

Cài này có mình có sẵn opcode cache, và các php tối ưu riêng cho wordpress rồi, nếu bạn có nhu cầu thêm vào thì hãy tự thêm vào nhé, mình thấy như thế này đủ rồi.

yum install lsphp74 lsphp74-json lsphp74-common lsphp74-gd lsphp74-imagick lsphp74-process lsphp74-mbstring lsphp74-mysqlnd lsphp74-xml lsphp74-opcache lsphp74-mcrypt lsphp74-pdo lsphp74-imap lsphp74-bcmath lsphp74-pecl-memcache lsphp74-pecl-memcached lsphp74-pecl-redis lsphp74-pgsql lsphp74-zip -y

Bước 3:Tạo shortcut cho php 7.4

Openlitespeed phải vào thư mục /usr/local/lsws/fcgi-bin/lsphp74 để lấy PHP nên bạn phải dùng thêm cài này nữa nhé.

ln -sf /usr/local/lsws/lsphp74/bin/lsphp /usr/local/lsws/fcgi-bin/lsphp74
ln -sf /usr/local/lsws/lsphp74/bin/lsphp /usr/local/lsws/fcgi-bin/lsphp5

2 cái trên là để tạo shortcut cho openlitespeed chạy website.

Còn cái dưới này để phục vụ một số nhu cầu nâng cao hơn cho để phục vụ cho một số công việc sau này, PHP binary hệ điều hành như chạy lệnh CLI trực tiếp trong linux để phục vụ công việc sau này bạn dùng wp cli, cron job php… thì mới cần chạy, nếu nhu cầu của bạn chỉ là chạy một trang website wordpress cơ bản thôi không cần tháo tác chạy lệnh này cũng được không chạy cũng chả sao.

ln -s /usr/local/lsws/lsphp74/bin/php /usr/bin/php

Bước 4: Thiết lập tài khoản Admin cho OpenLiteSpeed WebAdmin GUI

/usr/local/lsws/admin/misc/admpass.sh

Rồi nhập user id tên đăng nhập của bạn và password của bạn ( pass hãy đặt trên 26 kí tự nhé để nâng cao bảo mật)

Bước 4:Mở cổng port và mở tường lửa mặc định của openlitespeed

Openlitespeed mặc định sẽ lấy cổng 7080 làm cổng mặc định.

Khi bạn truy cập vào webamdgui thì bạn chỉ cần gõ : ip:7080

Vì lý do bảo mật nhà cung cấp webhost sẽ đóng các cổng lại chỉ để lại những cổng thông dụng, tuy vào nhà cung cấp webhost sẽ có cách mở khác nhau, hoặc tận chí nhà cung cấp đó không đóng thì bạn không cần làm bước này, nếu có đóng thì hãy làm bước này nhé.

iptables -I INPUT -p tcp -m tcp --dport 7080 -j ACCEPT
service iptables save
service iptables restart
firewall-cmd --zone=public --add-port=7080/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-all

nếu website của bạn chưa cài đặt tường lửa firewalld và không hỗ trợ firewalld tường lửa bên ngoài của nhà cung cấp dịch vụ thì hãy cài đặt:

yum install firewalld
systemctl start firewalld
systemctl enable firewalld

Centos 7 thường dùng chủ yếu là tường lửa firewalld còn centos 6 dùng iptables.

Như vậy là ok rồi, có một số trường hợp đặc biệt các nhà cung cấp webhost họ bảo mật căng quá không cho phép mở trong ssh thì bạn hãy liên hệ với nhà cung cấp đó là hãy mở cho tôi.

bao-loi-tuong-lua-cap-nha-cung-cap
Báo lỗi phải mở cổng port với nhà cung cấp dịch vụ webhost, không thể mở bằng SSH

Nếu như trong trường hợp nhà cung cấp dịch vụ của bạn không cho mở firewalld port trong ssh thì nó sẽ báo như thế này, yêu cầu bạn phải liên hệ hoặc thao tác trực tiếp làm việc trên website của bên nhà cung cấp dịch vụ đó, đây là tính năng của nhà cung cấp dịch vụ webhost nó còn gọi cái tên khá chất là firewall cloud nhưng mình thích gọi nó là tường lửa ngoài.

Trường hợp vô cùng đặc biệt: Trong trường hợp mà mình có dính một số nhà cung cấp dịch vụ mà thiếu chuyên nghiệp là những nhà cung cấp dịch vụ yếu về kỹ năng: khi bạn cài cài ứng dụng tưởng lửa firewalld cái mà họ có tính hợp sẵn ứng dụng firewalld bên ngoài thế là firewalld bên ngoài bắt đầu làm việc bạn phải thực hiện làm việc với bên trong trang web nhà cung cấp dịch vụ, mà họ không thèm mở sẵn cổng port SSH sẵn đang sử dụng, cài tưởng lửa cái văn ra ngay, một số bạn mới bắt đầu không hiểu chuyện quái gì đang xảy ra luôn.

Nếu như họ là nhà cung cấp chuyên nghiệp thì họ sẽ mở sẵn tường lửa firewalld ít nhất một cổng ssh cung cấp cho bạn để sử dụng, khi cài thì nó sẽ báo : như hình ảnh mình họ, còn cài tường lửa firewalld phát văng ra ngay thì biết rồi đó.

mở-cổng-port-bằng-tường-lửa-cloud
Ví dụ thị phạm về mở cổng port bằng firewall cloud, mỗi nhà cung cấp có thể giao diện sẽ khác nhau, nhưng không quan trọng

nhân tiện mở thêm cổng 80 và cổng 443 để có thể sử dụng website nhé, có thể là 2 cổng này là cổng quốc dân nên có thể nhà cung cấp vps sẽ mở sẵn nhưng cũng hên xui, tùy vào nhà cung cấp bạn chọn lựa.

Mở cổng port 80: để sử dụng http

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-all

Mở cổng port 443: để sử dụng https (sử dụng ssl)

firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-all

Cài đặt MariaDB 10.4

MariaDB luôn có hiệu năng tốt hơn MYSQL (8%), bây giờ đã có bản MariaDB 10.5 nhưng mình vẫn yêu thích bản 10.4.

echo '[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.4/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1' > /etc/yum.repos.d/MariaDB.repo
yum clean all
yum update -y
yum install MariaDB-server MariaDB-client -y
systemctl start mariadb.service
systemctl enable mariadb.service

Như vậy là bạn đã cài xong MariaDB 10.4 tuy nhiên mình cần phải thiết lập mật khẩu để nâng cao bảo mật của webhost nữa nhé.

mysql_secure_installation

Ở hiển thị đầu tiên bạn nhấn Enter và thực hiện điền theo tương tự bên dưới.

[root@template ~]# mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
haven't set the root password yet, you should just press enter here.

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.

You already have your root account protected, so you can safely answer 'n'.

Switch to unix_socket authentication [Y/n] y
Enabled successfully!
Reloading privilege tables..
 ... Success!


You already have your root account protected, so you can safely answer 'n'.

Change the root password? [Y/n] y
New password:   Nhập mật khẩu
Re-enter new password:   Nhập lại mật khẩu
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB 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? [Y/n] 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? [Y/n] n
 ... skipping.

By default, MariaDB 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? [Y/n] 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? [Y/n] y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!
[root@template ~]#

Chú thích:

Switch to unix_socket authentication: xác thực bằng unix_socket, chọn Y để bật, n để tắt.
Enter current password for root (enter for none): nếu đã từng đặt mật khẩu thì bạn nhập mật khẩu hiện tại đang sử dụng, nếu là lần đầu tiên thì bạn Enter để tới bước tiếp theo.
Remove anonymous users: Xóa tài khoản vô danh, Bạn Y (Yes).
Disallow root login remotely: Tắt truy cập từ xa. Tùy bạn lựa chọn.
Remove test database and access to it: Xóa database có tên là “test”. Nó chỉ dùng để test lúc ban đầu, bạn có thể xóa nó. Chon Y (Yes)
Reload privilege tables now:reload lại các bảng liên quan đến quyền hạn.

Bây giờ bạn khởi động lại dịch vụ MariaDB với lệnh sau nữa là hoàn tất.

systemctl restart mariadb.service

Cấu hình OpenLiteSpeed trong WebAdmin GUI

Bước này rất quan trọng ảnh hướng rất nhiều đến hiệu năng website và webhost của bạn.

Bước 1: Truy cập WebAdmin: http://dia_chi_ip_cua_ban:7080/ rồi điền user và mật khẩu bước 4 trên mới thiết lập nhé.

Mới đầu vì không có https bạn phải truy cập vào http thì nó báo bảo mật gì ấn thì bạn cứ ấn vào tiếp tục.

đăng nhập webadmingui
đăng nhập webadmingui 

Đi tới Server Configuration -> External App -> Add:

thiết lập webadmingui tạo lập LSPHP
thiết lập webadmingui tạo lập LSPHP
LSPHP thiết lập
LSPHP thiết lập chọn litespeed SAPI APP

Hãy chọn LSPHP thiết lập chọn litespeed SAPI APP để tối ưu php để đạt được hiệu năng tốt nhất.

LSPHP-thiết-lập-ấn vào xác nhận
LSPHP-thiết-lập-ấn vào xác nhận
LSPHP thiết lập tối ưu cấu hình
LSPHP thiết lập tối ưu cấu hình

Khá nhiều thông số nhưng bước này là bước quan trọng nhất nếu bạn cấu hình chuẩn sẽ cho một tốc độ đáng kinh ngạc.

Bạn có thể tham khảo theo thông số của mình đã tối ưu ( nếu bạn hiểu hãy tự điều chỉnh cho phù hợp với mình nhé):

Ví dụ thiết lập lSPHP
Ví dụ thiết lập lSPHP

Thông số thiết lập

Name: lsphp74
Address: uds://tmp/lshttpd/lsphp74.sock
Max Connections: 50
Environment:
PHP_LSAPI_CHILDREN=10
LSAPI_AVOID_FORK=200M
Initial Request Timeout (secs): 60
Retry Timeout : 0
Response Buffering: no
Start By Server: yes (Thorough CGI daemon)
Command: $SERVER_ROOT/lsphp74/bin/lsphp
Back Log: 100
Instances: 1
Memory Soft Limit (bytes): 2047M
Memory Hard Limit (bytes): 2047M
Process Soft Limit: 1400
Process Hard Limit: 1500

lưu thiết lập lsphp
lưu thiết lập lsphp

Đi tới Server Configuration -> Script Handler. Click nút Edit.

Kết nối lsphp
Kết nối lsphp
Kết nối openlitespeed lsphp7.4
Kết nối openlitespeed lsphp7.4 thiết lập như hình

Bạn thiết lập như hình rồi lưu lại.

Đổi cổng openlitespeed 8080 thành 80

openlitespeed để công mặc định là 8080 chúng ta cần phải sửa đổi chuyển thành cổng 80 để có thể chạy website được.

đổi-cổng-8080-thành-80-openlitespeed
đổi-cổng-8080-thành-80-openlitespeed
đổi cổng 8080 thành 80 openlitespeed 2
đổi cổng 8080 thành 80 openlitespeed 2
đổi cổng 8080 thành 80 openlitespeed đổi thành như thế này
đổi cổng 8080 thành 80 openlitespeed đổi thành như thế này

Rồi lưu lại.

lưu chuyển đổi cổng thành 80
lưu chuyển đổi cổng thành 80

Bây giờ chỉ gõ địa chỉ sau trên server lên trình duyệt: http://dia_chi_ip_cua_ban

kiểm tra openlitespeed-thanh-cong
Kiểm tra openlitespeed đã cài đặt thành công hay chưa
404 hiển thị thành công cài đặt xong openlitespeed
404 hiển thị thành công cài đặt xong openlitespeed

Nếu nó hiển thị 404 màu xanh xanh kiểu này là tức bạn đã cài đặt xong openlitespeed, làm đến bước này bạn vẫn chưa thiết lập xong hoàn toàn openlitespeed để có thể chạy được một website wordpress bạn cần phải thêm bước nữa.

Bài viết có tham khảo hướng dẫn từ wptangtoc.com và một số nguồn khác

Phần 2 : Hướng dẫn các thêm website vào openlitespeed

Bài viết được cập nhật vào June 11th, 2021 lúc 03:25 am

Leave a Comment

Your email address will not be published. Required fields are marked *