PHP Handler với suExec trên OpenLiteSpeed

PHP Handler có thể hiểu là giao thức giữa webserver – ở đây là OpenLiteSpeed với PHP Script.Mặc định OpenLiteSpeed sẽ chạy các script PHP với user là Nobody. Nhưng nếu bạn cần bảo mật hơn, hay đơn giản là quản lý việc sử dụng tài nguyên tốt hơn. Tình đó là lúc chuyển sang sử dụng suExec và PHP.

Nhưng việc đó đánh đổi với tốc độ và khả năng sử dụng Opcache nếu không cấu hình tốt.

Cài đặt vhost

Hướng dẫn cài đặt vhost tại đây:

Thêm Virtual Hosts trên OpenLiteSpeed

Tạo user trên linux và chown lại các thư mục

Tạo User

Bước tiếp theo để chạy thì các file php phải thuộc quyền của 1 user – người dùng nhất định nào đó, chứ không thể tự dùng một tên bất kì nào.

Để đơn giản, hãy chạy lệnh sau:

useradd [USER] -p -m -d [$VH_ROOT]

Nhớ thay $VH_ROOT Thành đường dẫn đến thư mục gốc của vhost (tạo ở bước trên, đọc cho kĩ bài nhé)

Ví dụ useradd dethoi -p -m -d /usr/local/lsws/dethoi

Nhập mật khẩu cho user (chú ý bảo mật tí) rồi enter

Chown thư mục

Sau khi tạo xong user, bây giờ đến bước chown các thư mục để chuẩn bị cho bước chuyển sang sử dụng suExec

chown -R [user]:[user] $VH_ROOT

chown lsadm:lsadm $VH_ROOT/conf

Ví dụ:

chown -R dethoi:dethoi /usr/local/lsws/dethoi

chown lsadm:lsadm /usr/local/lsws/dethoi/conf

Điều chỉnh lại PHP và vhost hoạt động với suExec

Truy cập Virtual Host > External App > Edit

Ta cần điều chỉnh lại suEXEC User/Group là chủ yếu:

suEXEC User: Nhập vào user đã tạo ở trên, ở đây mình là dethoi
suEXEC User: Nhập vào group đã tạo ở trên, ở đây cũng là dethoi

Run On Start Up: Tự động khởi chạy, Có thể chọn YES hoặc là dùng suEXEC Daemon nếu cần sử dụng Opcache. Với tùy chọn này sẽ luôn giữ Process PHP chạy liên tục (cần thiết cho việc giữ OPCACHE hoạt động)

Max Idle Time: Tự tắt sau khi không hoạt động một khoảng thời gian nào đó. Nếu đặt -1 nó sẽ không tự tắt.

Trở lại với  Virtual Host > Basic > Security

Đổi ExtApp Set UID Mode thành DocRoot UID

Lưu lại và thực hiện Graceful Restart OpenLiteSpeed

Kiểm Tra

Đơn giản nhất để kiểm tra là hãy truy cập vào trang web của bạn, xem nó hoạt động không và dùng một trong những lệnh sau để tìm:

ps -u [user]

ps -ef | grep <user>

hay đơn giản là dùng top

top -U [user]

Nếu thấy báo user đang thực thi lsphp thì có nghĩa đã thành công rồi.

Add Comment