12/08/2018, 14:39

Hướng dẫn cài đặt LEMP stack trên Ubuntu 14.04

Trong bài viết này tôi xin hướng dẫn cách cài đặt trọn bộ Nginx, MySQL, PHP trên Ubungu 14.04 để chạy các ứng dụng web hay blog trên VPS hay server riêng của bạn. LEMP viết tắt bởi: L: Hệ điều hành Linux E: Web server Nginx M: MySQL P: PHP Để cài đặt Nginx, bước đầu tiên ta cần cập nhật ...

Trong bài viết này tôi xin hướng dẫn cách cài đặt trọn bộ Nginx, MySQL, PHP trên Ubungu 14.04 để chạy các ứng dụng web hay blog trên VPS hay server riêng của bạn. LEMP viết tắt bởi: L: Hệ điều hành Linux E: Web server Nginx M: MySQL P: PHP

Để cài đặt Nginx, bước đầu tiên ta cần cập nhật local package index, sau đó sẽ cài nginx:

sudo apt-get update
sudo apt-get install nginx

Sau khi cài xong, nginx đã được cấu hình trên Ubuntu và sẵn sàng chạy Để kiểm tra nginx đã chạy chưa, nhập tên domain name server hoặc địa chỉ IP server của bạn trên trình duyệt để kiểm tra: http://server_domain_name_or_IP Kết qủa sẽ trả về trang mặc định sau: Nếu bạn nhìn thấy trang trên, bạn đã cài đặt thành công Nginx

Giờ ta đã có một web server, ta cần cài đặt MySQL để lưu trữ và quản lý dữ liệu cho trang web Cài đặt MySQL bằng câu lệnh sau:

sudo apt-get install mysql-server

Trong qúa trình cài đặt, MySQL sẽ yêu cầu bạn nhập mật khẩu cho tài khoản mặc định root, đây là mật khẩu để kết nối tới MySQL Và giờ ta chỉ chờ cho qúa trình cài đặt MySQL cài đặt kết thúc MySQL đã được cài đặt, tiếp theo chạy lệnh sau để MySQL tạo cấu trúc thư mục cần thiết để lưu trữ dữ liệu:

sudo mysql_install_db

Tiếp theo chạy đoạn mã security script sau:

sudo mysql_secure_installation

Bạn cần nhập mật khẩu tài khoản root trong quá trình cài đặt này

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

Tiếp theo, cài đặt sẽ hỏi bạn có muốn thay đổi mật khẩu tài khoản root không?, nếu không gõ "N" và nhấn "Enter". Sau đó bạn sẽ được hỏi có muốn xóa các tài khoản test users và database không. Bạn nên nhấn "y" (yes) để xóa các cài đặt mặc định không bảo mật này

By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y                                            
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y
... Success!

By default, MySQL comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
 ... Success!

Cleaning up...

Quá trình cài đặt MySQL hoàn tất

Ta đã có web server nginx và MySQL, ta cần PHP để kết nối 2 phần này Vì Nginx không hỗ trợ code PHP như các web server khác, ta cần cài đặt php-fpm, viết tắt của fastCGI process manager để nginx có thể hiểu được các request gửi từ PHP. Ta sẽ cài đặt module này cùng với package hỗ trợ PHP kết nối tới database:

sudo apt-get install php5-fpm php5-mysql

Cấu hình PHP Processor

Ta cần cấu hình một chút để tăng tính bảo mật cho PHP Mở php5-fpm với quyền của root user:

sudo nano /etc/php5/fpm/php.ini

Tìm tới dòng cgi.fix_pathinfo=1

; cgi.fix_pathinfo=1

Bỏ comment bằng cách xóa dấu chấm phẩy (            </div>
            
            <div class=

0