To open phpMyAdmin at a hostname such as pma.example.com, configure three layers: DNS must send the hostname to the correct server or proxy, Apache or nginx must route that hostname to the phpMyAdmin files and PHP runtime, and HTTPS must protect the connection. After the route works, add web-server access controls and keep phpMyAdmin’s own authentication enabled.
Need a server to try this on? Antihost offers Linux VPS plans with NVMe storage, full root access and a 14-day free trial.
What “pointing phpMyAdmin to a subdomain” actually involves
A subdomain is not a shortcut around web-server configuration. DNS only answers the question “which IP address or hostname should receive requests for pma.example.com?” The web server still has to recognize that hostname and serve the phpMyAdmin application.
As an Amazon Associate I earn from qualifying purchases.
Free tools Windows power users keep installed
One-click scans. No signup required.
A normal request follows this path:
- A browser looks up
pma.example.com. - The DNS response identifies your web server, load balancer, reverse proxy or CDN.
- The request arrives with a
Hostvalue ofpma.example.com. - The matching Apache virtual host or nginx server block selects the phpMyAdmin directory and PHP handler.
- PHP runs phpMyAdmin, which connects to the configured MySQL-compatible database server.
phpMyAdmin is browser-based, so it requires a web server such as Apache, nginx or IIS, PHP, and a supported MySQL-compatible database. The Apache and nginx examples below assume phpMyAdmin is already installed or that you will install it before creating the hostname route.
Prerequisites and decisions
- A registered domain and DNS control: You need permission to create a record for the chosen subdomain.
- A server or proxy: Know which machine terminates HTTP and HTTPS. If a CDN or reverse proxy sits in front, know whether it preserves the original host and scheme.
- phpMyAdmin’s filesystem path: Package installations commonly use a system directory; an upstream archive may be under a web directory such as
/var/www/phpmyadmin. Use the real path in every directive. - PHP: Use the PHP version and extensions supported by your phpMyAdmin release, together with the PHP handler already used by your site.
- A MySQL-compatible account: Prefer a dedicated account with only the privileges administrators need.
- TLS certificate capability: The public name must have a certificate covering it before you expose the login page over HTTPS.
Choose a hostname that is easy to recognize but does not disclose more than necessary. pma.example.com is conventional; an internal-only name can be safer when the interface is reachable only through a VPN or allowlisted network.
#1 Best Overall
- [Ultra-Lightweight Ear Buds Designed for Small Ears] Each earbud weighs only 3.7g and features a compact, ergonomic in-ear design made especially for small ears. Secure, low-profile, and comfortable for workouts, all-day wear or overnight sleeping.The ultra-slim profile sits flush in your ear with no hard edges poking or rubbing, so you can even sleep on your side without discomfort.
- [Immersive Stereo Sound with TOZO OrigX Technology] TOZO OrigX tuning delivers clear vocals, balanced mids, and natural stereo sound for music, podcasts, and videos.
- [Long Battery Life for Daily Use] Get up to 7 hours of playtime on a single charge, with up to 32 hours total using the charging case—ideal for workdays, commuting, and extended listening sessions.
- [Bluetooth 5.3 & Stable Connection] Bluetooth 5.3 provides fast pairing, stable wireless performance, and reduced dropouts as you move around home or office.
- [Deep Bass with Clear Vocals] High-performance drivers produce punchy bass while keeping vocals clean and detailed for everyday listening.
Create the DNS record
Use the record type that matches your hosting topology. Do not create both an A record and a CNAME for the same name.
| Topology | Record | What it does |
|---|---|---|
| One server with a stable IPv4 address | A | Maps pma.example.com directly to the server’s IPv4 address. |
| One server with IPv6 | AAAA | Maps the name to the server’s IPv6 address. Add an A record as well if both protocols are used. |
| Load balancer, reverse proxy or provider hostname | CNAME | Delegates the hostname to another DNS name that your provider operates. |
Set the record at the DNS provider authoritative for your domain. A low TTL can make an initial change visible sooner, but it does not bypass resolver caches that already hold the previous value. Wait for the record to appear from several networks before diagnosing a web-server problem.
Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repair Windows errors before they cause bigger problemsFix Now →Check the result from a shell:
dig +short pma.example.com A
dig +short pma.example.com AAAA
nslookup pma.example.com
The returned address or canonical name must be the endpoint that will receive the web request. If a proxy is involved, configure its origin to reach the server and make sure it forwards the original host name; otherwise the origin may select the wrong virtual host.
Install phpMyAdmin and identify its path
Install the operating-system package or download the upstream release using the project’s documented procedure. Package managers may place files in a distribution-specific directory and may create an Apache or PHP integration automatically. An archive installation gives you more control over the path but also leaves updates and permissions to you.
Before writing the virtual host, determine:
- The absolute directory containing
index.php. - The PHP-FPM socket or Apache PHP handler used by the rest of the server.
- Where the installation stores its configuration, usually a file named
config.inc.php. - Which user owns the files and which user runs PHP.
Do not make the entire installation world-writable. The web-server user needs to read application files and write only to directories that the phpMyAdmin documentation explicitly requires, such as a temporary area. Remove the installation’s setup directory after configuration; leaving it available creates an unnecessary administrative surface.
Rank #2
- 【IP68 Waterproof Multifunctinal Smart Watch】Torjalph fitness activity tracker smart watch is IP68 waterproof technology ,you can wear it when swimming,handwashing,it's rain-proof which means that you perform multiple exercise modes outside without worrying about sweat or rain corroding your fitness smart watch,and this watch equipped with a 230 mAh large capacity battery magnetic charging ,and this sports activity tracker watch can be used 5-7 days If fully charged.
- 【Larger 1.83'' Full Screen Watch & Multi-dial Selection】1.83 inch full HD color touch screen smart watch for men / women provides excellent 240*284 resolution image quality ,This Bluetooth smart watch offers a better touch experience and remarkable immersion and ,more than 200 watch faces for you to choose from App"Da Fit ", you can change the dial style according to your mood to wear keeping the world on your wrist
- 【Accurate Activity Tracker Smart Watch 】sports watch activity tracker uses sweat and dust resistant breathable silicone strap, our Fitness Tracker Smart Watch for Android iOS Phones supports 12 sports modes,walking,running,bicycle,swimming,badminton,basketball,football,rope skipping. This bluetooth calls smart watch for men women is lightweight and stylish, bringing more convenient and relaxing sports experience while also providing more protection.
- 【Your 24 Hour Personal Daily Health Monitor】Fitness watch for women men full touch screen IP67 waterproof bluetooth smartwatch for Android iOS Phones with heart rate blood pressure monitor multifunction Andriod smart watch with steps counter sleep monitor sports fitness watch, monitoring blood oxygen saturation allows you to understand your physical condition in real time to track fitness progress ,to know your health status in time.
- 【More Functions Bluetooth Call Smart Watch】This fitness activity smart watch full screen for iPhone and Android phones includes a bunch of new features including:The bluetooth smart watch can hang up the phone, receive and display WhatsAPP /Text /Facebook /Twitter /Messenger reminder.Support sedentary reminder, alarm clock, stopwatch, timer,weather information,music control, remote camera control compatible with Android 5.0 and above or iOS 9.0 and above smartphones.
Configure Apache
Apache uses a virtual host selected by the requested hostname. The following layout separates the HTTP redirect from the TLS virtual host and maps the root URL directly to the phpMyAdmin directory with an Alias. Replace the example path with your installed path.
1. Redirect port 80 to HTTPS
<VirtualHost *:80>
ServerName pma.example.com
Redirect permanent / https://pma.example.com/
</VirtualHost>
The redirect keeps users from submitting credentials over an unencrypted connection. If another application already owns port 80, add the redirect to the virtual-host configuration that owns pma.example.com, rather than creating two competing definitions.
2. Serve phpMyAdmin from the TLS virtual host
<VirtualHost *:443>
ServerName pma.example.com
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/pma.example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/pma.example.com/privkey.pem
Alias / /var/www/phpmyadmin/
<Directory /var/www/phpmyadmin/>
Options FollowSymLinks
AllowOverride None
Require all granted
DirectoryIndex index.php
</Directory>
</VirtualHost>
Use the certificate and key paths produced by your certificate service. The example assumes PHP execution is already enabled globally or by the site’s normal Apache configuration. If this server uses PHP-FPM, add the same Apache-to-FPM handler used by another working PHP site and adjust its socket to the installed PHP version. Do not copy a socket path from an unrelated server.
3. Enable, validate and reload Apache
On distributions that provide site-management commands, enable the site and the required SSL, alias and PHP modules using the distribution’s normal method. Then validate the complete configuration before reloading:
sudo apachectl configtest
sudo systemctl reload apache2
A successful syntax check does not prove that the alias, permissions or PHP handler are correct. Test the hostname in a private browser window and inspect the Apache error log if the page is blank, downloads PHP source, or returns a server error.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Rank #3
- [Low Noise High Fidelity] New bee guitar cord with 22AWG oxygen-free-copper center conductors provides enhanced signal transfer, the PVC insulation material and the high-density stranded copper double shield provide noise rejection for quiet operation
- [Ideal for Choice] New bee 1/4 straight and right angle metal connectors, ensures a secure connection in any instrument, pedal, or amp jack. L shape great fro on stage guitar stands
- [Wide Compatible] Suitable for mixer, power amplifier, microphone, effector, decoder, equalizer, electoronic organ, electric guitar, electric bass and other electronic equipments. Widely used in the installation of smart home, karaoke speaker, professional stage audio, etc
- [Easy Disassemble] Making incidental repairs quick and easy! Very nice, flexible cable
- [Dont Hesite to Order] 24 hours customer services and professional technology team are standing by
4. Add an Apache authentication layer
For an internet-facing administrative interface, a second gate in front of phpMyAdmin reduces exposure. Apache’s Basic Authentication pattern uses a password file and requires a valid user:
<Directory /var/www/phpmyadmin/>
AuthType Basic
AuthName phpMyAdmin
AuthUserFile /etc/apache2/.htpasswd-pma
Require valid-user
</Directory>
Create the password file with Apache’s password utility, protect it from web access, and use a separate credential from every MySQL account. Basic Authentication is safe only when the entire exchange is protected by HTTPS. You can instead enforce an IP allowlist or put the application behind an authentication proxy, depending on how administrators connect.
Configure nginx
nginx serves static files itself and forwards PHP scripts to PHP-FPM. The socket shown below is an example for PHP 8.3; inspect the active PHP-FPM service on your system and use its actual socket.
1. Redirect HTTP
server {
listen 80;
server_name pma.example.com;
return 301 https://pma.example.com$request_uri;
}
2. Create the HTTPS server block
server {
listen 443 ssl;
server_name pma.example.com;
root /var/www/phpmyadmin;
index index.php;
ssl_certificate /etc/letsencrypt/live/pma.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/pma.example.com/privkey.pem;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
fastcgi_param HTTP_HOST $host;
}
location ~ ^/(libraries|templates)/ {
deny all;
}
}
The exact include file differs by distribution. Keep the standard FastCGI parameters supplied by your working PHP sites, and verify that the PHP location does not accidentally expose source files. Restricting direct HTTP access to internal directories helps prevent users from requesting application support files. Remove setup rather than relying only on a deny rule.
Recommended Free Tools
3. Validate and reload nginx
sudo nginx -t
sudo systemctl reload nginx
Open https://pma.example.com and test the login page, JavaScript-driven navigation, cookies and a small import. A successful HTML response alone does not prove that PHP-FPM can execute every request.
Rank #4
- Digital Family Calendar: BSIMB digital calendar wall touch screen puts an end to your chaotic life. Designed for busy families, the digital calendar keeps you organised and in step with your family. Assign different colours and tasks to each family member to make family scheduling easier and more intuitive.
- Easy Setup and Auto-Sync: Plug in, connect to WLAN and auto-syn your electric calendar in minutes. Digital wall calendar compatible with Google calendar, iCloud calendar, Outlook calendar, Cozi calendar and Yahoo calendar. Add events directly on the device or through the ecalendar app. Electronic calendar stays current whether you're at work or traveling—no manual updates needed.
- All-In-One Home Assistant: Smart calendar builds habits and encourage independence with personalised chores. Display daily meal plan to reduce the daily ‘What's for dinner?’ stress. To-do lists keep track of everything you want. Turning chores into valuable achievements with stars and rewards, making life easier and more enjoyable.
- Manage Anytime Anywhere: BSIMB electronic calendar for family stay connected with the powerful ecalendar app. Access and manage your digital wall calendar anytime, anywhere with free features like stars & rewards, photo screensaver, chore charts, meals plans, to-do lists etc. Electronic planner paid features like Magic Import tailor advanced tools for users with special needs.
- Stay in Touch with Loved Ones: Share photos or videos from your phone to electronic wall calendar with app, instantly update your life moment, and keep in touch with your family, especially those who are far away; you can also surprise your smart calendar digital wall by sending him a wish card; it's also great for keeping tech-illiterate elders in touch with the youngsters.
4. Account for nginx HTTP/3
phpMyAdmin documents a hostname issue when nginx HTTP/3 is enabled and the PHP-FPM request does not receive the original host. Keep this parameter in the PHP-FPM location:
fastcgi_param HTTP_HOST $host;
A missing host value can affect two-factor authentication and other hostname-dependent behavior. If HTTP/3 traffic behaves differently from HTTP/2, compare the forwarded parameters and the PHP-FPM environment rather than changing phpMyAdmin credentials.
Choose phpMyAdmin authentication and database credentials
phpMyAdmin supports four authentication modes: cookie, config, http and signon. Cookie mode is the default and lets each user authenticate with a MySQL account. HTTP mode relies on authentication performed by the web server, such as the Apache Basic Authentication layer shown above.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Fix the driver behind crashes, sound loss and screen glitches3Repair Windows errors before they cause bigger problems| Mode | Where the first login occurs | Important consideration |
|---|---|---|
cookie |
phpMyAdmin login form | Default mode; users supply their own MySQL-compatible credentials. |
http |
Web-server authentication prompt | Depends on Apache or nginx authentication and still requires appropriate database access. |
config |
Credentials stored in phpMyAdmin configuration | Avoid a broadly privileged password in a publicly readable configuration file. |
signon |
An external sign-on flow | Requires a correctly configured single-sign-on integration and trusted session handling. |
Use the least-privilege database account that supports the administrative tasks required. Keep config.inc.php outside direct download paths when your installation layout permits it, restrict its filesystem permissions, and update phpMyAdmin and PHP through your normal maintenance process.
If a reverse proxy terminates TLS, ensure it forwards the original host and scheme and that Apache, nginx and phpMyAdmin agree that the external request is HTTPS. Incorrect proxy headers commonly cause login loops, incorrect redirects or cookies that are rejected by the browser.
Best Value
Secure the public administrative endpoint
phpMyAdmin’s own guidance is unambiguous: “Serve phpMyAdmin on HTTPS only. Preferably, you should use HSTS as well, so that you’re protected from protocol downgrade attacks.” Configure HSTS only after HTTPS works reliably for the hostname and all required subdomains; an overly broad policy can make recovery harder if another service still needs HTTP.
The same guidance recommends removing setup, restricting auxiliary libraries and templates paths, protecting temporary files, selecting an appropriate authentication method and considering an authentication proxy. A practical deployment checklist is:
- Install a certificate that includes the exact subdomain and renew it automatically.
- Redirect every HTTP request to HTTPS and verify that no alternate port bypasses the policy.
- Remove the
setupdirectory after installation. - Prevent direct downloads of configuration, temporary and internal application files.
- Use cookie or HTTP authentication instead of embedding a powerful database password in a public configuration file.
- Add a second gate such as Basic Authentication, an IP allowlist, VPN access or an authentication proxy for an internet-facing deployment.
- Review access logs and failed-login events, and keep the operating system, PHP and phpMyAdmin packages current.
phpMyAdmin also recommends considering an authentication proxy so users authenticate before presenting MySQL credentials to phpMyAdmin. This is especially useful when the subdomain is reachable from the public internet but the administrative team already uses a central identity system.
Verify the complete setup
- Confirm DNS: Resolve
pma.example.comfrom a network outside your server’s local resolver and verify that the result reaches the intended endpoint. - Confirm virtual-host selection: Request the hostname, not the server IP. The response should be the phpMyAdmin page rather than the default site.
- Confirm the redirect: Run
curl -I http://pma.example.comand check for a permanent redirect to the HTTPS URL. - Confirm the certificate: The browser must show a valid certificate for
pma.example.com, with no name mismatch or expired chain. - Confirm PHP execution: The login page must render as HTML. A download prompt containing PHP source means the PHP handler is missing or mapped incorrectly.
- Confirm authentication: Test the selected web-server gate, phpMyAdmin login mode and a database account with deliberately limited privileges.
- Confirm stateful features: Navigate between pages, sign out and back in, and test a small export or import. This catches cookie, session and upload-size problems that a simple page load misses.
- Confirm logs: Check Apache or nginx, PHP-FPM and database logs while performing a test request. Keep the exact timestamp and hostname when investigating intermittent failures.
Troubleshoot common failures
| Symptom | Likely cause | Fix |
|---|---|---|
| DNS resolves, but the old or default website appears | The request reaches the server, but no virtual host or server block matches the hostname. | Check the exact ServerName or server_name, remove duplicate definitions, reload the server and inspect which site answers the request. |
| 404 Not Found | The Alias, document root or filesystem path is wrong. | Verify that the configured directory contains index.php, that the web-server user can traverse each parent directory, and that the active configuration is the one you edited. |
| PHP source downloads or appears as text | PHP execution is not enabled for this virtual host, or nginx is not forwarding to PHP-FPM. | Reuse the PHP handler from a known-working site, verify the PHP-FPM socket, test configuration syntax and reload. |
| 502 Bad Gateway under nginx | PHP-FPM is stopped, the socket path is wrong, or permissions prevent nginx from connecting. | Check the PHP-FPM service status and error log, use the socket actually created by the installed PHP version, and confirm socket ownership and mode. |
| Login repeatedly returns to the login page | Cookies, session storage, forwarded host or forwarded scheme are inconsistent behind a proxy. | Verify HTTPS detection, preserve the original host, check cookie-domain and secure-cookie behavior, and compare direct-origin and proxied requests. |
| HTTP/3 requests fail while HTTP/2 works | PHP-FPM is not receiving the original host value. | Add fastcgi_param HTTP_HOST $host; to the nginx PHP location and retest two-factor and hostname-dependent functions. |
| Certificate warning | The certificate does not include the subdomain, is expired, or the proxy and origin present different certificates. | Issue or renew a certificate for the exact hostname and configure the correct chain at the TLS termination point. |
| Login page is indexed or publicly exposed | No network restriction or secondary authentication layer is in place. | Enforce HTTPS, add web-server authentication or an allowlist, remove setup files, and apply the project’s access and indexing restrictions. |
Apache or nginx: which route should you use?
| Decision point | Apache | nginx |
|---|---|---|
| Existing stack | Best fit when the server already uses Apache virtual hosts and its PHP integration. | Best fit when the server already uses nginx server blocks and PHP-FPM. |
| PHP integration | May use a built-in PHP module or proxy requests to PHP-FPM; match the existing site. | Passes PHP requests to PHP-FPM through fastcgi_pass. |
| Routing syntax | VirtualHost, ServerName, Alias and Directory. |
server, server_name, root and location. |
| Access control | Basic Authentication and directory rules can be declared in the virtual host or directory context. | Use server-level authentication, location rules or the authentication layer already deployed in front of nginx. |
| Reverse-proxy behavior | Forwarded host and scheme must reach PHP and phpMyAdmin when another proxy terminates TLS. | FastCGI parameters, especially HTTP_HOST, must preserve the external request details. |
| Administrator familiarity | Choose it if your team already maintains Apache configuration and logs. | Choose it if your team already maintains nginx and PHP-FPM configuration and logs. |
Neither server is inherently required for a subdomain. The reliable choice is the one already serving your site, because reusing its PHP, TLS, logging and access-control patterns avoids a second, inconsistent stack.
Maintain the subdomain after launch
Record the DNS target, certificate renewal method, phpMyAdmin path, PHP-FPM socket or Apache PHP handler, authentication method and emergency access procedure. Recheck the hostname after every web-server, PHP or proxy change. When upgrading phpMyAdmin, verify file ownership, review configuration changes, remove any recreated setup directory and repeat the login, cookie and import tests.
If the DNS target changes, update the certificate and proxy configuration as part of the same change window. Keep a temporary direct administrative route only if it is protected and documented; exposing a second unmaintained copy of phpMyAdmin creates more risk than it removes.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




