LEMP là viết tắt của Linux, Nginx, MariaDB / MySQL và PHP tạo nên môi trường máy chủ Web. Trong bài viết này, HOSTVN sẽ hướng dẫn các bạn cài đặt LEMP trên Ubuntu 18.
Cài đặt LEMP trên Ubuntu 18 – LEMP là viết tắt của Linux, Nginx (Engine-X), MariaDB / MySQL và PHP để tạo môi trường máy chủ Web giúp triển khai các trang web trên Internet.
Trong bài này HOSTVN sẽ hướng dẫn bạn cài đặt LEMP trên Ubuntu 18.
Hướng dẫn cài đặt LEMP trên Ubuntu 18
1. Yêu cầu
Để làm theo hướng dẫn này, bạn cần một VPS sử dụng hệ điều hành Ubuntu 18.04. Nếu bạn chưa có VPS, vui lòng tham khảo các gói Cloud VPS của HOSTVN.
ĐĂNG KÝ NGAY
2. Cài đặt LEMP trên Ubuntu 18
2.1. Bước 1: Cài đặt Nginx
Đầu tiên bạn cần cài đặt một số thư viện cần thiết bằng cách chạy lệnh sau
sudo apt install curl gnupg2 ca-certificates lsb-release -y
Trong hướng dẫn này HOSTVN sẽ hướng dẫn bạn cài đặt phiên bản mới nhất của Nginx mainline tại thời điểm viết bài v17.10. Để cài đặt Nginx bạn cần tạo source.list với lệnh sau:
echo "deb http://nginx.org/packages/mainline/ubuntu `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list
Tiếp theo, nhập khóa ký nginx để apt có thể xác minh tính xác thực của các gói:
curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo apt-key add -
Sau đó tiến hành xác minh khóa
sudo apt-key fingerprint ABF5BD827BD9BF62
Để cài đặt Nginx, hãy chạy các lệnh sau:
sudo apt update sudo apt install nginx -y
Để kiểm tra phiên bản Nginx, hãy sử dụng lệnh sau:
sudo nginx -v
Khởi động Nginx bằng 2 lệnh sau
sudo systemctl start nginx sudo systemctl enable nginx
Để kiểm tra xem Nginx có đang hoạt động hay không, hãy sử dụng lệnh
service nginx status
2.2. Bước 2: Cài đặt MariaDB
một. Cài đặt MariaDB
Để cài đặt MariaDB 10,4 trên Ubuntu 18.04, bạn sẽ cần thêm kho lưu trữ MariaDB vào hệ thống. Đầu tiên bạn cần cài đặt phần mềm-thuộc tính-chung với lệnh sau:
sudo apt-get install software-properties-common -y
Sau đó, bạn chạy lệnh sau để thêm Khoá Kho lưu trữ vào hệ thống
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
Tiếp theo, thêm kho lưu trữ bằng lệnh sau
sudo add-apt-repository "deb [arch=amd64,arm64,ppc64el] http://mariadb.mirror.liquidtelecom.com/repo/10.4/ubuntu $(lsb_release -cs) main"
Để cài đặt Mariadb, hãy chạy các lệnh sau:
sudo apt update sudo apt -y install mariadb-server mariadb-client
b. Đặt mật khẩu gốc MariaDB
Sau khi cài đặt xong, hãy tiến hành cài đặt mật khẩu gốc cho Mariadb bằng cách chạy lần lượt các lệnh sau
sudo mysql -u root use mysql; ALTER USER 'root'@'localhost' IDENTIFIED BY 'Mật-Khẩu-Bạn-Muốn-Đặt'; flush privileges; exit
Thay thế Mật khẩu-Bạn-Muốn-Đặt với mật khẩu của bạn
Sau khi đặt mật khẩu gốc, hãy chạy các lệnh sau để khởi động Mariadb
sudo systemctl start mariadb sudo systemctl enable mariadb
c. Cấu hình bảo mật MariaDB
Cuối cùng tiến hành bảo mật MariaDB bằng lệnh sau
sudo mysql_secure_installation
Nhập mật khẩu hiện tại cho root (nhập cho không): Nhập mật khẩu gốc bạn đã đặt
Chuyển sang xác thực unix_socket [Y/n] : N
Thay đổi mật khẩu gốc? [Y/n] : N
Xóa người dùng ẩn danh? [Y/n] : Y
Không cho phép đăng nhập root từ xa? [Y/n] : Y
Xóa cơ sở dữ liệu thử nghiệm và truy cập vào nó? [Y/n] : Y
Tải lại bảng đặc quyền ngay bây giờ? [Y/n] : Y
Để kiểm tra xem MariaDB có đang chạy hay không, hãy sử dụng lệnh
service mariadb status
2.3. Bước 3: Cài đặt PHP-FPM
một. Cài đặt mã PHP-FPM
Để cài đặt PHP, bạn nên sử dụng ppa: ondrej / php PPA để có thể cài đặt phiên bản PHP-FPM mới nhất
sudo add-apt-repository ppa:ondrej/php
Tiếp theo, bạn cài đặt PHP bằng lệnh sau. Trong bài này HOSTVN sẽ cài đặt PHP 7.4
sudo apt update && sudo apt upgrade -y sudo apt -y install php7.4 php7.4-fpm php7.4-ldap php7.4-zip php7.4-cli php7.4-mysql php7.4-gd php7.4-xml php7.4-mbstring php7.4-common php7.4-soap php7.4-json php7.4-curl php7.4-bcmath php7.4-snmp php7.4-pspell php7.4-gmp php7.4-intl php7.4-imap php7.4-enchant php7.4-xmlrpc php7.4-tidy php7.4-opcache php7.4-cli unzip gcc
b. Định cấu hình PHP-FPM
Đầu tiên, sao lưu tệp cấu hình mặc định
sudo cp /etc/php/7.4/fpm/pool.d/www.conf /etc/php/7.4/fpm/pool.d/www.conf.bak
Tiếp theo, bạn mở tệp /etc/php/7.4/fpm/pool.d/www.conf
user = www-data group = www-data
Đã chỉnh sửa thành
user = nginx group = nginx
listen.owner = www-data listen.group = www-data
Đã chỉnh sửa thành
listen.owner = nginx listen.group = nginx
;listen.mode = 0660
Đã chỉnh sửa thành
listen.mode = 0660
;security.limit_extensions = .php .php3 .php4 .php5 .php7
Đã chỉnh sửa thành
security.limit_extensions = .php .php3 .php4 .php5 .php7
c. Định cấu hình php.ini
Tất cả cấu hình tham số php cần thiết sẽ có trong tệp /etc/php/7.4/fpm/php.ini. Trước khi chỉnh sửa, bạn nên sao lưu tệp php.ini với lệnh sau
sudo cp /etc/php/7.4/fpm/php.ini /etc/php/7.4/fpm/php.ini.bak
Một số thông số cơ bản bạn có thể chỉnh sửa như sau
;date.timezone = expose_php = On short_open_tag = Off ;max_input_vars = 1000 max_execution_time max_input_time post_max_size upload_max_filesize
Bạn thay đổi nó như thế này:
date.timezone = Asia/Ho_Chi_Minh expose_php = Off short_open_tag = On max_input_vars = 3000 max_execution_time = 90 max_input_time = 90 post_max_size = 128M upload_max_filesize = 128M
d. Khởi động PHP-FPM
Sau khi cài đặt xong, chạy 2 lệnh sau để khởi động PHP-FPM
sudo systemctl start php7.4-fpm sudo systemctl enable php7.4-fpm
Để kiểm tra xem php-fpm có đang chạy hay không, hãy sử dụng lệnh sau
systemctl status php7.4-fpm
Khi bạn sử dụng PHP-FPM. Tất cả các tệp cấu hình PHP đều nằm trong thư mục /etc/php/7.4/fpm
2.4. Bước 4: Cài đặt PhpMyAdmin
một. Cài đặt PhpMyAdmin
Để cài đặt PhpMyAdmin Lần lượt chạy các lệnh sau:
cd /usr/share sudo wget https://files.phpmyadmin.net/phpMyAdmin/5.0.2/phpMyAdmin-5.0.2-all-languages.zip sudo unzip phpMyAdmin-5.0.2-all-languages.zip sudo mv phpMyAdmin-5.0.2-all-languages phpMyAdmin sudo rm -rf phpMyAdmin-5.0.2-all-languages.zip sudo rm -rf /usr/share/phpMyAdmin/setup sudo ln -s /usr/share/phpMyAdmin /usr/share/nginx/html/phpMyAdmin
- Ghi chú: Truy cập phpmyadmin.net để lấy link tải phiên bản mới nhất
b. Định cấu hình PhpMyAdmin
Tiếp theo, bạn tiến hành cấu hình PhpMyadmin:
sudo mv /usr/share/phpMyAdmin/config.sample.inc.php /usr/share/phpMyAdmin/config.inc.php
Mở tệp /usr/share/phpMyAdmin/config.inc.php và chỉnh sửa các thông số sau
– Tìm thấy
$cfg['blowfish_secret'] = '';
Thêm bất kỳ ký tự nào giữa các dấu ngoặc kép. Ví dụ:
$cfg['blowfish_secret'] = 'dsa123e12rwDSADs1few12tr3ewg3s2df3sAD';
– Tiếp theo, thêm đoạn mã sau vào cuối tệp
$cfg['TempDir'] = '/usr/share/phpMyAdmin/tmp/';
Sau đó, bạn cần tạo thư mục tmp cho PhpMyAdmin
sudo mkdir -p /usr/share/phpMyAdmin/tmp sudo chown -R nginx:nginx /usr/share/phpMyAdmin/tmp
c. Cấu hình bảo mật cho PhpMyAdmin
Bạn mở tệp /etc/nginx/conf.d/default.conf xóa tất cả nội dung và thay thế bằng nội dung sau:
server { listen 80; server_name localhost; access_log /var/log/nginx/localhost.log; error_log /var/log/nginx/localhost.error.log; root /usr/share/nginx/html; index index.html index.htm index.php; location ~ .php$ { try_files $uri $uri/ =404; fastcgi_split_path_info ^(.+.php)(/.+)$; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; fastcgi_intercept_errors on; if (-f $request_filename) { fastcgi_pass unix:/run/php/php7.4-fpm.sock; } } location ~ ^/phpmyadmin { rewrite ^/* /phpMyAdmin last; } location ~ ^/pma { rewrite ^/* /phpMyAdmin last; } location ^~ /phpMyAdmin/log/ { deny all; } location ^~ /phpMyAdmin/libraries/ { deny all; } location ^~ /phpMyAdmin/templates/ { deny all; } location ^~ /phpMyAdmin/tmp/ { deny all; } }
Tiếp theo, chạy lệnh sau:
sudo mv /etc/nginx/conf.d/default.conf /etc/nginx/default.conf
Mở tệp /etc/nginx/nginx.conf và thêm bên trên bao gồm. hàng /etc/nginx/conf.d/*.conf; quy tắc sau
include /etc/nginx/default.conf;
Khởi động lại Nginx để tải lại cấu hình
sudo service nginx restart
Sau đó, bạn có thể truy cập: address-vps / pma và đăng nhập với người dùng nguồn gốc và mật khẩu là Mật khẩu gốc MariaDB
2.5. Bước 5: Tạo máy chủ ảo
Máy chủ ảo là một tệp cấu hình cho phép nhiều miền chạy trên cùng một máy chủ. Tất cả các tệp vhost sẽ nằm trong thư mục /etc/nginx/conf.d/. Để dễ quản lý, mỗi trang web nên có một vhost riêng biệt, ví dụ: hostvn.net.conf
Trong ví dụ này, chúng tôi sẽ tạo một trang web hostvn.net với vhost tương ứng /etc/nginx/conf.d/hostvn.net.conf với nội dung sau:
server { listen 80; server_name www.hostvn.net hostvn.net; access_log /home/hostvn.net/logs/access.log; error_log /home/hostvn.net/logs/error.log; root /home/hostvn.net/public_html; index index.html index.htm index.php; location ~ .php$ { try_files $uri $uri/ =404; fastcgi_split_path_info ^(.+.php)(/.+)$; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; fastcgi_intercept_errors on; if (-f $request_filename) { fastcgi_pass unix:/run/php/php7.4-fpm.sock; } } }
Tiếp theo, bạn cần tạo thư mục chứa mã nguồn trang web và thư mục chứa tệp nhật ký bằng các lệnh sau
sudo mkdir -p /home/hostvn.net/public_html sudo mkdir -p /home/hostvn.net/logs sudo chown -R nginx:nginx /home/hostvn.net
Khởi động lại Nginx để tải cấu hình
sudo systemctl restart nginx
Sau khi cấu hình xong, bạn trỏ tên miền vào vps rồi tạo file /home/hostvn.net/public_html/index.php với nội dung sau và nhập tên miền của bạn vào thanh địa chỉ của trình duyệt để kiểm tra
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>HOSTVN.NET - Hướng dẫn cài đặt LEMP trên Ubuntu 18</title> </head> <body> <p><center><?= "HOSTVN.NET - Hướng dẫn cài đặt LEMP trên Ubuntu 18" ?></center></p> </body> </html>
2.6. Cấu hình SSL
Để cấu hình SSL, bạn có thể tham khảo hướng dẫn cài đặt SSL trên VPS sử dụng Nginx của chúng tôi HOSTVN.
3. Tài liệu tham khảo
4. Kết luận
Qua bài đăng này HOSTVN Tôi đã chỉ cho bạn cách cài đặt nó LEMP trên Ubuntu 18. Nếu bạn có bất kỳ đề xuất nào, bạn có thể để lại bình luận bên dưới. Ngoài ra, bạn có thể xem thêm Hướng dẫn cách cài đặt LEMP trên Centos 7.