Nginx (phát âm là "engine x") là một máy chủ HTTP miễn phí, mã nguồn mở, hiệu suất cao. Nginx được biết đến với tốc độ cao, tính ổn định, bộ tính năng phong phú, cấu hình đơn giản và mức tiêu thụ tài nguyên thấp. Hướng dẫn này sẽ chỉ cho bạn cách cài đặt Nginx trên máy chủ Ubuntu 20.04 LTS có hỗ trợ PHP 7.4 (thông qua PHP-FPM) và hỗ trợ MySQL (LEMP = Linux + Nginx (phát âm là "engine x") + MySQL + PHP).
Điều kiện tiên quyết
Trong bước này, chúng ta sẽ cài đặt máy chủ web Nginx từ kho lưu trữ Ubuntu.
Cập nhật tất cả các kho lưu trữ trên hệ thống Ubuntu và cài đặt các gói Nginx bằng lệnh apt bên dưới.
Sau khi cài đặt hoàn tất, hãy khởi động dịch vụ Nginx và cho phép dịch vụ này khởi chạy mỗi khi khởi động hệ thống.
Bây giờ quá trình cài đặt Nginx Webserver đã hoàn tất, hãy kiểm tra dịch vụ Nginx bằng lệnh sau.
Dưới đây là kết quả bạn sẽ nhận được.
Ngoài ra, hãy kiểm tra cổng HTTP trên hệ thống Ubuntu và đảm bảo rằng nó được dịch vụ Nginx sử dụng.
Dưới đây là kết quả bạn sẽ nhận được.
Kết quả là, giao thức HTTP được dịch vụ Nginx sử dụng.
Tiếp theo, chúng ta sẽ bảo mật cài đặt Nginx của mình bằng tường lửa UFW.
Thêm giao thức HTTP và HTTPS vào cấu hình tường lửa UFW bằng lệnh sau.
Bây giờ hãy bật tường lửa UFW và kiểm tra xem trạng thái.
Và giao thức HTTP và HTTPS đã được thêm vào cấu hình tường lửa UFW.
Cài đặt MySQL bằng lệnh apt bên dưới.
Sau khi cài đặt MySQL hoàn tất, hãy khởi động dịch vụ MySQL và cho phép dịch vụ này khởi chạy mỗi khi khởi động hệ thống.
Bây giờ hãy kiểm tra dịch vụ MySQL bằng lệnh bên dưới.
Dịch vụ MySQL đã hoạt động.
Tiếp theo, chúng ta sẽ thiết lập mật khẩu gốc cho máy chủ MySQL.
Chạy lệnh 'mysql_secure_installation' bên dưới.
Bây giờ bạn sẽ được hỏi cấu hình sau và đảm bảo nhập mật khẩu mạnh cho tài khoản gốc MySQL người dùng.
Và mật khẩu gốc của MySQL đã được cấu hình.
Kết quả là quá trình cài đặt và cấu hình Cơ sở dữ liệu MySQL trên Ubuntu 20.04 đã hoàn tất.
Trong bước này, chúng ta sẽ cài đặt PHP7.4-FPM mặc định với một số tiện ích mở rộng bổ sung mà PHPMyAdmin yêu cầu.
Cài đặt PHP-FPM bằng lệnh bên dưới.
Sau khi cài đặt PHP-FPM hoàn tất, hãy vào thư mục '/etc/php/7.4/fpm' và chỉnh sửa cấu hình php.ini bằng trình soạn thảo vim.
Bỏ chú thích cho cấu hình sau và đổi giá trị thành '0'.
Lưu và đóng.
Bây giờ hãy khởi động dịch vụ PHP7.4-FPM và cho phép dịch vụ này khởi chạy mỗi khi khởi động hệ thống
Dịch vụ PHP-FPM đã hoạt động, hãy kiểm tra dịch vụ này bằng lệnh sau.
Dưới đây là kết quả bạn sẽ thấy lấy.
Theo mặc định, PHP-FPM đang chạy dưới tệp sock, hãy kiểm tra bằng lệnh ss bên dưới.
Dưới đây là phản hồi bạn sẽ nhận được.
Và quá trình cài đặt PHP-FPM 7.4 trên Ubuntu 20.04 đã hoàn tất.
Vào thư mục cấu hình '/etc/nginx' và chỉnh sửa tệp 'nginx.conf' bằng vim hoặc nano.
Bỏ chú thích dòng sau để ẩn Nginx version.
Lưu và đóng.
Tiếp theo, chỉnh sửa cấu hình virtualhost 'mặc định' trên thư mục 'sites-available'.
Bỏ chú thích dòng PHP hiển thị bên dưới và thay đổi dòng tệp sock.
Lưu và đóng.
Kiểm tra cấu hình Nginx và đảm bảo không có lỗi, sau đó khởi động lại dịch vụ.
Kết quả là cấu hình Nginx và PHP-FPM đã hoàn tất.
Cài đặt PHPMyAdmin bằng lệnh apt bên dưới.
Trong quá trình cài đặt, nó sẽ hỏi bạn về cấu hình máy chủ web cho phpmyadmin.
Chọn tùy chọn none và di chuyển con trỏ đến 'OK'.
Đối với cơ sở dữ liệu phpmyadmin và cấu hình người dùng, chọn 'Yes'.
Và nhập quản trị viên PHPMyAdmin 'STRONG' mới như 'Hakaselabs001@#'.
Lặp lại mật khẩu 'Hakaselabs001@#'.
Và quá trình cài đặt phpMyAdmin trên Ubuntu 20.04 đã hoàn tất.
Dán cấu hình Nginx sau cho PHPMyAdmin vào trong dấu ngoặc 'server {...}'.
Lưu và thoát.
Kiểm tra cấu hình nginx và đảm bảo không có lỗi, sau đó khởi động lại dịch vụ nginx.
Và chúng tôi đã thêm cấu hình Nginx cho cài đặt phpMyAdmin của mình, có thể truy cập thông qua URL đường dẫn là 'http://server-ip/phpmyadmin'.
Đăng nhập vào shell MySQL bằng lệnh sau.
Bây giờ hãy tạo một người dùng MySQL mới 'hakase' và cấp tất cả các quyền cơ sở dữ liệu.
Bây giờ hãy nhập 'exit' để đăng xuất khỏi shell MySQL.
Kết quả là chúng ta đã tạo một người dùng MySQL mới cho phpMyAdmin.
Dán đoạn mã sau vào đó.
Lưu và đóng.
Tiếp theo, mở trình duyệt web và nhập địa chỉ IP máy chủ của bạn theo đường dẫn của đoạn mã 'info.php'.
Dưới đây là kết quả bạn sẽ nhận được.
Kết quả là, chúng tôi đã cấu hình chi tiết PHP-FPM 7.4 của mình trên máy chủ Ubuntu 20.04 và đoạn mã PHP đang chạy trên máy chủ LEMP Stack của chúng tôi.
Và bạn sẽ nhận được trang đăng nhập phpMyAdmin.
Để đăng nhập vào phpMyAdmin, hãy nhập người dùng mà chúng ta đã tạo ở trên cùng. Người dùng là 'hakase' với mật khẩu 'Hakaselabs001@#', sau đó nhấp vào nút 'Go'.
Và bạn sẽ nhận được bảng điều khiển phpMyAdmin như bên dưới.
PhpMyAdmin đang hoạt động trong môi trường LEMP Stack.
Kết quả là quá trình cài đặt và cấu hình LEMP Stack trên Ubuntu 20.04 đã hoàn tất thành công.
Điều kiện tiên quyết
- Máy chủ Ubuntu 20.04 LTS
- Quyền root
- Cài đặt Nginx
- Cài đặt MySQL
- Cài đặt PHP-FPM
- Cấu hình Nginx và PHP-FPM
- Cài đặt PhpMyAdmin
- Cấu hình PhpMyAdmin
- Kiểm tra
Bước 1 - Cài đặt Nginx
Nginx hay engine x là máy chủ proxy và HTTP hiệu suất cao với mức tiêu thụ bộ nhớ thấp. Hầu hết các trang web quy mô lớn như Netflix, Pinterest, CloudFlare, GitHub đều sử dụng Nginx.Trong bước này, chúng ta sẽ cài đặt máy chủ web Nginx từ kho lưu trữ Ubuntu.
Cập nhật tất cả các kho lưu trữ trên hệ thống Ubuntu và cài đặt các gói Nginx bằng lệnh apt bên dưới.
Mã:
sudo apt update
sudo apt install nginx
Mã:
systemctl start nginx
systemctl enable nginx
Mã:
systemctl status nginx
Ngoài ra, hãy kiểm tra cổng HTTP trên hệ thống Ubuntu và đảm bảo rằng nó được dịch vụ Nginx sử dụng.
Mã:
ss -plt4
Kết quả là, giao thức HTTP được dịch vụ Nginx sử dụng.
Tiếp theo, chúng ta sẽ bảo mật cài đặt Nginx của mình bằng tường lửa UFW.
Thêm giao thức HTTP và HTTPS vào cấu hình tường lửa UFW bằng lệnh sau.
Mã:
for fw in ssh http https
do
ufw allow $fw
done
Mã:
ufw enable
ufw status numbered
Bước 2 - Cài đặt MySQL
MySQL là Hệ thống quản lý cơ sở dữ liệu quan hệ (RDBMS) mã nguồn mở phổ biến nhất do Oracle Corporation tạo ra. Đây là thành phần trung tâm của LEMP Stack và chúng ta sẽ cài đặt phiên bản MySQL mới nhất từ kho lưu trữ Ubuntu.Cài đặt MySQL bằng lệnh apt bên dưới.
Mã:
sudo apt install mysql-server mysql-client
Mã:
systemctl start mysql
systemctl enable mysql
Mã:
systemctl status mysql
Tiếp theo, chúng ta sẽ thiết lập mật khẩu gốc cho máy chủ MySQL.
Chạy lệnh 'mysql_secure_installation' bên dưới.
Mã:
mysql_secure_installation
Mã:
Nhấn y|Y để Có, bất kỳ phím nào khác để Không: Nhấn Enter
Mật khẩu mới:
Nhập lại mật khẩu mới:
Xóa người dùng ẩn danh? (Nhấn y|Y để Có, bất kỳ phím nào khác để Không): Y
Không cho phép đăng nhập root từ xa? (Nhấn y|Y để Có, bất kỳ phím nào khác để Không): Y
Xóa cơ sở dữ liệu thử nghiệm và quyền truy cập vào cơ sở dữ liệu đó? (Nhấn y|Y để Có, bất kỳ phím nào khác để Không): Y
Tải lại bảng đặc quyền ngay bây giờ? (Nhấn y|Y để Có, bất kỳ phím nào khác để Không): Y
Kết quả là quá trình cài đặt và cấu hình Cơ sở dữ liệu MySQL trên Ubuntu 20.04 đã hoàn tất.
Bước 3 - Cài đặt và cấu hình PHP-FPM
PHP-FPM hay FastCGI Process Manager là một giải pháp thay thế cho PHP FastCGI cũ hơn, cung cấp các tính năng bổ sung và cải thiện tốc độ. Nó phù hợp với các trang web từ nhỏ đến lớn dựa trên ngôn ngữ lập trình PHP.Trong bước này, chúng ta sẽ cài đặt PHP7.4-FPM mặc định với một số tiện ích mở rộng bổ sung mà PHPMyAdmin yêu cầu.
Cài đặt PHP-FPM bằng lệnh bên dưới.
Mã:
sudo apt install php-fpm php-cli php-curl php-mysql php-curl php-gd php-mbstring php-pear -y
Mã:
cd /etc/php/7.4/fpm/
vim php.ini
Mã:
cgi.fix_pathinfo = 0
Bây giờ hãy khởi động dịch vụ PHP7.4-FPM và cho phép dịch vụ này khởi chạy mỗi khi khởi động hệ thống
Mã:
systemctl start php7.4-fpm
systemctl enable php7.4-fpm
Mã:
systemctl status php7.4-fpm
Theo mặc định, PHP-FPM đang chạy dưới tệp sock, hãy kiểm tra bằng lệnh ss bên dưới.
Mã:
ss -pl | grep php
Mã:
u_str LISTEN 0 511 /run/php/php7.4-fpm.sock 67702 * 0
Bước 4 - Cấu hình Nginx và PHP-FPM
Trong bước này, chúng ta sẽ cấu hình máy chủ web Nginx và PHP-FPM.Vào thư mục cấu hình '/etc/nginx' và chỉnh sửa tệp 'nginx.conf' bằng vim hoặc nano.
Mã:
cd /etc/nginx/
vim nginx.conf
Mã:
server_tokens off;
Tiếp theo, chỉnh sửa cấu hình virtualhost 'mặc định' trên thư mục 'sites-available'.
Mã:
vim sites-available/default
Mã:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
#
# # Với php-fpm (hoặc các socket unix khác):
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
# # Với php-cgi (hoặc các socket tcp khác):
# fastcgi_pass 127.2.0.1:9000;
}
Kiểm tra cấu hình Nginx và đảm bảo không có lỗi, sau đó khởi động lại dịch vụ.
Mã:
nginx -t
systemctl restart nginx
Bước 5 - Cài đặt phpMyAdmin
PhpMyAdmin là ứng dụng dựa trên PHP để quản lý cơ sở dữ liệu MySQL hoặc MariaDB từ trình duyệt web. Trong bước này, chúng ta sẽ cài đặt và cấu hình PHPMyAdmin theo ngăn xếp LEMP (Linux, Nginx, MySQL và PHP-FPM).Cài đặt PHPMyAdmin bằng lệnh apt bên dưới.
Mã:
sudo apt install phpmyadmin
Chọn tùy chọn none và di chuyển con trỏ đến 'OK'.
Đối với cơ sở dữ liệu phpmyadmin và cấu hình người dùng, chọn 'Yes'.
Và nhập quản trị viên PHPMyAdmin 'STRONG' mới như 'Hakaselabs001@#'.
Lặp lại mật khẩu 'Hakaselabs001@#'.
Và quá trình cài đặt phpMyAdmin trên Ubuntu 20.04 đã hoàn tất.
Bước 6 - Cấu hình phpMyAdmin với Nginx và MySQL
Sau khi cài đặt phpmyadmin, chúng ta cần cấu hình phpmyadmin để chạy trên máy chủ web Nginx và cấu hình quyền truy cập phpmyadmin của người dùng MySQL. Để chạy PHPMyAdmin dưới máy chủ web Nginx, chúng ta cần thêm cấu hình vào tệp cấu hình máy chủ ảo.Cấu hình phpMyAdmin với Nginx Webserver
Bây giờ hãy vào thư mục cấu hình '/etc/nginx' và chỉnh sửa tệp máy chủ ảo mặc định.
Mã:
cd /etc/nginx/sites-available/
vim default
Mã:
location /phpmyadmin {
root /usr/share/;
index index.php;
try_files $uri $uri/ =404;
location ~ ^/phpmyadmin/(doc|sql|setup)/ {
deny all;
}
location ~ /phpmyadmin/(.+\.php)$ {
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
include snippets/fastcgi-php.conf;
}
}
Kiểm tra cấu hình nginx và đảm bảo không có lỗi, sau đó khởi động lại dịch vụ nginx.
Mã:
nginx -t
systemctl reload nginx
Cho phép người dùng phpMyAdmin truy cập Cơ sở dữ liệu
Đối với hướng dẫn này, chúng ta sẽ sử dụng người dùng MySQL không phải root cho PHPMyAdmin. Chúng ta sẽ tạo một người dùng mới và cấp tất cả các quyền của tất cả các cơ sở dữ liệu bên trong máy chủ cho người dùng.Đăng nhập vào shell MySQL bằng lệnh sau.
Mã:
mysql -u root -p
Mã:
tạo người dùng hakase@'localhost' được xác định bởi 'Hakaselabs001@#';
cấp tất cả các quyền trên *.* cho hakase@'localhost';
xóa các quyền;
Mã:
exit
Bước 7 - Kiểm tra
Trong bước này, chúng ta sẽ kiểm tra cấu hình LEMP Stack và phpMyAdmin của mình.Kiểm tra tệp PHP
Đi tới thư mục '/var/www/html' và tạo một tệp tập lệnh mới 'info.php' bằng trình soạn thảo vim.
Mã:
cd /var/www/html
vim info.php
Mã:
Tiếp theo, mở trình duyệt web và nhập địa chỉ IP máy chủ của bạn theo đường dẫn của đoạn mã 'info.php'.
Dưới đây là kết quả bạn sẽ nhận được.
Kết quả là, chúng tôi đã cấu hình chi tiết PHP-FPM 7.4 của mình trên máy chủ Ubuntu 20.04 và đoạn mã PHP đang chạy trên máy chủ LEMP Stack của chúng tôi.
Kiểm tra phpMyAdmin
Để kiểm tra cài đặt phpMyAdmin của chúng tôi, hãy nhập địa chỉ IP máy chủ của bạn theo đường dẫn 'phpmyadmin' trên URL.Và bạn sẽ nhận được trang đăng nhập phpMyAdmin.
Để đăng nhập vào phpMyAdmin, hãy nhập người dùng mà chúng ta đã tạo ở trên cùng. Người dùng là 'hakase' với mật khẩu 'Hakaselabs001@#', sau đó nhấp vào nút 'Go'.
Và bạn sẽ nhận được bảng điều khiển phpMyAdmin như bên dưới.
PhpMyAdmin đang hoạt động trong môi trường LEMP Stack.
Kết quả là quá trình cài đặt và cấu hình LEMP Stack trên Ubuntu 20.04 đã hoàn tất thành công.