如何在 Ubuntu 24.04 上使用 Nginx 安装 PhpMyAdmin 并加密 SSL
在此页面上
- 先决条件
- 安装 Nginx、MariaDB 和 PHP
安装 phpMyAdmin
- 为 Nginx 手动配置 phpMyAdmin
使用 Let's Encrypt SSL 保护 phpMyAdmin
- 自动证书续订
Ubuntu 上的 phpMyAdmin 是一个基于 Web 的界面,可简化 MySQL 或 MariaDB 数据库的管理。它允许用户执行数据库操作,例如创建、编辑和删除数据库、表和记录,而无需直接与命令行交互。 phpMyAdmin 的设计考虑到了易用性,对于不熟悉 SQL 命令的用户特别有用。在 Ubuntu 上,它可以作为 LAMP(Linux、Apache、MySQL、PHP)堆栈的一部分安装,提供可通过 Web 浏览器访问的图形界面,使其成为在 Linux 中管理数据库的开发人员和管理员的流行选择环境。
在本教程中,我们将向您展示如何在 Ubuntu 24.04 上使用 Nginx 安装 phpMyAdmin,并包含一些最佳设置的附加提示。
先决条件
- 运行 Ubuntu 24.04 的服务器。
- 有效的域名指向您的服务器。
- 使用具有 sudo 权限的非 root 用户进行 SSH 访问。
安装 Nginx、MariaDB 和 PHP
在开始之前,请确保您的包裹清单是最新的:
sudo apt update && sudo apt upgrade -y
接下来,安装 Nginx、MariaDB、PHP 和必要的 PHP 扩展:
sudo apt install nginx mariadb-server php php-cli php-mysql php-mbstring php-zip php-gd php-json php-curl php-fpm -y
验证每个服务是否正在运行:
systemctl status nginx
systemctl status mariadb
提示:安装unattended-upgrades
以确保自动应用安全更新:
sudo apt install unattended-upgrades -y
安装 phpMyAdmin
phpMyAdmin 软件包可在默认的 Ubuntu 24.04 存储库中找到。安装它:
sudo apt install phpmyadmin -y
确保选择“无 Web 服务器”,除非在同一服务器上明确使用 Apache。
为 Nginx 手动配置 phpMyAdmin
在 Nginx Web 目录中创建符号链接:
sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin
安全 MariaDB
运行安全脚本来改进 MariaDB 的默认设置:
sudo mysql_secure_installation
按照屏幕上的提示操作:
- 设置根密码。
- 删除匿名用户。
- 禁止远程 root 登录。
- 删除测试数据库。
为 phpMyAdmin 创建专用数据库用户:
sudo mysql -u root -p
CREATE USER 'admin'@'localhost' IDENTIFIED BY 'your_strong_password';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
为 phpMyAdmin 配置 Nginx
为 phpMyAdmin 创建 Nginx 配置文件:
sudo nano /etc/nginx/conf.d/phpmyadmin.conf
添加以下配置:
server {
listen 80;
server_name phpmyadmin.example.com;
root /usr/share/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.3-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
检查配置是否有语法错误:
sudo nginx -t
重新加载 Nginx 以应用更改:
sudo systemctl reload nginx
使用 Let's Encrypt SSL 保护 phpMyAdmin
确保安装了 Certbot 来管理 SSL 证书:
sudo apt install certbot python3-certbot-nginx -y
使用Certbot获取并安装证书:
sudo certbot --nginx -d phpmyadmin.example.com
按照步骤配置 SSL,包括选择将所有 HTTP 流量重定向到 HTTPS 的选项。
自动证书续订
设置 cron 作业来自动更新 SSL 证书:
echo "0 3 * * * /usr/bin/certbot renew --quiet" | sudo tee /etc/cron.d/certbot-renew
最后的步骤
更改所有权权限:
sudo chown -R www-data:www-data /usr/share/phpmyadmin
sudo chmod -R 755 /usr/share/phpmyadmin
访问phpMyAdmin
打开网络浏览器并导航至 https://phpmyadmin.example.com
。使用您的管理员凭据登录。您应该看到 phpMyAdmin 仪表板。
结论
恭喜!您已在 Ubuntu 24.04 上使用 Nginx 成功安装并保护 phpMyAdmin。请记住定期更新您的服务器软件包并备份您的数据库。
高级提示:为了增强安全性,请考虑为 phpMyAdmin 中的敏感操作设置双因素身份验证 (2FA)。