How do I restrict access to phpmyadmin?
By default, the phpMyAdmin interface is accessible from any IP address. You can restrict access to the application through the settings:
- network services in the control panel;
- Apache or Nginx web server.
Configuring network services
Note
With this setting, access will be restricted to all web server websites.
- Enter Monitoring and logs → Network services.
- Select the web server service:
- httpd — if you are using Apache;
- nginx — if you are using Nginx.
- Press Add rule.
- Specify the rule settings:
- Select Action — Allow for.
- Enable the Deny access for all option.
- Enter Allowed IP addresses — the IP address or network from which you want to allow access.
- Press Ok.
- Connect to the server with ISPmanager via SSH.
- Open the phpMyAdmin configuration file:
- CentOS — /etc/httpd/conf.d/phpmyadmin.conf;
- Debian, Ubuntu — /etc/apache2/conf.d/phpmyadmin.conf.
- CentOS — /etc/httpd/conf.d/phpmyadmin.conf;
Replace the strings
Order allow,deny Allow from all
CODEwith
Order deny,allow Deny from all Allow from <permitted IP address or subnet>
CODENote
For the authentication settings to work correctly, add the IP address of the control panel to the list of permitted IP addresses.
Restart Apache:
CentOS
systemctl restart httpd
CODEDebian, Ubuntu
systemctl restart apache2
CODE- Connect to the server with ISPmanager via SSH.
- Open the phpMyAdmin configuration file /etc/nginx/vhosts-includes/phpmyadmin.conf.
Add the following strings to the location /phpmyadmin section
allow <permitted IP address or subnet>; deny all;
CODENote
For the authentication settings to work correctly, add the IP address of the control panel to the list of permitted IP addresses.
Example of settings
location /phpmyadmin { alias /usr/share/phpMyAdmin; index index.php; allow 192.0.2.142; allow 192.168.1.0/24; deny all; }
CODERestart Nginx:
systemctl restart nginx
CODE