Cài đặt OpenLiteSpeed tại Amazon EC2

Xin chào! Hôm nay mình sẽ bắt đầu kể về quá trình di dời trang web của mình sang dịch vụ Elastic Computing Cloud (EC2) thuộc Amazon Web Services.

Mình xác định sẽ sử dụng một phần mềm server nhẹ và nhanh nhất có thể tại đó. Trước đây mình từng cài đặt Apache và NGINX, mình thấy được một số ưu điểm và nhược điểm của chúng:

  • Apache: Rất linh hoạt trong việc sử dụng module, thiết lập quyền truy cập và viết lại (rewrite) đường dẫn theo từng cấp thư mục. Đối với những người đã quen với hosting chia sẻ (shared hosting), file .htaccess là một thứ vô cùng quen thuộc và đó là một file thiết lập của Apache áp dụng ở thư mục trong website. Tuy nhiên, Apache phục vụ nội dung tĩnh chậm. Có thể giải quyết nhược điểm này bằng cách tắt (ngừng kích hoạt) bớt module không sử dụng đến, nhưng cách đó không triệt để.
  • NGINX: Chỉ ở các bản mới đây (từ 1.9.11 trở đi), NGINX mới có thể kích hoạt module một cách linh hoạt giống Apache. Nó tỏ ra kém linh hoạt hơn Apache trong việc thiết lập quyền truy cập và viết lại đường dẫn, tất cả thiết lập đó đều phải được liên kết với file nginx.conf (cụ thể là liên kết qua dòng include), và chỉ được áp dụng sau khi khởi động lại NGINX. Bù lại, NGINX phục vụ nội dung tĩnh cực kì nhanh.
  • Cả hai đều có module đệm (cache) riêng, nhưng chưa có ai sử dụng các module đó cho việc lưu trữ tạm thời các kết quả xử lí của PHP hay các ngôn ngữ khác sử dụng trình thông dịch (Python, Ruby, JavaScript,…). May mắn là đối với PHP, người ta đã cung cấp một số gói mở rộng (extension) để ghi đệm các kết quả của nó như APC, OPcache, Memcached,… Hoặc, có một phần mềm cache độc lập tên là Varnish, cực kì tốt cho các server phục vụ nhiều nội dung thay đổi thường xuyên.

Nhưng trước mắt, mình mong muốn tìm được một phần mềm server chứa sẵn tất cả những ưu điểm của cả Apache và NGINX, hơn nữa lại có module cache hoạt động nhanh và linh hoạt như Varnish. Có một phần mềm server thực hiện được, đó là LiteSpeed. Nó được sử dụng ở một số dịch vụ hosting thay cho Apache. Nó có một phiên bản mã nguồn mở tên là OpenLiteSpeed, và mình mong đợi rất nhiều vào nó với khả năng mở rộng rất linh hoạt.

Trước khi mình đi vào chi tiết cài đặt, mình cần phải lưu ý rằng, khác với LiteSpeed trả phí, OpenLiteSpeed có mấy hạn chế sau:

  • Không hỗ trợ đầy đủ file .htaccess. Các file .htaccess phải được ghi đường dẫn đầy đủ trong câu lệnh rewriteFile ghi tại mục Contexts thuộc phần cài đặt virtual host. Chắc chắn các dòng RewriteCondRewriteRule trong các file .htaccess là có thể đọc được và chạy được, còn những dòng khác thì chưa chắc. Hơn nữa, sau khi cập nhật file .htaccess, người dùng phải khởi động lại OpenLiteSpeed. Điều này khá giống với NGINX. Chi tiết sẽ được đề cập trong một bài khác.
  • Không chứa sẵn module ModSecurity. Đó là một module tường lửa phổ biến cho Apache (và mới đây còn được phát triển cho NGINX). Bù lại OpenLiteSpeed có thể chống chịu DDoS tốt, lại xử lí rất nhanh, đặc biệt là khi bộ đệm riêng của nó được bật. Bộ đệm này hoạt động giống Varnish.

Bây giờ mình sẽ đi vào vấn đề chính của bài này, đó là việc cài đặt OpenLiteSpeed lên một máy chủ (instance) EC2. Việc này gồm mấy việc nhỏ hơn:

  1. Tạo máy chủ EC2 chạy hệ điều hành Ubuntu. Mình đã từng thử cài trên hệ điều hành Amazon Linux (vốn được phát triển từ CentOS) nhưng lỗi xuất hiện trong quá trình biên dịch. Trên trang chính thức của OpenLiteSpeed chỉ có hướng dẫn cài đặt cho CentOS và Debian/Ubuntu.
  2. Sử dụng PuTTY để kết nối và điều khiển instance mới qua cổng SSH.
  3. Cài đặt OpenLiteSpeed trên hệ điều hành Ubuntu.
  4. Cài đặt tài khoản dùng để đăng nhập vào trang admin của riêng OpenLiteSpeed.
  5. Cài đặt PHP cho OpenLiteSpeed. Lí do là OpenLiteSpeed sử dụng một bộ dịch PHP riêng, chạy nhanh hơn nhiều so với bộ dịch PHP trong các gói PHP thường và PHP-FPM.

Mình đi vào từng việc cụ thể nhé. Ở AWS, mình sử dụng giao diện tiếng Anh. Mình sẽ chỉ sử dụng hình vẽ đối với các bước có những thứ trùng lặp về tên/nhãn.

Việc 1: Tạo máy chủ EC2 chạy hệ điều hành Ubuntu

Bạn đăng nhập vào tài khoản AWS, mở dịch vụ EC2. Sau đó bạn mở menu chọn vùng như trong hình và chọn một vùng. Bạn chọn vùng nào, instance EC2 được tạo sau đây sẽ nằm ở vùng đó.

Chọn vùng tại Amazon Web Services

Ở danh mục bên trái, bạn ấn chọn mục nhỏ Instances. Nhìn sang bảng bên phải, có một nút Launch Instance màu xanh xuất hiện. Ấn vào nút đó để bước vào quá trình tạo instance.

Ấn mở mục Instances, rồi ấn nút Launch Instance.

Bắt đầu từ đây, bạn cần để ý kĩ nhãn Free tier eligible, nghĩa là đạt điều kiện sử dụng miễn phí trong 12 tháng đầu sau khi tạo tài khoản AWS.

Màn hình sau đó sẽ được mở rộng ra, yêu cầu bạn chọn một ảnh đĩa (image) chứa sẵn hệ điều hành để áp dụng lên instance. Ở đây, bạn chọn ảnh đĩa chứa Ubuntu: Tìm dòng ghi tên Ubuntu Server, rồi ấn nút Select tại dòng đấy.

Tiếp theo là chọn một cấu hình. Bạn ấn chọn một cấu hình phù hợp, đọc kĩ số vCPU (nhân CPU ảo) và Memory (lượng bộ nhớ RAM, tính bằng gigabyte). Cột Instance Storage thì không cần quan tâm lắm, nó chỉ ghi số liệu chi tiết ở mấy cấu hình lớn, có giá chạy cao. Sau đó ấn Next: Configure Instance Details.

Đến đây, bạn chỉ cần chú ý dòng Number of instances (số lượng instance) được ghi là 1. Các mục khác không cần quan tâm lúc này. Ấn Next: Add Storage để tạo ổ đĩa.

Ở phần tạo ổ đĩa, có ba phần bạn điều chỉnh được: Size (kích thước, tính bằng gigabyte), Volume Type (loại ổ đĩa), Delete on Termination (loại bổ ổ đĩa khi instance tương ứng được xoá/terminate).

Đối với Free tier của AWS, bạn được miễn phí đến 30GB ổ đĩa SSD thường (General Purpose) hoặc ổ đĩa cứng (ổ đĩa từ tính, magnetic). Loại ổ đĩa SSD Provisioned IOPS là ổ đĩa luôn được cố định một tốc độ đọc/ghi theo đơn vị IOPS (số lần ghi/đọc trong một giây).

Sau khi điều chỉnh thông số ổ đĩa, ấn Next: Add Tags để đặt tên cho instance.

Đến đây, thực chất là bạn đi tạo thẻ (tag) cho instance để dễ tìm kiếm về sau. Bạn tiến hành gán thẻ tên (Name tag) cho instance: Ấn click to add a Name tag để tạo thẻ đó, sau đó gõ tên vào ô Value. Ấn Next: Configure Security Group để tạo security group (“nhóm an ninh”), cũng là nơi mở port (cổng) cho instance sắp tạo.

Gợi ý: Hãy đọc bài viết bổ trợ này để biết security group là gì và cách cài đặt ra sao. Phần Configure Security Group này cho phép bạn tạo các luật mở cổng inbound để bạn kết nối được đến máy ảo.

Bạn sẽ thấy, trong danh sách luật mở cổng tại bước này, đã có sẵn một luật mở cổng SSH (với số thứ tự cổng là 22) cho mọi địa chỉ IPv4 kết nối đến nó. Hãy thay đổi luật đó nếu bạn muốn giới hạn lại, chỉ cho một mình máy bạn có thể kết nối được qua cổng đó trên máy ảo.

Ấn nút Review and Launch để xem lại các thiết lập. Thấy ổn rồi thì ấn nút Launch thôi.

AWS sẽ hỏi về cặp khoá (key pair), được sử dụng khi bạn tạo kết nối SSH đến máy ảo. Trong cặp khoá này có khoá công khai (public key) và khoá cá nhân (private key), AWS sẽ lưu khoá công khai, còn bạn thì phải giữ khoá cá nhân. Tại đây, bạn chọn Create a new key pair để tạo một cặp khoá mới, đặt tên cho cặp khoá, tải (download) khoá cá nhân về. Bạn sẽ nhận được một file .pem chứa khoá cá nhân dùng để kết nối SSH. Cuối cùng, ấn Launch Instances để AWS tạo máy ảo mới.

Việc 2: Sử dụng PuTTY để kết nối và điều khiển máy ảo qua giao diện dòng lệnh, qua cổng SSH

Chuẩn bị

  • Tải file putty.zip từ trang này vào máy. Giải nén để thấy các file thực thi.
  • Tạo file .ppk (phù hợp với PuTTY) từ file .pem bạn tải về. Bạn mở PuTTYgen (puttygen.exe) lên, nhìn vào mục Type of key to generate và chọn RSA hoặc SSH-2 RSA tại đó. Ấn Load, một bảng duyệt chọn file xuất hiện, bạn nhớ chọn All files (*.*) để hiển thị tất cả các file. Tìm chọn file .pem bạn đã tải về, rồi ấn Open. Cuối cùng, ấn Save private key để lưu khoá cá nhân vào file .ppk. Một hộp thoại xuất hiện, hỏi Bạn có lưu khoá này mà không kèm theo passphrase (mật khẩu) không? Bạn chọn Yes (có). Lưu lại file .ppk và đóng PuTTYgen.
  • Ghi lại địa chỉ IPv4 của instance: Bạn mở lại dịch vụ EC2 trên trình duyệt web, chọn mục Instances. Chọn instance bạn mới tạo và cần kết nối, xem trạng thái của nó tại Instance StateStatus Checks. Nếu Instance Staterunning (đang chạy), Status Checks2/2 checks passed thì instance của bạn đã sẵn sàng. Nhìn vào phần màn hình Description ở phía dưới. Địa chỉ IPv4 hiện tại của instance được ghi tại dòng IPv4 Public IP.

Giờ bạn có PuTTY và file .ppk chứa khoá cá nhân. Bạn hãy mở PuTTY (putty.exe) lên. Cửa sổ PuTTY Configuration xuất hiện như hình dưới. Chú ý mục Session đang được chọn trong ô Category như hình sau. Nhìn vào phần trên của mục này.

Kết nối SSH bằng PuTTY. Phần trên của mục Session

Ở ô Host Name, bạn điền như thế này: ubuntu@IPv4
Trong đó, IPv4 bạn thay bằng địa chỉ IPv4 mà bạn ghi lại được lúc chuẩn bị.

Tại ô Port, bạn để nguyên số thứ tự là 22 (chính là cổng SSH đã được đề cập ở việc 1). Ở Connection type (loại kết nối), bạn để nguyên là SSH.

Tiếp theo, trong ô Category, mở mục SSH, chọn mục nhỏ Auth như hình sau.

Kết nối SSH bằng PuTTY. Phần SSH-Auth

Tại dòng Private key file for authentication, bạn ấn nút Browse để tìm chọn đúng file .ppk bạn đã chuẩn bị.

Để khỏi phải làm lại các bước trên trong mỗi lần kết nối SSH, bạn quay lại mục Session, nhập tên tuỳ ý cho thiết lập đã tạo vào ô Saved Sessions rồi ấn Save. Tên thiết lập sẽ xuất hiện trong danh sách ở dưới. Lần tới kết nối SSH tới máy ảo, bạn chỉ cần chọn tên thiết lập trong danh sách đó rồi ấn nút Load.

Kết nối SSH bằng PuTTY. Lưu session

Ấn nút Open để thực hiện kết nối đến máy ảo qua cổng SSH (22).

Việc 3: Cài đặt OpenLiteSpeed

Chú ý

  • Việc này yêu cầu bạn sử dụng giao diện dòng lệnh (terminal) của Linux. Bạn cần nắm được ý nghĩa các câu lệnh được viết ở đây. Chúng đều là các lệnh sử dụng trong Ubuntu.
  • Phiên bản Ubuntu Server được sử dụng ở đây là 16.04 LTS (Long Term Support, hỗ trợ dài hạn). Đối với phiên bản khác, lệnh thực hiện có thể khác.
  • Để tránh lạc lối (không biết được bản thân đang ở thư mục nào trong hệ thống), hãy gõ lệnh pwd. Bạn sẽ nhận được đường dẫn đầy đủ (tuyệt đối) đến thư mục hiện thời. Ngoài ra, để xem danh sách thư mục và file bên trong thư mục hiện tại, bạn sử dụng lệnh ls.
    Thậm chí bạn có thể mở rộng lệnh đó thành ls -l để xem user nào và group nào đang sở hữu từng thứ một, quyền được áp dụng cho từng thứ một, thậm chí là dò được đích đến của symlink (symbolic link, tương tự shortcut trong Windows).

Khi bạn sử dụng PuTTY để kết nối đến máy ảo qua cổng SSH, nếu bạn thấy bên trong cửa sổ hiện ra tương tự dưới đây, thì bạn đã sẵn sàng làm việc rồi đó.

Using username "ubuntu".
Authenticating with public key "imported-openssh-key"
Welcome to Ubuntu 16.04.3 LTS (GNU/Linux 4.4.0-1039-aws x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
Get cloud support with Ubuntu Advantage Cloud Guest:
http://www.ubuntu.com/business/services/cloud

Như một thói quen, hãy đọc hai dòng tiếng Anh sau đoạn đó. Chúng thông báo số package (gói) đã cài vào máy ảo mà có cập nhật mới.

  • Đây là dòng thông báo số gói có cập nhật:
    # packages can be updated.

    Trong đó dấu # là con số cụ thể.

  • Còn đây là dòng thông báo số cập nhật về an ninh và bảo mật:
    # updates are security updates.

Bạn gõ và thực thi lần lượt hai lệnh sau để lên danh sách các gói có cập nhật, và tiến hành cài cập nhật cho chúng.

sudo apt-get update
sudo apt-get upgrade

Đôi khi có một số cập nhật áp dụng cho chính hệ điều hành Ubuntu, lệnh thứ hai không thể cập nhật được. Lúc này bạn chạy lệnh sau để cài đặt các cập nhật đó.

sudo apt-get dist-upgrade

Có thể sau quá trình cập nhật, có thông báo bằng tiếng Anh về một số gói bị thừa, không sử dụng đến. Khi ấy bạn chạy lệnh sau để tự động gỡ bỏ chúng.

sudo apt-get autoremove

Giờ đến phần việc chính. Vì OpenLiteSpeed không có sẵn trong danh sách repository ban đầu của Ubuntu nên bạn cần bổ sung repository của OpenLiteSpeed vào. Và đây là đoạn lệnh để làm việc đó.

sudo su
wget -O - http://rpms.litespeedtech.com/debian/enable_lst_debain_repo.sh | bash
exit

Cụ thể ở đoạn lệnh trên:

  • Lệnh đầu tiên cho phép bạn lấy tạm thời quyền của root để chạy câu lệnh tiếp theo, khi đó bạn sẽ thấy user hiện thời đang từ ubuntu (lúc mới đăng nhập) chuyển thành root.
  • Câu lệnh thứ hai được nối ghép từ hai lệnh sử dụng wget (tải file từ bên ngoài) và bash (thực thi file kịch bản), trong đó kết quả (nội dung file) mà wget lấy được sẽ được truyền cho bash để thực thi các lệnh bên trong.
  • Lệnh cuối cùng là để thoát khỏi quyền của root, chỉ khi bạn gõ lệnh đó lần thứ hai thì bạn mới thật sự thoát khỏi server.

Sau đó bạn tiến hành cài đặt OpenLiteSpeed như một gói bình thường.

sudo apt-get install openlitespeed

Tới đây bạn cần đợi để máy ảo cài xong OpenLiteSpeed. Đến khi bạn nhìn thấy hai dòng tương tự như sau thì bạn đã cài đặt thành công:

[OK] The startup script has been successfully installed!
[OK] LiteSpeed: pid=#.

Dòng thứ nhất thông báo OpenLiteSpeed đã được thiết lập chạy tự động (autorun) vào mỗi lần Ubuntu khởi động. Dòng dưới ghi mã số tiến trình (process ID) của OpenLiteSpeed. Mã số đó chính là được thay thế cho dấu # mà mình viết ở trên.

Tuy nhiên, bạn nên kiểm tra lại trạng thái của OpenLiteSpeed, để xem nó đang chạy chưa. Lệnh đây:

sudo /etc/init.d/lsws status

Sau quá trình cài đặt ở trên thì mỗi khi được chạy, OpenLiteSpeed sẽ sử dụng hai cổng:

  • Cổng 7080: Dành cho trang admin riêng, truy cập được bằng trình duyệt web và có giao diện đồ hoạ. Bạn sẽ thực hiện hầu hết các thao tác thiết lập OpenLiteSpeed tại trang đó.
  • Cổng 8088: Dùng để kiểm tra khả năng phục vụ nội dung tĩnh của OpenLiteSpeed. Tại đây chứa trang mẫu cho thấy bạn đã cài đặt thành công OpenLiteSpeed, kèm theo một số thứ thú vị khác liên quan.

Rất đơn giản, hãy đọc bài viết này để biết cách mở hai cổng trên, rồi thực hiện mở chúng.

Sau đó là thử cổng 7080. Gõ nội dung sau vào ô địa chỉ của trình duyệt web:

IPv4:7080

Trong đó, bạn thay IPv4 bằng địa chỉ IPv4 của máy ảo. Trình duyệt web sẽ tự chuyển địa chỉ sang HTTPS, rồi đưa ra thông báo rằng kết nối HTTPS này có thể không an toàn do chứng chỉ SSL không hợp lệ. Bạn có thể bỏ qua thông báo đó. Phần đăng nhập vào trang admin của OpenLiteSpeed sẽ xuất hiện.

Phần đăng nhập vào trang admin của OpenLiteSpeed

Bạn thử cổng 8088 một cách tương tự. Có điều là trình duyệt sẽ giữ nguyên kết nối HTTP thường, để cho bạn xem trang tĩnh mẫu.

Việc 4: Cài đặt tài khoản đăng nhập vào trang admin của OpenLiteSpeed

Quay trở lại PuTTY, bạn chạy lệnh sau để cài đặt tài khoản.

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

Sau đó, bạn nhập username, rồi nhập mật khẩu mới, nhập lại mật khẩu đó lần nữa. Và thế là xong.

Lưu ý:

  • Lúc nhập mật khẩu, bạn không thể nhìn thấy phần bạn đã nhập vào, trong cửa sổ cũng không có động tĩnh gì cho đến khi bạn ấn Enter.
  • Nếu có một lí do nào đó bạn không còn đăng nhập được nữa, bạn cũng sẽ phải dùng lệnh trên để cài đặt lại tài khoản.

Bạn có thể sử dụng luôn tài khoản mới để thực hiện đăng nhập tại trang đăng nhập của OpenLiteSpeed. Khi đăng nhập thành công, bạn sẽ nhìn thấy giao diện thiết lập của OpenLiteSpeed rất chi là chuyên nghiệp như sau:

Trang admin của OpenLiteSpeed

Việc 5: Cài đặt PHP cho OpenLiteSpeed

LiteSpeed (cũng như OpenLiteSpeed) sử dụng một bộ thông dịch PHP riêng, tên là LSPHP (LiteSpeed PHP). Nó hoàn toàn tương thích với các lệnh của PHP y như các gói PHP thường và PHP-FPM, nhưng hoạt động nhanh hơn nhiều.

Sau khi cài xong OpenLiteSpeed như ở việc 3, nó đã cài sẵn LSPHP 7.0 tương ứng với PHP 7.0. Bạn chỉ cần thực hiện việc 5 này nếu bạn muốn sử dụng phiên bản PHP khác. Ví dụ, bạn cần cài đặt PHP 7.1 cùng với một số gói mở rộng liên quan.

Cách thực hiện việc 5 này khá đơn giản. Bạn quay trở lại cửa sổ dòng lệnh của PuTTY, rồi chạy lệnh sau để cài đặt PHP 7.1 kèm theo một số gói mở rộng:

sudo apt-get install lsphp71 lsphp71-common lsphp71-mysql lsphp71-curl lsphp71-dbg

Giới thiệu các gói được cài đặt bởi lệnh trên:

  • lsphp71: Phần chính của PHP 7.1.
  • lsphp71-common: Một số file chung được sử dụng bởi các chương trình dựa trên PHP 7.1.
  • lsphp71-mysql: Phần mở rộng của PHP 7.1 giao tiếp với MySQL.
  • lsphp71-curl: CURL dành cho PHP 7.1, gồm các hàm curl.
  • lsphp71-dbg: Phần mở rộng sửa lỗi cho PHP 7.1.

Nếu cấu hình máy ảo bạn chọn có RAM dư dả (tầm 1GB chẳng hạn hoặc nhiều hơn), thì bạn có thể xem xét cài thêm OPcache cho PHP. Đây là lệnh để cài bổ sung gói mở rộng OPcache này:

sudo apt-get install lsphp71-opcache

Gói trên sau khi được cài xong là chạy luôn, thậm chí còn chạy tốt với phiên bản PHP tương ứng. Hiếm khi nào bạn phải tinh chỉnh lại nó.

Ở đây là bạn cài PHP 7.1, tương ứng với số 71 trong tên các gói trên. Nếu bạn cài PHP 5.6 chẳng hạn, thì bạn đổi phần số này thành 56. Bạn thay thế tương tự đối với các bước sau.

Chuyển sang trình duyệt đang mở trang admin của OpenLiteSpeed, bạn mở mục Server Configuration trong bảng bên trái. Nhìn sang bên phải, bạn tìm ấn tab External App. Sau đó ấn nút Add để bổ sung phiên bản PHP.

Trang admin của OpenLiteSpeed. Bổ sung phiên bản PHP. Nguồn: HowToForge

Sau đó, ở dòng Type, bạn chọn là LiteSpeed SAPI App. Ấn nút Next để chuyển sang phần tiếp theo.

Trang admin của OpenLiteSpeed. Chọn SAPI. Nguồn: HowToForge

Đây là phần bạn được chuyển đến.

Trang admin của OpenLiteSpeed. Điều chỉnh LSPHP. Nguồn: HowToForge

Tìm các dòng này và điều chỉnh (điền) như sau:

  • Name (Tên): lsphp71
  • Address (Địa chỉ socket): uds://tmp/lshttpd/lsphp.sock
  • Max Connections: 35
  • Initial Request Timeout (secs): 60
  • Retry Timeout (secs): 0
  • Command (lệnh chạy PHP): $SERVER_ROOT/lsphp71/bin/lsphp
Biến $SERVER_ROOT chứa đường dẫn tuyệt đối của OpenLiteSpeed trong máy ảo. Bạn sẽ nhìn thấy nó rất nhiều trong quá trình thiết lập OpenLiteSpeed sau này. Nó nhằm hạn chế rất nhiều việc viết đi viết lại nguyên đường dẫn tuyệt đối, và cũng để phòng trường hợp OpenLiteSpeed được cài đặt lại ở một thư mục khác.

Sau đó bạn ấn nút Save như được chỉ ở hình trên để lưu lại thiết lập tại tab External App.

Tiếp theo, bạn ấn vào tab Script Handler, tìm đến dòng của PHP đã có tại đấy, rồi ấn nút Edit (Sửa) trên dòng đó.

Trang admin của OpenLiteSpeed. Tab Script Handler. Nguồn: HowToForge

Đến đây, bạn sửa dòng Handler Name thành lsphp71 (chính là tên đã điền ở tab External App). Ấn nút Save để lưu lại.

Trang admin của OpenLiteSpeed. Tab Script Handler, chọn lsphp71. Nguồn: HowToForge

Xong rồi! Tuy nhiên…

Mọi thay đổi thiết lập trên trang admin của OpenLiteSpeed chưa được áp dụng ngay, cho đến khi bạn khởi động lại OpenLiteSpeed. Nút khởi động lại có màu xanh lá cây, nằm ngay bên cạnh phần LSWS PID ghi process ID hiện thời của OpenLiteSpeed. Ấn nút đó, bạn sẽ được hỏi: “Bạn có chắc chắn muốn khởi động lại LiteSpeed không?” Ấn Go để khởi động lại OpenLiteSpeed.

Sau khi khởi động lại, bạn được đưa trở lại đúng trang thiết lập hiện thời.

Xong xuôi!

Đến đây, bạn đã cài đặt hoàn thiện OpenLiteSpeed cùng với phiên bản PHP bạn muốn. Đây là các việc nên làm để bảo đảm an toàn cho máy ảo sau mỗi lần thiết lập OpenLiteSpeed:

  • Thoát khỏi trang admin của OpenLiteSpeed: Bạn nhìn lên góc trên bên phải trang, có một nút đăng xuất (sign out), là nút thứ hai tính từ phải sang. (Nút bên phải nhất là ẩn hiện bảng chọn bên trái.) Bạn ấn nút đăng xuất đó, rồi ấn Yes để thoát khỏi trang.
  • Đóng cổng 7080. Xem cách đóng cổng tại cuối bài viết này.

Còn nữa, bạn cũng nên đóng cổng 8088 lại. Biết đâu sau này bạn sẽ không còn dùng đến cổng đó nữa? Trừ khi bạn muốn nhìn thấy lại cái trang mẫu để xem OpenLiteSpeed còn sống không…

Ngoài ra, khi bạn không còn gì phải điều chỉnh qua giao diện dòng lệnh của PuTTY nữa, bạn gõ lệnh sau rồi ấn phím Enter để thoát một cách êm đẹp.

exit

Rồi sau đó, bạn đóng nốt cổng SSH (cổng 22). Đến dịp khác bạn cần điều chỉnh lại qua SSH, thì bạn mở lại cổng 22 sau.


Tiếp theo, mời các bạn đọc tiếp cách tạo virtual host và listener trên phần mềm OpenLiteSpeed rất thú vị này.

Mọi người hãy chia sẻ bài này nhiệt tình vào, càng nhiều càng tốt, để mình có thêm động lực viết nhiều hơn nha. Cảm ơn các bạn rất nhiều!

Bài viết này có 4 bình luận

  1. Chào bạn,

    Mình làm theo các bước của bạn đến bước add repo của litespeed thì báo lỗi permission denied của lst_debian_repo.list và lỗi permission denied từ đó trở đi. Mình search trên google mà chưa thấy cách nào khả dụng để giải quyết. Bạn có biết cách nào giải quyết không nhỉ ?

    Thank you!

    1. Đây là thiếu sót của mình trong quá trình soạn bài. Trước khi tiến hành bổ sung repository, thì bạn cần sử dụng lệnh sau để lấy tạm quyền của root mà chạy lệnh thêm repository:

      sudo su

      Bạn sẽ thấy tên user hiện thời thay đổi sang root. Lúc này bạn chạy lệnh thêm repository mới được.

      Sau đó, bạn gõ lệnh exit để thoát quyền root.

  2. Máy chủ tại đây bn 1 tháng thế ạ

    1. Máy ảo EC2 của AWS luôn được tính giá chạy theo giờ. Cấu hình càng mạnh thì giá chạy càng đắt. Và giá chạy cũng khác nhau giữa các vùng đặt máy. Nếu bạn quan tâm đến chi phí hằng tháng, thì bạn có thể tham khảo các trang sau để tính toán:

      Nếu bạn cảm thấy cách tính ở EC2 phức tạp, thì bạn có thể sử dụng dịch vụ Amazon Lightsail, cũng cung cấp VPS nhưng có sẵn giới hạn cấu hình và giá chạy theo từng tháng (tương tự rất nhiều nơi cung cấp VPS khác).

Trả lời