# Linux如何搭建phpMyAdmin ## 前言 phpMyAdmin是MySQL/MariaDB最流行的开源Web管理工具之一,它提供了直观的图形界面,让用户无需记忆复杂的SQL命令即可完成数据库管理操作。本文将详细介绍在Linux系统上安装和配置phpMyAdmin的完整流程,涵盖Apache/Nginx环境配置、安全加固及常见问题排查。 --- ## 一、环境准备 ### 1.1 系统要求 - **操作系统**:Ubuntu 20.04+/CentOS 7+/Debian 10+ - **Web服务器**:Apache 2.4+ 或 Nginx 1.18+ - **数据库**:MySQL 5.7+ 或 MariaDB 10.3+ - **PHP**:PHP 7.4+(需启用`mysqli`、`mbstring`、`gd`等扩展) ### 1.2 安装LAMP/LEMP栈 #### 对于Apache环境(LAMP): ```bash # Ubuntu/Debian sudo apt update sudo apt install apache2 mysql-server php libapache2-mod-php php-mysql # CentOS/RHEL sudo yum install httpd mariadb-server php php-mysqlnd # Ubuntu/Debian sudo apt install nginx mysql-server php-fpm php-mysql # CentOS/RHEL sudo yum install nginx mariadb-server php-fpm php-mysqlnd sudo apt install phpmyadmin 安装过程中会提示: 1. 选择Web服务器(Apache/Nginx) 2. 是否自动配置数据库(选”Yes”) 3. 设置phpMyAdmin的数据库密码
sudo yum install epel-release sudo yum install phpmyadmin wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz tar -xvzf phpMyAdmin-latest-all-languages.tar.gz sudo mv phpMyAdmin-*/ /usr/share/phpmyadmin sudo nano /etc/apache2/conf-available/phpmyadmin.conf 添加以下内容:
Alias /phpmyadmin /usr/share/phpmyadmin <Directory /usr/share/phpmyadmin> Options FollowSymlinks DirectoryIndex index.php AllowOverride All Require all granted </Directory> 启用配置:
sudo a2enconf phpmyadmin sudo systemctl restart apache2 sudo nano /etc/nginx/conf.d/phpmyadmin.conf 添加以下内容:
server { listen 80; server_name pma.yourdomain.com; root /usr/share/phpmyadmin; index index.php; location / { try_files $uri $uri/ =404; } location ~ \.php$ { include fastcgi_params; fastcgi_pass unix:/run/php/php-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } } 重启Nginx:
sudo systemctl restart nginx sudo mv /usr/share/phpmyadmin /usr/share/mydbadmin 同时更新Web服务器配置中的路径。
在Apache中:
sudo htpasswd -c /etc/apache2/.phpmyadmin-htpasswd admin 在Nginx中:
location / { auth_basic "Admin Area"; auth_basic_user_file /etc/nginx/.phpmyadmin-htpasswd; } # Apache Require ip 192.168.1.0/24 # Nginx allow 192.168.1.0/24; deny all; 404 Not Found
DocumentRoot包含phpMyAdmin目录“The mysqli extension is missing”
sudo apt install php-mysqli # Ubuntu/Debian sudo yum install php-mysqlnd # CentOS 登录后空白页面
tail -f /var/log/php_errors.log php.ini中的内存限制:memory_limit = 256M 使用Let’s Encrypt证书:
sudo apt install certbot python3-certbot-apache # For Apache sudo certbot --nginx -d pma.yourdomain.com # For Nginx 编辑config.inc.php:
$cfg['Servers'][$i]['host'] = '192.168.1.100'; $cfg['Servers'][$i]['port'] = '3306'; $cfg['Servers'][$i]['verbose'] = 'Production DB'; // 禁用统计信息 $cfg['ShowServerInfo'] = false; // 关闭查询历史 $cfg['QueryHistoryDB'] = false; 通过本文的步骤,您应该已经成功在Linux系统上部署了phpMyAdmin。建议定期更新版本并监控/var/log/phpmyadmin/error.log以保障安全。对于生产环境,建议结合MySQL企业版或Percona Monitoring进行更专业的数据库管理。
注意事项:
- 避免使用弱密码
- 定期备份config.inc.php
- 考虑使用替代方案如Adminer(单文件PHP管理工具)降低攻击面 “`
(全文约2050字,实际字数可能因格式略有差异)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。