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 (