引言
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 的部署。
除非注明,否则均为天远日记原创文章,转载必须以链接形式标明本文链接
Comments NOTHING