Hướng dẫn cài đặt LEMP ( NGINX, PHP-FPM, MARIADB) trên Ubuntu 16

LEMP là chữ viết tắt thường được dùng để chỉ sự sử dụng các phần mềm Linux, Nginx, MySQL và ngôn ngữ lệnh PHP để tạo nên một môi trường máy chủ Web, LEMP thiên về các trang Web tĩnh.

Sau đây là một số thông tin để giúp bạn hiểu rõ hơn. LEMP là sự kết hợp của Linux +Nginx + MySQL + PHP.

  • Linux: Linux là một hệ điều hành. Về mặt nguyên tắc hệ điều hành cũng là một software; nhưng đây là một software đặc biệt được dùng để quản lý, điều phối các tài nguyên (resource) của hệ thống (bao gồm cả hardware và các software khác). Linux còn được gọi là Open Source Unix (OSU). Ở đây chúng ta sẽ dùng một phiên bản của Linux có tên là Ubuntu 16
  • Nginx là một (open-source) mã nguồn mở, máy chủ Http hiệu suất cao và cũng là reverse proxy, Nginx được biết đến với hiệu quả của nó cao, ổn định, nhiều tính năng, cấu hình đơn giản, và tiêu thụ tài nguyên thấp. Nó được phát hình hoàn toàn miễn phí.
  • MySQL là hệ quản trị cơ sở dữ liệu nhanh nhất trên thế giới, nó trở thành cơ sở dữ liệu nguồn mở phổ biến nhất trên thế giới vì hiệu suất cao, độ tin cậy cao và dễ sử dụng. Nó rất tốt cho các ứng dụng dựa trên web. Rất nhiều các công cụ hỗ trợ đã được phát triển cho MySQL với PHP, chẳng hạn như phpMyAdmin là một công cụ quản trị web rất tốt cho MySQL, và giúp bạn có thể làm bất cứ điều gì mà bạn mong muốn với MySQL. Ở đây chúng ta sẽ dùng MARIADB Một trong những máy chủ cơ sở dữ liệu phổ biến nhất. Được thực hiện bởi các nhà phát triển ban đầu của MySQL. MARIADB cũng là mã nguồn mở.
  • PHP được phát triển như là một ngôn ngữ kịch bản trên máy chủ (server-side scripting language) , Ở bài này chúng tôi sẽ sử dụng  PHP-FPM, PHP-FPM (FastCGI Process Manager) là một thay thế cho PHP với một số tính năng bổ sung hữu ích cho các trang web của bất kỳ kích thước, các trang web đặc biệt bận rộn.

Bây giờ chúng tôi sẽ hướng dẫn các bạn làm thế nào để có thể cài đặt được LEMP trên Ubuntu 16

Bước 1: Cài đặt Nginx

Tiến hành cập nhật gói phần mềm của Ubuntu lên phiên bản mới nhất với lệnh:

# apt-get update -y

Để cài đặt được nginx các bạn gõ lệnh sau:

# apt-get install nginx -y

Trong Ubuntu 16, Nginx được cấu hình để bắt đầu chạy ngay sau khi cài đặt.

Ta truy cập vào địa chỉ http://<Địa chỉ ip-vps> thông qua trình duyệt web, nếu có hình như sau là thành công

Bước 2.Cài đặt PHP-FPM 

Mặc định php của ubuntu 16 sẽ là php7. các bạn gõ lệnh sau để cài đặt

# apt-get install php-fpm php-mysql -y

Bước 3: Cấu hình PHP-FPM

Mở file /etc/php/7.0/fpm/php.ini

# nano /etc/php/7.0/fpm/php.ini

Tìm dòng ‘cgi.fix_pathinfo = 1‘, bỏ ghi chú nó và thay đổi giá trị 1 để 0

cgi.fix_pathinfo=0

Bây giờ, chúng ta chỉ cần khởi động lại  PHP , bằng cách gõ:

# systemctl restart php7.0-fpm

Bước 4: Cấu hình Nginx để sử dụng bộ xử lý PHP

Trước khi cấu hình, chúng ta nên di chuyển tập tin cấu hình thành tập tin dự phòng cho nginx, các bạn gõ lệnh sau

# mv /etc/nginx/sites-available/default /etc/nginx/sites-available/default.bk

Tiếp theo các bạn tạo file cấu hình nginx

# nano /etc/nginx/sites-available/default

Với nội dung như dưới đây

server {         
listen 80 default_server;        
listen [::]:80 default_server;                 
root /var/www/html;        
index index.php index.html index.htm index.nginx-debian.html;        
server_name localhost;        
location / {                    
try_files $uri $uri/ =404;                   
}        
location ~ \.php$ {                           
include snippets/fastcgi-php.conf;                           
fastcgi_pass unix:/run/php/php7.0-fpm.sock;                          
}        
location ~ /\.ht {                          
deny all;                         
}        
}

Sau khi tạo file xong các bạn lưu và thoát khỏi file

Các bạn gõ lệnh sau để kiểm tra xem cấu hình nginx đã ổn chưa

# nginx -t

Khởi động lại nginx

# systemctl reload nginx

Để kiểm tra xem nginx và php đã làm việc với nhau chưa, chúng ta sẽ tạo 1 file test

# nano /var/www/html/info.php

Có nội dung như sau

<?php phpinfo(); ?>

Truy cập địa chỉ http://<Địa chỉ ip-VPS>/info.php thông qua trình duyệt web, nếu được hình dưới đây là thành công

Vì một số lý do bảo mật nên sau khi bạn xem xong chi tiết của php thì nên xóa file này đi, các bạn gõ lệnh sau

# rm -rf /var/www/html/info.php

Bước 5: Cài đặt MariaDB thay thế MySQL

MARIADB Một trong những máy chủ cơ sở dữ liệu phổ biến nhất. Được thực hiện bởi các nhà phát triển ban đầu của MySQL. Đảm bảo để ở mã nguồn mở.MariaDB của tương thích với những người sử dụng bởi MySQL, cộng với một số tính năng để hỗ trợ bản địa hoạt động không chặn và báo cáo tiến độ. Điều này có nghĩa rằng tất cả các kết nối, thư viện và các ứng dụng mà làm việc với MySQL cũng nên làm việc trên MariaDB

Bạn có thể tham khảo cách cài đặt ở link dưới

Xem hướng dẫn ở đây

Ở đây tôi sẽ hướng dẫn các cài đặt Mariadb 5.

Các bạn gõ lệnh sau để cài đặt

# apt-get -y install mariadb-server mariadb-client -y

Bây giờ chúng ta thiết lập mật khẩu cho MariaDB.

# mysql_secure_installation

Sẽ hiện ra những câu hỏi sau

Enter current password for root (enter for none):  <-- ấn enter 
Set root password? [Y/n]                           <-- Ấn "y" để nhập mật khẩu Mariadb  
New password:                                      <-- nhập mật khẩu Mariadb mới 
Re-enter new password:                             <-- nhập lại  mật khẩu Mariadb mới 
Remove anonymous users? [Y/n]                      <-- Ấn "y"
Disallow root login remotely? [Y/n]                <-- Ấn "y"
Reload privilege tables now? [Y/n]                 <-- Ấn "y"

Để đăng nhập vào Mariadb

# mysql -u root -p

Kết

Đến đây chúng ta đã kết thúc bài hướng dẫn cài đặt LEMP cho Ubuntu16, hi vọng rằng với bài viết này sẽ giúp các bạn hiểu rõ thêm về các cài đặt LEMP, hẹn gặp lại các bạn trong các bài tiếp theo. Chúc các bạn thành công!