phpMyAdmin là một ứng dụng dựa trên web để tương tác với máy chủ cơ sở dữ liệu MySQL. Công cụ này cung cấp cho bạn giao diện người dùng để thực hiện các hoạt động của MySQL, do đó bạn không phải sử dụng giao diện dòng lệnh
Trong hướng dẫn này, bạn sẽ học cách cài đặt phpMyAdmin với Nginx trên Ubuntu. 20. 04 và bảo mật nó
BẮT ĐẦU
điều kiện tiên quyết
Đảm bảo rằng bạn đã thiết lập LEMP trong máy chủ của mình với Nginx, PHP và MySQL/MariaDB. Nếu bạn chưa thiết lập máy chủ, bạn có thể làm theo hướng dẫn bên dưới để thiết lập.
Cách cài đặt LEMP Nginx, MySQL, PHP trong Ubuntu 20. 04
Cũng thiết lập các khối máy chủ cho ứng dụng PHP của máy chủ
Cài đặt phpMyAdmin
Khi bạn đã cài đặt Nginx, PHP, MySQL, bạn có thể bắt đầu cài đặt phpMyAdmin
Có nhiều cách khác nhau để cài đặt phpMyAdmin, ở đây chúng tôi sẽ làm theo cách dễ nhất để cài đặt nó
Thực hiện lệnh dưới đây để cài đặt phpMyAdmin
sudo apt install phpmyadmin
Trong lời nhắc chọn máy chủ web, nhấn TAB để bỏ qua bước này
Khi được nhắc lại cho phép dbconfig-common cài đặt cơ sở dữ liệu và định cấu hình, hãy chọn Yes
và nhấn ENTER
Sau đó nhập và xác nhận mật khẩu hoặc cho phép sử dụng bất kỳ mật khẩu ngẫu nhiên nào
Cấu hình phpMyAdmin với Nginx
Sau khi cài đặt phpMyAdmin, bạn có thể định cấu hình nó với Nginx để có thể truy cập vào giao diện web
Có một số cách để thực hiện việc này, bạn chỉ cần tạo một liên kết tượng trưng của thư mục
sudo nano /etc/nginx/snippets/phpmyadmin.conf0 tới thư mục gốc của trang web của mình
Sau đây chúng ta sẽ tìm hiểu ngay để tạo một cấu hình mới cho phpMyAdmin
sudo nano /etc/nginx/snippets/phpmyadmin.conf
Thêm phần sau vào tệp mới. Đảm bảo bạn sử dụng đúng phiên bản PHP
location /phpmyadmin {
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/phpmyadmin/[.+\.php]$ {
try_files $uri =404;
root /usr/share/;
fastcgi_pass unix:/run/php/php8.0-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
location ~* ^/phpmyadmin/[.+\.[jpg|jpeg|gif|css|png|js|ico|html|xml|txt]]$ {
root /usr/share/;
}
}
Lưu file và thoát
Bao gồm tệp mới bên trong khối máy chủ của bạn từ nơi bạn muốn truy cập phpMyAdmin
Chỉnh sửa cấu hình khối máy chủ của bạn, cấu hình này sẽ nằm bên trong /etc/nginx/sites-available và bao gồm đoạn mã để cấu hình của bạn trông giống như cấu hình bên dưới
Tôi đã vào bên trong trình duyệt
404 Not Found
nginx/1.13.10
và trong nhật ký tôi nhận được
$ ls logs/
nginx-access.log nginx-error.log
$ cat logs/*
172.17.0.1 - - [27/Mar/2018:02:11:35 +0000] "GET / HTTP/1.1" 404 572 "-" "Mozilla/5.0 [Macintosh; Intel Mac OS X 10_13_3] AppleWebKit/537.36 [KHTML, like Gecko] Chrome/65.0.3325.181 Safari/537.36" "-"
2018/03/27 02:11:35 [error] 5#5: *1 "/var/wwww/html/index.php" is not found [2: No such file or directory], client: 172.17.0.1, server: localhost, request: "GET / HTTP/1.1", host: "localhost"
sudo nano /etc/nginx/snippets/phpmyadmin.conf1 của tôi trông như thế này
server {
listen 80;
# this path MUST be exactly as docker-compose.fpm.volumes,
# even if it doesn't exists in this dock.
root /var/wwww/html;
index index.php index.html index.html;
server_name localhost;
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^[.+\.php][/.+]$;
fastcgi_pass phpfpm:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
}
sudo nano /etc/nginx/snippets/phpmyadmin.conf2 của tôi trông giống như
nginx:
image: nginx
restart: always
ports:
- "80:80"
links:
- phpfpm
- db
volumes:
- ./logs/nginx-error.log:/var/log/nginx/error.log
- ./logs/nginx-access.log:/var/log/nginx/access.log
- ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf
- ./public/:/var/www/html
phpfpm:
build: ./mGSV
restart: always
ports:
- "9000:9000"
links:
- db
volumes:
- ./public/:/var/www/html
db:
image: mariadb
restart: always
environment:
- MYSQL_ROOT_PASSWORD=admin
- MYSQL_DATABASE=mgsv
- MYSQL_USER=mgsv_user
- MYSQL_PASSWORD=mgsvpass
ports:
- "3306:3306"
volumes:
- ./mysql/:/docker-entrypoint-initdb.d
phpmyadmin:
image: phpmyadmin/phpmyadmin
restart: always
links:
- db
ports:
- 8183:80
environment:
PMA_USER: root
PMA_PASSWORD: admin
PMA_ARBITRARY: 1
sudo nano /etc/nginx/snippets/phpmyadmin.conf3 của tôi dựa trên
FROM php:5-fpm
Tôi đã bỏ lỡ cái gì?
Cảm ơn bạn trước