CentOS 上 SQLAdmin 网络访问配置指南
一 架构与前提
- 明确目标:让 SQLAdmin(通常为 phpMyAdmin 等基于 Web 的 MySQL 管理工具) 可被浏览器访问,并能安全连接后端数据库。
- 组件准备:安装并运行 Web 服务器(Apache 或 Nginx)、PHP 与 数据库(MySQL/MariaDB);确保数据库服务已启动并可通过本地连接。
- 基本流程:安装与配置 Web 服务与 SQLAdmin → 配置数据库访问账号与权限 → 打开系统防火墙与 SELinux 策略 → 访问测试与问题排查。
二 配置 Web 访问
- 安装与启动 Web 服务(二选一)
- Apache:sudo yum install -y httpd && sudo systemctl enable --now httpd
- Nginx:sudo yum install -y nginx && sudo systemctl enable --now nginx
- 部署 SQLAdmin
- 将 SQLAdmin 解压至站点目录(如 /usr/share/sqladmin),确保目录中包含 index.php 等入口文件。
- 配置虚拟主机示例
- Nginx
server {
listen 80;
server_name your_domain_or_ip;
root /usr/share/sqladmin;
index index.php;
location ~ \.php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass unix:/var/run/php-fpm/www.sock; # 按实际 PHP-FPM 套接字调整
}
location ~ /\.ht { deny all; }
}
- Apache
<VirtualHost *:80>
ServerName your_domain_or_ip
DocumentRoot /usr/share/sqladmin
<Directory /usr/share/sqladmin>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
- 重载服务:sudo systemctl reload httpd 或 sudo systemctl reload nginx。
三 配置数据库访问与安全
- 创建管理账号(示例)
- 本地管理:CREATE USER ‘sqladmin’@‘localhost’ IDENTIFIED BY ‘StrongPass!’; GRANT ALL PRIVILEGES ON . TO ‘sqladmin’@‘localhost’ WITH GRANT OPTION; FLUSH PRIVILEGES;
- 远程管理:CREATE USER ‘sqladmin’@‘%’ IDENTIFIED BY ‘StrongPass!’; GRANT ALL PRIVILEGES ON . TO ‘sqladmin’@‘%’ WITH GRANT OPTION; FLUSH PRIVILEGES;
- 允许远程连接(MySQL/MariaDB)
- 编辑 /etc/my.cnf 或 /etc/mysql/my.cnf:在 [mysqld] 中设置 bind-address=0.0.0.0(或指定网段),重启数据库:sudo systemctl restart mysqld
- 防火墙放行
- Web 访问:sudo firewall-cmd --permanent --zone=public --add-service=http --add-service=https && sudo firewall-cmd --reload
- 数据库访问(如确需直连数据库端口):sudo firewall-cmd --permanent --zone=public --add-port=3306/tcp && sudo firewall-cmd --reload
- SELinux(如启用)
- 允许 httpd 连接数据库:sudo setsebool -P httpd_can_network_connect_db 1
- 安全建议
- 优先使用 仅本地 的 SQLAdmin(Web 与数据库同机),通过 SSH 隧道或内网访问;必须远程开放时,限制来源 IP、使用强口令与证书、开启 HTTPS。
四 访问与验证
- 浏览器访问:打开 http://服务器IP/ 或 http://域名/,进入 SQLAdmin 登录页,使用前述 sqladmin 账号登录。
- 连通性自检
- 本机:mysql -u sqladmin -p -h 127.0.0.1
- 远程:mysql -u sqladmin -p -h 服务器IP
- 常见问题速查
- 页面 403/404:检查 Web 根目录与虚拟主机配置、目录权限与 index.php 是否存在。
- 无法登录数据库:核对账号的 host(localhost/%)、密码、以及数据库是否允许远程(bind-address、用户主机白名单)。
- 连接超时:核对 firewall-cmd 规则是否生效、云安全组/外部防火墙是否放行对应端口。
五 可选 仅本地访问的安全做法
- 保持 SQLAdmin 仅监听 127.0.0.1,通过 SSH 隧道 访问:
- 本地执行:ssh -L 8080:127.0.0.1:80 user@服务器IP
- 浏览器访问:http://127.0.0.1:8080
- 此方式无需开放公网 80/443 或数据库 3306,安全性更高。