引言

phpMyAdmin 是一款广泛使用的开源数据库管理工具,支持 MySQL 和 MariaDB。它提供了直观的 Web 界面,方便用户管理和操作数据库。本文将介绍两种部署方式:使用 Docker 快速部署和基于 Nginx 的部署。

使用Docker部署phpMyAdmin

写给1Panel用户

1Panel的应用商店里已经提供了基于Docker的phpMyAdmin应用,直接安装即可。

准备工作

确保已安装 Docker 和 Docker Compose。

如果没有请参考各自发行版文档进行安装,此处给出Ubuntu上的安装命令:

#更新软件列表
sudo apt update
#安装Docker,需要预先添加Docker的软件源
sudo apt install docker-ce docker-ce-cli containerd.io
#安装Docker-compose
sudo apt install docker-compose-plugin

创建Docker Compose 文件

在合适的目录创建 docker-compose.yml 文件:

version: '3'
services:
  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    ports:
      - "8080:80"
    network_mode: bridge

提示

以上示例将phpMyAdmin开放到80端口上,你可以修改为自己所需的端口

启动容器

在包含 docker-compose.yml 的目录中运行以下命令:

docker-compose up -d

访问服务器的指定端口即可进入phpMyAdmin的界面。

基于Nginx的部署

准备工作

确保Nginx已经安装。下文将根据Ubuntu24.04进行部署,具体路径与配置文件位置可能因发行版而异。

下载与解压phpMyAdmin安装包

你可以从官网上获取安装包链接,使用以下命令进行下载与解压:

#下载安装包
wget https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.zip
#解压到当前目录
unzip phpMyAdmin-5.2.1-all-languages.zip -d ./
#移动到站点目录(可自定义)
mv ./phpMyAdmin-5.2.1-all-languages.zip /var/www/phpmyadmin

备注

上文使用的是截至本文发布时从官网获得的最新版安装包链接,具体链接请自行获取

创建Nginx配置文件

使用以下命令新建一个Nginx配置文件:

nano /etc/nginx/site-available/phpmyadmin.conf

在其中输入以下内容:

server {
    #设置监听的端口
    listen 80;
    listen 443 ssl;

    #设置监听域名
    server_name localhost;

    #设置证书路径
    ssl_certificate /etc/nginx/certs/fullchain.pem;
    ssl_certificate_key /etc/nginx/certs/privkey.pem;

    #设置站点根目录,填写你解压phpMyAdmin安装包的路径
    root /var/www/phpmyadmin;

    index index.php index.html;
    location / {
        try_files $uri $uri/ =404;
    }
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.4-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
    location ~* /(config\.inc\.php|save/) {
        deny all;
    }
    location ~ /\.ht {
        deny all;
    }
}

测试与启用配置文件

#将配置文件软链接到启用的目录中
ln -s /etc/nginx/site-available/phpmyadmin.conf /etc/nginx/site-enabled/phpmyadmin.conf
#测试配置文件
nginx -t
#重载Nginx
nginx -s reload

使用设置的域名与端口便可访问phpMyAdmin。

phpMyAdmin的设置

配置文件

你可以直接访问站点的 /setup 目录对其进行一些基础设置,但是在生产环境中更建议将大部分配置写入配置文件并删除 /setup 目录。

将安装包内解压出来的 config.sample.inc.php 重命名为 config.inc.php 并在其中设置以下内容:

$cfg['blowfish_secret'] = 'your_random_string';
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'your_mysql_password';

提示

请根据自身情况修改

数据库

phpMyAdmin也支持将用户设置永久化保存到数据库中,我们需要新建一个数据库(例如名称为phpmyadmin),并把安装包sql目录下的 create_tables.sql 导入该数据库。

修改配置文件 config.inc.php ,取消以下配置项的注释(删除前面的 // ),并根据需要进行修改:

//这一行设置数据库名称
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
//下面的保持默认即可
$cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
$cfg['Servers'][$i]['relation'] = 'pma__relation';
$cfg['Servers'][$i]['table_info'] = 'pma__table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma__column_info';
$cfg['Servers'][$i]['history'] = 'pma__history';
$cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';
$cfg['Servers'][$i]['tracking'] = 'pma__tracking';
$cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';
$cfg['Servers'][$i]['recent'] = 'pma__recent';
$cfg['Servers'][$i]['favorite'] = 'pma__favorite';
$cfg['Servers'][$i]['users'] = 'pma__users';
$cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';
$cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';
$cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';
$cfg['Servers'][$i]['central_columns'] = 'pma__central_columns';
$cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';
$cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';

总结

本文介绍了两种部署 phpMyAdmin 的方法:使用 Docker 快速部署和基于 Nginx 的本地部署。Docker 部署适合快速搭建和开发环境,而直接部署则提供了更高的灵活性和控制权。根据你的需求选择合适的方式,即可轻松实现 phpMyAdmin 的部署。

除非注明,否则均为天远日记原创文章,转载必须以链接形式标明本文链接

本文链接:https://www.tqhyg.net/post410.html