phpMyAdmin是一个基于Web的MySQL或MariaDB数据库管理工具。它允许用户执行创建、编辑和删除数据库、表和记录等数据库操作,而无需直接使用命令行。phpMyAdmin特别适合不熟悉SQL命令的用户。在Ubuntu上,它可以作为LAMP(Linux、Apache、MySQL、PHP)栈的一部分安装,提供可通过Web浏览器访问的图形界面,使其成为在Linux环境中管理数据库的开发人员和管理员的流行选择。

在本教程中,我们将向您展示如何在Ubuntu 24.04上安装PhpMyAdmin并配置Nginx,同时提供Let’s Encrypt SSL安全证书的最佳实践。

前提条件

• 一台运行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密码。

• 移除匿名用户。

• 禁止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;

配置Nginx支持phpMyAdmin

创建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的选项。

自动续期证书

设置定时任务以自动续期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

打开Web浏览器并导航至https://phpmyadmin.example.com。使用您的管理员凭据登录。您应该能看到phpMyAdmin仪表盘。

总结

恭喜!您已成功在Ubuntu 24.04上安装并安全配置了phpMyAdmin与Nginx。请记得定期更新服务器软件包并备份数据库。

进阶提示:为了增强安全性,建议为phpMyAdmin中的敏感操作设置双因素认证(2FA)。