Chào mừng các bạn!
Vậy là các bạn đã vượt qua tất cả các hướng dẫn cài đặt ở những phần trước bao gồm tạo dựng các thành phần OpenLiteSpeed, PHP, MySQL, SSL KEY,...
cho máy chủ. Ở bài cuối cùng này trong Serie mình sẽ hướng dẫn các bạn cấu hình sử dụng thực tế các thành phần trên kết hợp lại với nhau để có một mô hình hoàn hảo chạy được website cho bạn.
Cấu hình OpenLiteSpeed chạy HTTP port 80:
Đầu tiên là port 80 của OpenLiteSpeed, giả sử mình cần add domain tên your-domain.gq
chạy HTTP ở port là 80
domain='your-domain.gq' ip='0.0.0.0' port='80'
Bạn chú ý thay thế port hoặc tên domain thích hợp của bạn vào để có hệ thống như ý với bạn nhất.
Sau đó bạn tạo thư mục để chứa Website your-domain.gq
của bạn. Gồm các vị trí:
useradd your-domain.gq echo 'your-domain.gq:123456' | chpasswd mkdir -p /home/your-domain.gq/public_html mkdir -p /home/your-domain.gq/tmp mkdir -p /home/your-domain.gq/cgi-bin mkdir -p /home/your-domain.gq/ssl
Trong đó:
123456
là mật khẩu user your-domain.gq
có thể dùng để login SSH hoặc SFTP
public_html
là nơi chứa source web (chút sẽ tải source PHP của web lên đây).
tmp
là nơi chứa file tạm của Website khi cần ghi file tạm
ssl
là nơi chứa các chứng chỉ SSL khi cần
Bạn phân quyền lại các thư mục này cho hợp lý:
chown -R your-domain.gq:your-domain.gq /home/your-domain.gq chmod -R 751 /home/your-domain.gq chmod -R 771 /home/your-domain.gq/tmp chmod -R 700 /home/your-domain.gq/ssl
Vậy là xong vấn đề nơi chứa Website. Tiếp theo ta khai báo với OpenLiteSpeed về những vị trí trên và tên domain mong muốn OpenLiteSpeed lắng nghe:
domain='your-domain.gq' ip='0.0.0.0' port='80'
Bạn login vào https://ip-server:7080 admin password 123456
, mọi việc add cấu hình OpenLiteSpeed bạn sẽ được làm thông qua giao diện WEB GUI:
Cách Add Web vào OpenLiteSpeed chỉ có một số bước đơn giản như sau:
1. Chính là nói với OpenLiteSpeed nó sẽ chạy ở port nào.
Vào Tab Configuration > Listeners thấy Listener Name Default
đã add sẳn chạy port 8088 cho giao thức HTTP. Nơi đây chính là chổ chúng ta cấu hình OpenLiteSpeed lại để nó lắng nghe ở port 80, bạn cứ nhấn Add để thêm những port bạn muốn (chút mình sẽ add thêm port 443 cho chạy HTTPS tại đây)
2. Chính là nói với OpenLiteSpeed tại port đã khai báo ở trên có những domain nào chạy trong port đó, nó gọi là Virtual Hosts chứa mẫu cấu hình cho trang web như kiểu file your-domain.gq.conf
bạn hay tạo cho nginx, apache...
. Vào Tab Configuration > Virtual Hosts Hiện tại mặc định OpenLiteSpeed tạo sẳn 1 Virtual Hosts như thế tên là Example
, chạy trong port Default
.
3. Nhưng tạo Virtual Hosts chổ nào và biết mẫu cấu hình Virtual Hosts đó như thế nào cho đúng, rất tiện là chúng ta không cần tìm hiểu điều ấy, OpenLiteSpeed tạo sẳn 3 mẫu và để trong phần Tab Configuration > VHost Templates.
Vào đây do chúng ta triển khai web chạy PHP cho nên sẽ nhấn vào mẫu PHP_SuEXEC > tại phần Member Virtual Hosts > Add thêm 1 Web trong mẫu này ý nói web này chạy theo mẫu PHP (giả định web domain là your-domain.gq và thư mục Virtual Host Root nó là /home/your-domain.gq
bạn chú ý phân biệt với /home/your-domain.gq/public_html
là thư mục chứa web Document Root)
4. Sau khi add xong trang web, chúng ta sẽ chỉnh sửa một chút cái mẫu của trang your-domain.gq này. vào phần Virtual Host > your-domain.gq > External App > Edit cái phần này để nói với your-domain.gq sử dụng đúng cái LSAPI App tại vị trí /usr/bin/lsphp
.
Chúng ta sửa phần Command dẫn đúng về vị trí lsphp là /usr/bin/lsphp
và sửa lại thông số Memory Limit và Process Limit sau đó save lại.
Tiện thể chổ này ta sửa luôn phần index giúp OpenLiteSpeed tự nhận diện index.php Virtual Host > your-domain.gq > General > Index Files > Edit:
5. Có điều dù đã tạo Virtual Hosts your-domain.gq và sửa nó đúng rồi nhưng phần Listener > Default có thể vẫn chưa chấp nhận Virtual Hosts ấy, nếu thế bạn phải add thêm vào như hình sau là được:
Sau khi hoàn tất chúng ta có thể restart lại OpenLiteSpeed bằng cách nhấn vào Gracefully restart như hình, thấy OpenLiteSpeed công nhận Web đã được Add như ảnh bên trên là được.
Bây giờ thì Web Server đã tương đối hoàn thành, bạn đã có thể tải một số file php lên để test mà mình đã soạn sẳn cho bạn, bây giờ bạn chỉ cần get chúng về dùng để kiếm tra:
wget http://1.voduy.com/c/www/index1.html.txt -O /home/your-domain.gq/public_html/index.html wget http://1.voduy.com/c/www/info.php.txt -O /home/your-domain.gq/public_html/info.php wget http://1.voduy.com/c/www/who.php.txt -O /home/your-domain.gq/public_html/who.php chown -R your-domain.gq:your-domain.gq /home/your-domain.gq/public_html/ chmod -R 755 /home/your-domain.gq/public_html/
Kiểm tra các file đó bằng cách vào link:
http://your-domain.gq:80
http://your-domain.gq/info.php
http://your-domain.gq/who.php
Sẽ thấy:
+Web Server auto nhận file index.
+PHP Server thông tin thể hiện qua file info.php
(Chạy công nghệ Server API là LiteSpeed V6.10 LSAPI)
+Tiến trình PHP được chạy dưới user tên gì thể hiện qua file who.php
Nếu bạn không vào được các link trên rất có thể do tường lửa hãy kiểm tra lại nhé!
Cấu hình OpenLiteSpeed chạy HTTPS port 443:
Như đã nói lúc nãy, ta phải vào phần Listeners lại để khai báo việc lắng nghe port 443 cho OpenLiteSpeed:
Nhấn Add và thêm vào thông tin như sau: (lắng nghe port 443 và Secure Yes)
Sửa DefaultSSL Port mới tạo và thêm vào file SSL Key mặc định cho nó như hình. Với: /etc/letsencrypt/live/your-domain.gq/privkey.pem; /etc/letsencrypt/live/your-domain.gq/fullchain.pem
là 2 file xin được trong bài trước bởi Let’s Encrypt.
Chúng ta mới chỉ thêm SSL KEY là mặc định cho port 443 thôi, còn cụ thể từng Virtual Host bạn phải add KEY SSL vào cho nó nữa:
Quay lại Listeners port SSL 443 của chúng ta, chúng ta kiểm tra xem Virtual Host your-domain.gq đã được add vào port đó cho nó lắng nghe chưa, nếu chưa thì chúng ta phải thêm vào: (cũng như làm với port 80 ở trên thôi)
Sau khi hoàn thành ta cũng tiếp tục Restart OpenLiteSpeed với tùy chọn Gracefully restart
Vậy là xong, ta sẽ kiểm tra với phần HTTPS, kiểm tra link sau thấy SSL trên trình duyệt xanh:
https://your-domain.gq:443/info.php
Nếu không xanh là máy chủ bạn hoặc do đang dùng chứng chỉ tự chứng hoặc có vấn đề về chứng thực chính xác domain. Ví dụ bạn xin Let’s Encrypt chứng cho domain A.com nhưng lại add vào site B.com thì không được hoặc là chứng chỉ đã quá hạn 90 ngày.
Về phần cấu hình chức năng sao cho khi gõ https://your-domain.gq/phpmyadmin vào được trang phpMyAdmin mà quản lý MariaDB MySQL Server. Bạn có thể dùng chức năng Context trong Virtual Host > your-domain.gq chọn loại Type > Static, Static Context Definition ta cho quy định URI là /phpmyadmin
Location là vị trí chứa PhpMyAdmin /usr/share/phpMyAdmin
Quy định cứ hễ URL là /phpmyadmin
thì trỏ xử lý đến thư mục /usr/share/phpMyAdmin
và tự nhận diện file index.php
trong thư mục phpMyAdmin
ấy
Vậy là xong phần kiểm tra sơ bộ khối mô hình LOMP đã thành lập. Tiếp theo mình sẽ thử chạy một code PHP nào đó trên mô hình này xem nó có chạy được hay không. (Bạn nhớ xóa đi các file test trên nhé)
Cấu hình Web chạy:
Trong phần cấu hình một website chạy thực tế trên mô hình LOMP này mình sẽ sử dụng WordPress gốc bản mới nhất hiện tại để testing hệ thống.
Upload Source Web:
Bạn có thể tải WordPress tại đây. Là một file .zip
bạn hãy tải về giải nén ra và sửa lại theo mong muốn của bạn. Mình thì chỉ cần thay đổi thư mục cho Source này, mặc định WordPress giải nén ra toàn nằm trong thư mục wordpress nên mình sẽ tạo lại 1 file zip khác có source web nằm ngoài thư mục wordpress luôn.
Sau khi tạo xong file .zip
bạn có thể upload lên vị trí đường dẫn đã nói lúc nãy là
/home/your-domain.gq/public_html
. Bạn có thể upload qua SFTP có trên Bitvise hoặc nếu dùng Putty thì bạn cài FileZilla vào để có thể dùng SFTP mà upload file .zip
Nếu dùng FileZilla thì bạn vào với host là sftp://IP-Của-Máy-Chủ Port 22 (User Pass bạn đã đặt, của mình là your-domain.gq|123456
):
Upload vào đó sau đó giải nén bằng câu lệnh unzip
:
cd /home/your-domain.gq/public_html unzip *.zip
Kiểm tra lại sau giải nén:
[[email protected] public_html]$ ls -lah total 8.3M drwxr-xr-x 5 your-domain.gq your-domain.gq 4.0K Nov 18 09:45 . drwxr-x--x 6 your-domain.gq your-domain.gq 111 Nov 18 2016 .. -rwxr-xr-x 1 your-domain.gq your-domain.gq 400 Sep 13 10:24 index.html -rw-rw-r-- 1 your-domain.gq your-domain.gq 418 Sep 25 2013 index.php -rwxr-xr-x 1 your-domain.gq your-domain.gq 20 May 8 2014 info.php -rw-rw-r-- 1 your-domain.gq your-domain.gq 20K Mar 6 2016 license.txt -rw-rw-r-- 1 your-domain.gq your-domain.gq 7.2K Aug 17 03:39 readme.html -rwxr-xr-x 1 your-domain.gq your-domain.gq 144 May 17 2016 who.php -rw-r--r-- 1 your-domain.gq your-domain.gq 8.1M Nov 18 09:41 wordpress.zip -rw-rw-r-- 1 your-domain.gq your-domain.gq 5.4K May 25 04:02 wp-activate.php drwxrwxr-x 9 your-domain.gq your-domain.gq 4.0K Sep 7 21:58 wp-admin -rw-rw-r-- 1 your-domain.gq your-domain.gq 364 Dec 19 2015 wp-blog-header.php -rw-rw-r-- 1 your-domain.gq your-domain.gq 1.5K May 23 23:44 wp-comments-post.php -rw-rw-r-- 1 your-domain.gq your-domain.gq 2.8K Dec 16 2015 wp-config-sample.php drwxrwxr-x 4 your-domain.gq your-domain.gq 49 Sep 7 21:59 wp-content -rw-rw-r-- 1 your-domain.gq your-domain.gq 3.3K May 25 2015 wp-cron.php drwxrwxr-x 17 your-domain.gq your-domain.gq 8.0K Sep 7 21:59 wp-includes -rw-rw-r-- 1 your-domain.gq your-domain.gq 2.4K May 23 23:44 wp-links-opml.php -rw-rw-r-- 1 your-domain.gq your-domain.gq 3.3K Apr 15 2016 wp-load.php -rw-rw-r-- 1 your-domain.gq your-domain.gq 34K Jun 15 04:51 wp-login.php -rw-rw-r-- 1 your-domain.gq your-domain.gq 7.7K Jul 13 19:37 wp-mail.php -rw-rw-r-- 1 your-domain.gq your-domain.gq 14K Aug 13 23:02 wp-settings.php -rw-rw-r-- 1 your-domain.gq your-domain.gq 30K May 25 03:44 wp-signup.php -rw-rw-r-- 1 your-domain.gq your-domain.gq 4.0K Dec 1 2014 wp-trackback.php -rw-rw-r-- 1 your-domain.gq your-domain.gq 3.0K Jul 6 19:40 xmlrpc.php
Như phân quyền sỡ hữu bên trên thì đã đúng your-domain.gq your-domain.gq
tức là user sở hữu là your-domain.gq
group sở hữu là your-domain.gq
. Nếu ở đây bạn thấy user khác, ví dụ root chẳng hạn thì nó sai rồi. Bạn cần phân quyền lại bằng hai câu lệnh chown
và chmod
:
chmod -R 755 /home/your-domain.gq/public_html chown -R your-domain.gq:your-domain.gq /home/your-domain.gq/public_html
Kiểm tra lại quyền:
[[email protected] ~]# ls -lah /home/your-domain.gq/public_html total 8.3M drwxr-xr-x 5 your-domain.gq your-domain.gq 4.0K Nov 18 09:45 . drwxr-x--x 6 your-domain.gq your-domain.gq 131 Nov 18 09:50 .. -rwxr-xr-x 1 your-domain.gq your-domain.gq 400 Sep 13 10:24 index.html -rwxr-xr-x 1 your-domain.gq your-domain.gq 418 Sep 25 2013 index.php -rwxr-xr-x 1 your-domain.gq your-domain.gq 20 May 8 2014 info.php -rwxr-xr-x 1 your-domain.gq your-domain.gq 20K Mar 6 2016 license.txt -rwxr-xr-x 1 your-domain.gq your-domain.gq 7.2K Aug 17 03:39 readme.html -rwxr-xr-x 1 your-domain.gq your-domain.gq 144 May 17 2016 who.php -rwxr-xr-x 1 your-domain.gq your-domain.gq 8.1M Nov 18 09:41 wordpress.zip -rwxr-xr-x 1 your-domain.gq your-domain.gq 5.4K May 25 04:02 wp-activate.php drwxr-xr-x 9 your-domain.gq your-domain.gq 4.0K Sep 7 21:58 wp-admin -rwxr-xr-x 1 your-domain.gq your-domain.gq 364 Dec 19 2015 wp-blog-header.php -rwxr-xr-x 1 your-domain.gq your-domain.gq 1.5K May 23 23:44 wp-comments-post.php -rwxr-xr-x 1 your-domain.gq your-domain.gq 2.8K Dec 16 2015 wp-config-sample.php drwxr-xr-x 4 your-domain.gq your-domain.gq 49 Sep 7 21:59 wp-content -rwxr-xr-x 1 your-domain.gq your-domain.gq 3.3K May 25 2015 wp-cron.php drwxr-xr-x 17 your-domain.gq your-domain.gq 8.0K Sep 7 21:59 wp-includes -rwxr-xr-x 1 your-domain.gq your-domain.gq 2.4K May 23 23:44 wp-links-opml.php -rwxr-xr-x 1 your-domain.gq your-domain.gq 3.3K Apr 15 2016 wp-load.php -rwxr-xr-x 1 your-domain.gq your-domain.gq 34K Jun 15 04:51 wp-login.php -rwxr-xr-x 1 your-domain.gq your-domain.gq 7.7K Jul 13 19:37 wp-mail.php -rwxr-xr-x 1 your-domain.gq your-domain.gq 14K Aug 13 23:02 wp-settings.php -rwxr-xr-x 1 your-domain.gq your-domain.gq 30K May 25 03:44 wp-signup.php -rwxr-xr-x 1 your-domain.gq your-domain.gq 4.0K Dec 1 2014 wp-trackback.php -rwxr-xr-x 1 your-domain.gq your-domain.gq 3.0K Jul 6 19:40 xmlrpc.php
Vậy là xong phần Upload Source Web lên máy chủ, bạn nhớ xóa đi file .zip
mà bạn đã upload lên cùng với những file test ví dụ index.html, info.php, who.php...
Upload Database:
Web thông thường có 2 phần phải upload, đó là Source Web như đã trình bày ở trên và phần nữa là file .sql
(file database của web). Với việc upload database bạn có thể vào link phpMyAdmin và tạo database + user database sau đó import file .sql
vào:
Cách tạo database như sau:
Vào link https://your-domain.gq/phpmyadmin
Username Password là user root mysql bạn đã đặt trong bài cài đặt MySQL MariaDB, của mình là username root
password 123456
Bấm vào tab Database bạn tạo 1 database mới tên là wordpress
:
Trong database wordpress
mới tạo tại tab Privileges bạn thêm user quản lý database wordpress
này:
User name
: wordpress (đặt tên user này là wordpress)
Host name
: localhost (cái này là quy định user này được truy xuất từ localhost hay đâu?)
Generate password
: Jx7pt89KBK1CczKZ (mình random ngẫu nhiên ra một mật khẩu mạnh cho user này)
Sau đó bạn kéo xuống và nhấn Go luôn là xong phần add user quản lý database:
Nếu bạn muốn import file .sql
ngay bây giờ thì bấm vào tab Import và upload file .sql
của bạn lên:
Tuy nhiên vì đây là WordPress cài mới hoàn toàn nên chẳng có file .sql
nào đi kèm cả. WordPress nó chỉ cần bạn khai báo cho nó thông tin database mình mới tạo mà thôi, không cần import gì hết, chút WordPress code nó sẽ tự import sau khi mình cho nó thông tin.
Mình vào link trang chủ để cài đặt WordPress:
Bạn điền đúng y như thông tin database mà bạn đã tạo trong phpMyAdmin:
Cấu hình cơ bản cho WordPress:
Vậy là Website đã chạy được:
Cấu hình nâng cao gì thêm cho WordPress (cache, captcha, URL Rewrite…) dùng LiteSpeed LLMP các bạn tìm hiểu ở bài này nhé!
Vậy là bạn đã hoàn thành cài đặt cấu hình hệ thống LOMP thành công. Bí quyết trong việc nắm trọn vẹn khả năng điều khiển chuyên nghiệp OpenLiteSpeed là bạn phải thực hành thật nhiều những tùy chọn của OpenLiteSpeed đã đưa ra bạn phải tìm hiểu kỹ cách cấu hình ý nghĩa từng tùy chọn và cấu hình sao cho thật hợp lý.
Trong Serie này bạn chỉ thực hành qua các cấu hình một cách nhanh chóng bằng những cấu hình đã được soạn sẳn từ trước, nếu có nhu cầu muốn tìm hiểu kỹ hơn ý nghĩa của những đoạn cấu hình cụ thể nào đó bạn hãy đến với các bài tìm hiểu sâu hơn giải thích kỹ hơn về những thành phần này trong loạt bài nghiên cứu về OpenLiteSpeed, Nginx, Apache, PHP, MySQL,…
Chào tạm biệt bạn, hẹn gặp lại bạn ở một Serie khác!
- [LOMP – Giới thiệu] Hướng dẫn cài đặt Web Server: OpenLitespeed trên Red Hat CentOS 7
- [LOMP – 1] Cài đặt Web Server OpenLitespeed trên Red Hat CentOS 7 – Cài đặt OpenLitespeed
- [LOMP – 2] Cài đặt Web Server OpenLitespeed trên Red Hat CentOS 7 – Cài đặt PHP
- [LOMP – 3] Cài đặt Web Server OpenLitespeed trên Red Hat CentOS 7 – Cài đặt MySQL MariaDB
- [LOMP – 4] Cài đặt Web Server OpenLitespeed trên Red Hat CentOS 7 – Cài đặt Let’s Encrypt
- [LOMP – 5] Cài đặt Web Server OpenLitespeed trên Red Hat CentOS 7 – Tổng chạy hệ thống