在 Ubuntu 上把 sqladmin(通常指 phpMyAdmin 或类似数据库管理工具)绑定到域名,本质就是 通过 Web 服务器(Nginx / Apache)配置一个域名虚拟主机,然后把 sqladmin 放进去。下面给你两种最常见方案。
sqladmin.example.com → 服务器公网 IP
/usr/share/phpmyadmin
或你自己部署的:
/var/www/sqladmin
sudo nano /etc/nginx/sites-available/sqladmin
示例配置(phpMyAdmin):
server {
listen 80;
server_name sqladmin.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:/run/php/php8.1-fpm.sock; # 根据 PHP 版本调整
}
location ~ /\.ht {
deny all;
}
}
✅ 如果是自己项目:
root /var/www/sqladmin;
sudo ln -s /etc/nginx/sites-available/sqladmin /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d sqladmin.example.com
sudo nano /etc/apache2/sites-available/sqladmin.conf
<VirtualHost *:80>
ServerName sqladmin.example.com
DocumentRoot /usr/share/phpmyadmin
<Directory /usr/share/phpmyadmin>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/sqladmin_error.log
CustomLog ${APACHE_LOG_DIR}/sqladmin_access.log combined
</VirtualHost>
sudo a2ensite sqladmin.conf
sudo systemctl reload apache2
sudo apt install certbot python3-certbot-apache
sudo certbot --apache -d sqladmin.example.com
✅ 不要直接暴露 sqladmin 到公网
推荐做法:
allow 1.2.3.4;
deny all;
sudo apt install apache2-utils
htpasswd -c /etc/nginx/.htpasswd admin
location / {
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htpasswd;
}
https://sqladmin.example.com/dbadmin
root 路径是否正确ping sqladmin.example.com
sudo systemctl restart php8.1-fpm
sudo systemctl restart nginx
✅ 核心步骤
如果你愿意,可以把下面信息发我,我可以给你精确配置:
我可以直接给你一份「可直接复制用」的完整配置。