Cài mysql và php trên Ubuntu
Cài mysql và php trên Ubuntu

Sau bài viết Hướng dẫn cài đặt Nginx trên Ubuntu 18.04, ngày hôm nay, mình tiếp tục hướng dẫn các bạn cài Mysql và PHP trên Ubuntu chạy Nginx. Nếu các bạn chưa cài đặt Nginx trên máy của các bạn, hãy xem lại bài trước để tiến hành cài đặt.

Điều kiện tiên quyết

Để làm theo hướng dẫn này, bạn buộc phải có quyền sudo với máy được cài đặt.

Bước 1: Cài Mysql trên Ubuntu chạy Nginx

Bây giờ, chúng ta sẽ tiến hành cài đặt MySql, hệ quản trị cơ sở dữ liệu phổ biến nhất hiện nay trên các môi trường chạy PHP.

Bước đầu tiên vẫn là cập nhật lại kho phần mềm của Ubuntu trên máy tính định cài. Để làm điều này, ta dùng lệnh:

sudo apt-get update

Tiếp theo là chạy câu lệnh cài đặt mysql server trên máy tính được chọn bằng lệnh:

sudo apt install mysql-server

Sau khi quá trình cài đặt kết thúc, bạn chạy lệnh sau để cài đặt bảo mật cho mysql trên máy của bạn:

sudo mysql_secure_installation

Câu lệnh này sẽ hỏi nếu bạn muốn cấu hình VALIDATE PASSWORD PLUGIN không. Trả lời Ycho có, hoặc bất kỳ phím nào khác để tiếp tục mà không kích hoạt. Nếu bạn trả lời Y, bạn sẽ được yêu cầu chọn mức độ xác thực mật khẩu.

Tiếp theo, máy chủ của bạn sẽ yêu cầu bạn chọn và xác nhận mật khẩu cho người dùng root MySQL. Mặc dù phương thức xác thực mặc định cho người dùng root MySQL không cho phép sử dụng mật khẩu, ngay cả khi được đặt nhưng bạn nên xác định mật khẩu mạnh ở đây như một biện pháp an toàn bổ sung.

Đối với các câu hỏi khác, ấn Y và Enter mỗi khi được hỏi.

Bước 2: Cài đặt PHP

Chúng ta cần cài đặt 2 gói PHP là php-fpmvà php-mysql. Để cài đặt 2 gói này, ta dùng câu lệnh:

sudo apt install php-fpm php-mysql

Sau khi chạy xong 2 lệnh trên là bạn đã cài đặt xong php trên máy tính của bạn rồi.

Bước 3: Cấu hình Virtualhost nginx cho PHP

Trong hướng dẫn này, mình sẽ thiết lập một tên miền gọi là your_domain , nhưng bạn nên thay thế tên miền này bằng tên miền của riêng bạn.

Để tạo một virtual host trên Nginx cho dự án mới, chúng ta làm từng bước như sau:

Tạo thư mục web gốc cho dự án mới:

sudo mkdir /var/www/your_domain

Tiếp theo, gán quyền sở hữu thư mục với biến môi trường $user tham chiếu tới ngườ dùng hệ thống của bạn hiện tại:

sudo chown -R $USER:$USER /var/www/your_domain

Sau đó, mở tệp cấu hình mới trong sites-availablethư mục của Nginx bằng trình chỉnh sửa dòng lệnh ưa thích của bạn. Ở đây, mình sẽ sử dụng nano:

sudo nano /etc/nginx/sites-available/your_domain.conf

Điều này sẽ tạo ra một file trống mới. Parse vào đó nội dung sau:

server {
    listen 80;
    server_name your_domain www.your_domain;
    root /var/www/your_domain;

    index index.html index.htm index.php;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
     }

    location ~ /\.ht {
        deny all;
    }

}

Khi bạn chỉnh sửa xong, hãy lưu và đóng tệp. Nếu bạn đang sử dụng nano, bạn có thể làm như vậy bằng cách gõ CTRL+Xvà sau đó yvà ENTERđể xác nhận.

Kích hoạt cấu hình cho website mói bạn vừa tạo bằng cách liên kết đến file cấu hình từ thư mục sites-enabled của Nginx:

sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/

Điều này sẽ cho Nginx sử dụng cấu hình vào lần tiếp theo khi nó được tải lại. Bạn có thể kiểm tra cấu hình của mình để tìm lỗi cú pháp bằng cách gõ:

sudo nginx -t

Nếu có bất kỳ lỗi nào được báo cáo, hãy quay lại tệp cấu hình của bạn để xem lại nội dung của nó trước khi tiếp tục.

Khi hệ thống đã ok với cấu hình của bạn, hãy tải lại Nginx để áp dụng các thay đổi:

sudo systemctl reload nginx

Trang web mới của bạn hiện đang hoạt động, nhưng web root vẫn trống. Tạo một file ở vị trí đó để kiểm tra xem máy chủ mới của bạn có hoạt động như mong đợi không:

nano /var/www/your_domain/index.html

Nội dung của file index.html sẽ như sau:

<html>
  <head>
    <title>your_domain website</title>
  </head>
  <body>
    <h1>Hello World!</h1>

    <p>This is the landing page of <strong>your_domain</strong>.</p>
  </body>
</html>

Bây giờ hãy truy cập trình duyệt của bạn và truy cập tên miền hoặc địa chỉ IP của máy chủ của bạn, như được liệt kê trong server_namechỉ thị trong tệp cấu hình khối máy chủ của bạn:

http://server_domain_or_IP

Bạn sẽ thấy một trang như thế này:

hello world - toiyeuphp.com
hello world – toiyeuphp.com

Bước 4: Kiểm tra PHP với Nginx

Bây giờ chúng ta sẽ tạo một file PHP để xác nhận rằng Nginx có thể xử lý các yêu cầu cho các tệp PHP.

Tạo một tệp mới có tên info.phptrong thư mục gốc web tùy chỉnh của bạn:

nano /var/www/your_domain/info.php

Lệnh này sẽ mở một file trống. Thêm nội dung sau vào file:

<?php
phpinfo();

Khi bạn hoàn thành, lưu và đóng file.

Bây giờ bạn có thể truy cập trang này trong trình duyệt web của bạn bằng cách truy cập tên miền hoặc địa chỉ IP bạn đã thiết lập trong tệp cấu hình Nginx, theo sau là /info.php:

http://server_domain_or_IP/info.php

Bạn sẽ thấy một trang web chứa thông tin chi tiết về máy chủ của bạn:

phpinfo - toiyeuphp.com
phpinfo – toiyeuphp.com

Sau khi kiểm tra thông tin liên quan về máy chủ PHP của bạn thông qua trang đó, tốt nhất bạn nên xóa file bạn đã tạo vì nó chứa thông tin nhạy cảm về môi trường PHP và máy chủ Ubuntu của bạn. Bạn có thể sử dụng rmđể xóa tệp đó:

sudo rm /var/www/your_domain/info.php

Phần kết

Vậy là mình đã hoàn tất phần hướng dẫn các bạn cài php và mysql trên Ubuntu có cài sẵn nginx. Bước tiếp theo là cài đặt phpmyadmin và triển khai dự án web của bạn trên server. Hy vọng với những hướng dẫn của mình, các bạn sẽ tiến hành cài php và mysql thành công. Hãy để lại comment giúp mình nếu các bạn bị mắc ở bước nào nhé!

Leave A Reply

Please enter your comment!
Please enter your name here