Cách cài đặt phpMyAdmin với Nginx trên Ubuntu 18.04 LTS

theanh

Administrator
Nhân viên
phpMyAdmin là một công cụ quản lý cơ sở dữ liệu mã nguồn mở và miễn phí dành cho MySQL. Công cụ này được sử dụng để thực hiện các tác vụ quản trị như tạo, chỉnh sửa hoặc xóa cơ sở dữ liệu và quản lý người dùng và quyền. Sử dụng phpMyAdmin, bạn có thể nhập dữ liệu từ CSV và SQL, và xuất dữ liệu sang nhiều định dạng khác nhau như CSV, SQL, XML và PDF.

Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách cài đặt phpMyAdmin với Nginx trên máy chủ Ubuntu 18.04.

Yêu cầu​

  • Một máy chủ chạy Ubuntu 18.04.
  • Một địa chỉ IP tĩnh 192.168.0.111 đến máy chủ của bạn.
  • Một người dùng không phải root có quyền sudo.

Bắt đầu​

Trước khi bắt đầu, bạn sẽ cần cập nhật hệ thống của mình lên phiên bản mới nhất. Bạn có thể thực hiện việc này bằng cách chạy lệnh sau:
Mã:
sudo apt-get update -y
 sudo apt-get upgrade -y
Sau khi hệ thống của bạn được cập nhật, hãy khởi động lại hệ thống để áp dụng các thay đổi.

Cài đặt LEMP Server​

Trước tiên, bạn sẽ cần cài đặt Nginx, máy chủ MariaDB, PHP và các mô-đun PHP khác vào hệ thống của mình. Bạn có thể cài đặt tất cả chúng bằng cách chạy lệnh sau:
Mã:
sudo apt-get install nginx php7.2 php7.2-common php7.2-mysql php7.2-mbstring php7.2-fpm php7.2-cgi php7.2-common php-pear php-gettext mariadb-server -y
Sau khi tất cả các gói được cài đặt, hãy khởi động dịch vụ Nginx và MariaDB và cho phép chúng khởi động khi khởi động bằng lệnh sau:
Mã:
sudo systemctl start nginx
 sudo systemctl start mariadb
 sudo systemctl enable nginx
 sudo systemctl enable mariadb

Cài đặt phpMyAdmin​

Theo mặc định, phpMyAdmin có sẵn trong kho lưu trữ mặc định của Ubuntu 18.04. Bạn có thể cài đặt bằng cách chỉ cần chạy lệnh sau:
Mã:
sudo apt-get install phpmyadmin -y
Trong quá trình cài đặt, trình cài đặt sẽ yêu cầu bạn chọn máy chủ web như được hiển thị ở trang sau.



Đừng chọn bất kỳ tùy chọn nào, vì chúng ta sẽ sử dụng Nginx làm máy chủ web. Vì vậy, hãy nhấp vào nút OK. Tiếp theo, bạn sẽ được yêu cầu thiết lập cơ sở dữ liệu như được hiển thị ở trang sau:



Nhấp vào nút No. Bạn sẽ thấy trang sau:



Bây giờ, hãy cung cấp mật khẩu cho phpMyAdmin để đăng ký với cơ sở dữ liệu và nhấp vào nút Ok. Bạn sẽ được yêu cầu xác nhận lại mật khẩu. Cung cấp cùng một mật khẩu và nhấp vào nút Ok để hoàn tất quá trình cài đặt.

Cấu hình cơ sở dữ liệu​

Đầu tiên, hãy đăng nhập vào shell MariaDB bằng lệnh sau:
Mã:
sudo mysql
Tiếp theo, hãy tạo một tài khoản người dùng quản trị viên mới và cấp các quyền thích hợp bằng lệnh sau:
Mã:
MariaDB [(none)]> CREATE USER 'phpadmin'@'localhost' IDENTIFIED BY 'mypassword';
 MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'phpadmin'@'localhost' WITH GRANT OPTION;
Thay thế từ 'mypassword' bằng mật khẩu an toàn mà bạn chọn. Bây giờ, thoát khỏi shell MariaDB bằng lệnh sau:
Mã:
MariaDB [(none)]>EXIT;

Cấu hình Nginx​

Tiếp theo, bạn sẽ cần tạo một tệp máy chủ ảo Nginx. Bạn có thể thực hiện việc này bằng lệnh sau:
Mã:
sudo nano /etc/nginx/sites-available/phpmyadmin.conf
Thêm các dòng sau:
Mã:
server { listen 80 default_server; listen [::]:80 default_server; root /var/www/html; # Thêm index.php vào danh sách nếu bạn đang sử dụng PHP index index.php index.html index.htm index.nginx-debian.html; server_name 192.168.0.111; location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }}
Lưu và đóng tệp. Sau đó, hãy kiểm tra Nginx xem có lỗi cú pháp nào không bằng lệnh sau:
Mã:
sudo nginx -t
Nếu mọi thứ ổn, bạn sẽ thấy kết quả sau:
Mã:
nginx: cú pháp tệp cấu hình /etc/nginx/nginx.conf là oknginx: kiểm tra tệp cấu hình /etc/nginx/nginx.conf thành công
Tiếp theo, hãy bật tệp máy chủ ảo phpmyadmin và xóa tệp máy chủ ảo mặc định bằng lệnh sau:
Mã:
sudo rm -rf /etc/nginx/sites-enabled/default
 sudo ln -s /etc/nginx/sites-available/phpmyadmin.conf /etc/nginx/sites-enabled/
Tiếp theo, hãy khởi động lại dịch vụ Nginx để áp dụng các thay đổi bằng lệnh sau:
Mã:
sudo systemctl restart nginx
Tiếp theo, hãy kiểm tra trạng thái của Nginx bằng lệnh sau:
Mã:
sudo systemctl status nginx
Bạn sẽ thấy đầu ra sau:
Mã:
? nginx.service - Một máy chủ web hiệu suất cao và một máy chủ proxy ngược Đã tải: đã tải (/lib/systemd/system/nginx.service; đã bật; cài đặt trước của nhà cung cấp: đã bật) Đang hoạt động: đang hoạt động (đang chạy) kể từ Tue 2019-01-15 11:10:29 UTC; 2 phút 0 giây trước Tài liệu: man:nginx(8) Tiến trình: 14871 ExecStop=/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid (code=exited, status=0/SUCCESS) Tiến trình: 14885 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Tiến trình: 14874 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) PID chính: 14886 (nginx) Nhiệm vụ: 2 (giới hạn: 1113) CGroup: /system.slice/nginx.service ??14886 nginx: tiến trình chính /usr/sbin/nginx -g daemon on; master_process on; ??14887 nginx: tiến trình công nhân15 tháng 7 11:10:29 ubuntu1804 systemd[1]: Đã dừng Một máy chủ web hiệu suất cao và một máy chủ proxy ngược.15/07 11:10:29 ubuntu1804 systemd[1]: Đang khởi động Một máy chủ web hiệu suất cao và một máy chủ proxy ngược...15/07 11:10:29 ubuntu1804 systemd[1]: nginx.service: Không phân tích được PID từ tệp /run/nginx.pid: Đối số không hợp lệ15/07 11:10:29 ubuntu1804 systemd[1]: Đang khởi động Một máy chủ web hiệu suất cao và một máy chủ proxy ngược.

Truy cập phpMyAdmin​

phpMyAdmin hiện đã được cài đặt và định cấu hình, đã đến lúc truy cập giao diện web phpMyAdmin.

Mở trình duyệt web của bạn và nhập URL http://192.168.0.111/phpmyadmin/. Bạn sẽ được chuyển hướng đến trang sau:



Bây giờ, hãy cung cấp tên người dùng và mật khẩu quản trị viên của bạn. Sau đó, nhấp vào nút Go. Bạn sẽ thấy bảng điều khiển mặc định của phpMyAdmin ở trang sau:



Xin chúc mừng! bạn đã cài đặt và cấu hình phpMyAdmin thành công cho máy chủ Ubuntu 18.04 LTS của mình. Bây giờ bạn có thể quản lý cơ sở dữ liệu MariaDB của mình thông qua giao diện web phpMyAdmin. Hãy thoải mái hỏi tôi nếu bạn có bất kỳ câu hỏi nào.
 
Back
Bên trên