Phpmyadmin 404 không tìm thấy nginx

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.conf
0 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.conf
1 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.conf
2 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.conf
3 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

Chủ Đề