Accessing phpMyAdmin in Vesta Control Panel
19.09.2025
Vesta Control Panel (VestaCP) includes phpMyAdmin, a web-based tool for managing MySQL or MariaDB databases. Here is how to access, configure, and troubleshoot phpMyAdmin in VestaCP.
For closely related VestaCP and phpMyAdmin topics, see VestaCP — Missing Language Files, "No Language Defined" Error in VestaCP, Using phpMyAdmin for a Website, and phpMyAdmin "Error During Session Start".
Access phpMyAdmin in VestaCP
Login to VestaCP
- Go to your VestaCP login URL:
http://your-server-ip:8083
Open phpMyAdmin
- Navigate to the "DB" (Database) section in VestaCP.
- Click the phpMyAdmin link at the top-right corner.
Login to phpMyAdmin
- Use your database username and password to log in.
If you do not remember your credentials:
- Look for them in your VestaCP database management section.
- Or check the database configuration file of your application (e.g.,
wp-config.phpfor WordPress).
Default URL for phpMyAdmin
The default phpMyAdmin URL in VestaCP is:
http://your-server-ip/phpmyadmin
If you have changed your server domain or added SSL, it might be:
https://your-domain.com/phpmyadmin
Common Configurations
Changing phpMyAdmin Access URL
- Open the configuration file:
- Modify the location block to change the URL. For example:
- Save the file and restart Nginx:
sudo nano /etc/nginx/conf.d/phpmyadmin.conf
location /custom-phpmyadmin-url {
alias /usr/share/phpMyAdmin;
index index.php;
}
sudo systemctl restart nginx
Enable SSL for Secure phpMyAdmin Access
- Install a valid SSL certificate for your server (e.g., via Let's Encrypt in VestaCP).
- Force SSL redirection for phpMyAdmin:
- Edit the Nginx configuration file:
sudo nano /etc/nginx/conf.d/phpmyadmin.conf - Add:
server {
listen 443 ssl;
server_name your-domain.com;
ssl_certificate /path/to/ssl.crt;
ssl_certificate_key /path/to/ssl.key;
location /phpmyadmin {
alias /usr/share/phpMyAdmin;
index index.php;
}
}
- Save and restart Nginx:
sudo systemctl restart nginx
Troubleshooting phpMyAdmin Issues
| Issue | Solution |
|---|---|
| Cannot Access phpMyAdmin - Error 404 |
|
| Access Denied | Confirm database credentials in VestaCP or the application config file. |
| phpMyAdmin Not Loading Properly |
|
| Too Many Redirects |
|
| phpMyAdmin Fails After Update |
|
Securing phpMyAdmin
- Restrict Access by IP:
- Edit the Nginx config for phpMyAdmin:
location /phpmyadmin { allow 192.168.1.0/24; deny all; } - Password Protect phpMyAdmin:
- Create a password file:
sudo htpasswd -c /etc/phpmyadmin/.htpasswd admin - Update Nginx config:
location /phpmyadmin {
auth_basic "Restricted Access";
auth_basic_user_file /etc/phpmyadmin/.htpasswd;
}
- Access phpMyAdmin via VestaCP or directly through
http://your-server-ip/phpmyadmin. - Configure SSL and secure access with IP restrictions or password protection.
- If phpMyAdmin is not working, check installation, PHP extensions, and server configurations.
`http://your-domain/phpmyadmin/` or `https://your-domain/phpmyadmin/`. VestaCP's nginx config maps this path automatically when phpMyAdmin is installed. Some installs use `/pma/` as alias. Check VestaCP web admin → Settings → check installed packages.
`apt install phpmyadmin` (Debian/Ubuntu) or `yum install phpmyadmin` (CentOS). Then add nginx location block pointing /phpmyadmin to phpMyAdmin's path. VestaCP's nginx tmpls may have this commented; uncomment + reload nginx.
In the /phpmyadmin location block: `allow 192.0.2.5; deny all;`. Restart nginx. Now only listed IPs can reach the URL — others get 403. Add your office static IP and admin home IP. Combined with HTTPS, phpMyAdmin is reasonably secure.
Rename location: `/dba-X7K9/` in nginx location block. URL becomes `/dba-X7K9/`. Reduces bot scanning hits. Combined with IP allowlist + HTTPS + 2FA on phpMyAdmin login, this is fairly hardened. Don't rely on obscurity alone; layer with other defenses.
Using phpMyAdmin for a Website
Fixing phpMyAdmin "Error During Session Start" — Complete Guide
Fixing depth_zero_self_signed_cert in cPanel with a Self-Signed Certificate


