在定制化开发前,需完成CentOS系统的基本环境配置,包括数据库、Web服务器及依赖项的安装。
sudo yum update -y
sudo yum install -y mysql-server
sudo systemctl start mysqld
sudo systemctl enable mysqld
sudo mysql_secure_installation # 按提示设置root密码及安全选项
php-mysqlnd、php-gd):# 安装Apache及PHP
sudo yum install -y httpd php php-mysqlnd php-gd php-mbstring php-xml
sudo systemctl start httpd
sudo systemctl enable httpd
# 或安装Nginx(需额外配置PHP-FPM)
sudo yum install -y nginx php-fpm
sudo systemctl start nginx
sudo systemctl enable nginx
config.inc.php:wget https://dev.mysql.com/get/Downloads/MySQL-Admin-x.x.x-linux-glibc2.12-x86_64.tar.gz
tar -xzf MySQL-Admin-x.x.x-linux-glibc2.12-x86_64.tar.gz
cd MySQL-Admin-x.x.x-linux-glibc2.12-x86_64
# 编辑配置文件
vi config.inc.php
# 设置cookie加密密钥、默认语言等参数
$cfg['blowfish_secret'] = 'your_random_string'; // 用于cookie加密
$cfg['DefaultLang'] = 'zh_cn'; // 设置为中文界面
themes目录下的默认主题(如default),修改style.css文件调整颜色、字体或布局;也可添加自定义CSS文件,在config.inc.php中引入:$cfg['ThemePath'] = './themes/custom/'; // 指向自定义主题目录
$cfg['ThemeName'] = 'custom_theme'; // 设置默认主题
libraries目录下创建新文件custom_report.php,编写报表生成逻辑,然后在config.inc.php中注册模块:$cfg['CustomModules']['report'] = './libraries/custom_report.php';
/var/www/html)下创建插件专用目录:sudo mkdir /var/www/html/sqladmin_plugins
sudo chown -R apache:apache /var/www/html/sqladmin_plugins # 设置正确权限
<?php
// /var/www/html/sqladmin_plugins/db_tool.php
$servername = "localhost";
$username = "sqladmin";
$password = "your_password";
$dbname = "your_database";
// 创建数据库连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 执行自定义查询
$sql = "SELECT id, name FROM users WHERE status = 'active'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
echo "<h3>活跃用户列表</h3>";
echo "<table border='1'><tr><th>ID</th><th>Name</th></tr>";
while($row = $result->fetch_assoc()) {
echo "<tr><td>".$row["id"]."</td><td>".$row["name"]."</td></tr>";
}
echo "</table>";
} else {
echo "无活跃用户";
}
$conn->close();
?>
httpd.conf或虚拟主机配置中添加):<Directory "/var/www/html/sqladmin_plugins">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
server块中添加):location /sqladmin_plugins {
alias /var/www/html/sqladmin_plugins;
index index.php;
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
}
http://your_domain.com/sqladmin_plugins/db_tool.php),验证功能是否正常。SELECT、INSERT权限,避免使用root账户)。config.inc.php)不可被外部直接访问:chmod 600 /path/to/MySQL-Admin-x.x.x-linux-glibc2.12-x86_64/config.inc.php
chown apache:apache /path/to/MySQL-Admin-x.x.x-linux-glibc2.12-x86_64 # 根据Web服务器用户调整
sudo yum install -y certbot python3-certbot-apache # Apache
sudo certbot --apache -d your_domain.com
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
ab(Apache Benchmark)工具测试界面响应速度,确保定制化未导致性能下降:ab -n 100 -c 10 http://your_domain.com/sqladmin/
通过以上步骤,可在CentOS环境下完成SQLAdmin的定制化开发,满足个性化管理需求。定制化过程中需注意遵循安全最佳实践,避免引入安全风险。