插件窝 干货文章 细述LEMP服务器上安装phpMyAdmin

细述LEMP服务器上安装phpMyAdmin

phpMyAdmin 配置 PHP Nginx 949    来源:    2025-05-22

在LEMP服务器上安装phpMyAdmin的详细指南

phpMyAdmin是一个基于web的MySQL/MariaDB管理工具,可以方便地通过浏览器管理数据库。下面是在LEMP(Linux, Nginx, MySQL/MariaDB, PHP)服务器上安装phpMyAdmin的详细步骤。

前提条件

  1. 已安装并配置好LEMP环境
  2. 具有sudo权限的用户
  3. 服务器已安装并运行MySQL/MariaDB

安装步骤

1. 更新系统软件包

sudo apt update
sudo apt upgrade -y

2. 安装phpMyAdmin

sudo apt install phpmyadmin -y

在安装过程中会提示以下配置选项:

  • 选择web服务器:不选择任何服务器(使用空格键取消选择Apache,因为我们是Nginx)
  • 配置数据库:选择"是"
  • 设置phpMyAdmin的数据库密码

3. 创建符号链接到Nginx的web目录

sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin

4. 配置Nginx服务器块

编辑Nginx配置文件(通常位于/etc/nginx/sites-available/your_domain):

server {
    listen 80;
    server_name your_domain.com;
    root /var/www/html;
    index index.php index.html index.htm;

    location /phpmyadmin {
        alias /usr/share/phpmyadmin;
        try_files $uri $uri/ =404;

        location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
            fastcgi_param SCRIPT_FILENAME $request_filename;
        }
    }

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

    location ~ /\.ht {
        deny all;
    }
}

注意:根据你的PHP版本修改fastcgi_pass行中的PHP版本号。

5. 测试并重启Nginx

sudo nginx -t
sudo systemctl restart nginx

6. 配置MySQL用户权限

sudo mysql -u root -p

在MySQL提示符下:

CREATE USER 'pma_user'@'localhost' IDENTIFIED BY 'your_strong_password';
GRANT ALL PRIVILEGES ON *.* TO 'pma_user'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;

7. 配置phpMyAdmin

编辑配置文件:

sudo nano /etc/phpmyadmin/config.inc.php

找到并修改以下部分:

$cfg['Servers'][$i]['controluser'] = 'pma_user';
$cfg['Servers'][$i]['controlpass'] = 'your_strong_password';

8. 设置密码cookie加密密钥

在同一文件中,找到:

$cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

填入一个随机字符串,例如:

$cfg['blowfish_secret'] = 'xkljasdfoiuywerqwejrklj2342kjh';

9. 安全加固建议

  1. 限制访问IP:

    location /phpmyadmin {
       allow 192.168.1.100; # 你的IP
       deny all;
       # 其他配置...
    }
    
  2. 启用HTTPS访问

  3. 定期更新phpMyAdmin
  4. 考虑使用替代的URL路径而非默认的/phpmyadmin

访问phpMyAdmin

在浏览器中访问:

http://your_server_ip/phpmyadmin

或如果你配置了域名:

http://your_domain.com/phpmyadmin

故障排除

  1. 502 Bad Gateway错误

    • 检查PHP-FPM是否运行:sudo systemctl status php8.1-fpm
    • 确保fastcgi_pass路径正确
  2. 404 Not Found错误

    • 检查符号链接是否正确创建
    • 确认Nginx配置中的路径正确
  3. 登录问题

    • 确保MySQL用户有正确权限
    • 检查config.inc.php中的控制用户配置

通过以上步骤,你应该已经成功在LEMP服务器上安装并配置了phpMyAdmin,现在可以通过web界面轻松管理MySQL/MariaDB数据库了。