Free tools Windows power users keep installed
One-click scans. No signup required.
A WordPress site on Ubuntu is reachable only when every link in the request chain works: the hostname resolves to the right machine, the web server selects the right virtual host, PHP executes, WordPress can reach its database, files have safe permissions, rewrite rules handle WordPress URLs, and the configured URLs match the address visitors use. A break at any layer can produce an Apache default page, a 403, 404, 500, blank response, database error, redirect loop, or no connection at all.
Antihost offers managed WordPress hosting with free migration, one-click staging and a 14-day free trial.
Work from the outside in. Record the exact URL and response first, then test network reachability, virtual-host routing, PHP, the database, permissions, rewrites, and HTTPS in that order. The procedure below covers both Apache and Nginx and identifies what each failure means.
As an Amazon Associate I earn from qualifying purchases.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Scan for outdated or missing drivers - takes under a minute3Clear out junk files and repair common Windows errorsStart by identifying the failure you actually have
Do not begin by reinstalling WordPress. The browser message narrows the failing layer. From the Ubuntu machine, request the site headers with curl -I http://your-hostname (replace the hostname with the address you are testing). Record the status code, the Location header if one is returned, and whether the body is an Apache welcome page, a WordPress page, a PHP download, a blank response, or an application error.
Check the web-server access and error logs at the same time. Apache and Nginx log different details, but both reveal whether a request reached the server and why it was rejected. A request that never appears in a log points to DNS, routing, a firewall, or a listener problem; a logged request moves the investigation into the server, PHP, WordPress, or the database.
#1 Best Overall
- BLUE LIGHT BLOCKING GLASSES: Our blue light glasses for women boast UV400 protection, blocking harmful blue rays from computer screens. With these bluelight glasses women, you can enjoy gaming, reading, or watching TV with no worries of eye strain.
- EYE RELIEF: Our blue light glasses are engineered to reduce blurry vision or strain caused by prolonged screen time. These womens blue light glasses aid in better sleep by preventing blue light from disrupting your natural sleep cycle, helping you fall asleep faster and enjoy a more restful night's sleep, making them the perfect christmas present.
- COMFORTABLE: Crafted from durable material, our trendy blue light glasses for woman or blue light glasses men ensure long-lasting comfort. The high-transmittance lenses accessories, gamer gifts for men, help keep your eyes relaxed. Perfect stocking stuffers, gifts for gamers men, christmas gifts for men, halloween costumes.
- LIGHTWEIGHT: These clear blue light glasses feature a lightweight frame, meaning they’ll stay comfy for long-term wear. Perfect as blue blockers glasses for women or mens blue light glasses, these non-prescription fake glasses for men can be worn throughout the day. The blue light blocking glasses women feature polycarbonate HD lenses, which are anti-reflective and restore true color.
- WORRY-FREE PURCHASE: If you experience any issues, our support team is ready to assist you quickly. These are the perfect costume glasses for cosplay dressing up.
- Connection refused or timeout: investigate the address, listening service, interface, firewall, and port before touching WordPress.
- Apache’s “It works” page or another site: the wrong virtual host is answering.
- 403 Forbidden: inspect directory rules, filesystem traversal, ownership, and index permissions.
- 404 on internal WordPress links: the request reached the site, but rewrite handling is missing or incorrect.
- 500 or a blank page: look for a PHP fatal error, incompatible extension, plugin, theme, or runtime mismatch.
- “Error establishing a database connection”: check the database service, credentials, host, grants, and PHP’s database extension.
- Login redirect loop or an unreachable
/wp-admin: compare WordPress URL settings with the hostname and HTTPS scheme actually being served.
Keep a copy of the current configuration before editing it. A small change in the wrong virtual host or wp-config.php can turn a useful error into a less informative one.
1. Confirm the hostname, IP address, and port
The browser must resolve the hostname you typed to the Ubuntu machine running WordPress. For a local installation, add the name and the machine’s address to the client’s /etc/hosts; for a public site, verify DNS points to the correct server. Test the same name from the same client that reports the problem, because a hosts-file override or split DNS can make one device reach a different machine.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repair Windows errors before they cause bigger problemsFix Now →On Ubuntu, verify that the expected service is running and listening. For Apache, check the apache2 service; for Nginx, check nginx. A refused connection usually means no process is listening on the requested port or a firewall is rejecting it. A timeout more often indicates an unreachable address, blocked traffic, or a service bound only to a different interface. Confirm the listener and firewall state before changing WordPress files.
If curl -I to http://localhost works but the hostname fails, the application is probably running and name resolution or virtual-host selection is the problem. If both fail, continue with the service and port checks rather than DNS changes alone.
2. Make Apache select the intended WordPress site
Ubuntu’s documented WordPress setup uses the WordPress.org release, places it in /srv/www/wordpress, sets that directory as the Apache DocumentRoot, uses index.php as the directory index, grants Apache access to the directory, enables the site and rewrite module, maps the hostname to the machine, and reloads Apache. Missing any one of those settings can make the browser show the default page or an error.
Rank #2
- WINDEX GAMING WIPES: effortlessly clean all your gaming gear and gaming electronics in one easy step with our new Windex Gaming Wipes
- AMMONIA FREE: our ammonia-free formula is safe to use on all of your favorite gaming equipment like consoles, headsets, controllers, screens, keyboards, and more
- PRE-MOISTENED WIPES: each wipe instantly removes dust, dirt, and stubborn smudges and fingerprints leaving a streak-free shine
- ANTI-STATIC: great for cleaning and wiping down your gaming gear and electronics leaving behind no visible residue
- COMPACT RESEALABLE PACKAGE: store your pack of Windex Gaming Wipes anywhere in your home for whenever a quick and easy wipedown is needed
Check the virtual-host identity
In the enabled site configuration, verify all of these values:
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
ServerNameexactly matches the hostname in the browser.DocumentRootpoints to the directory containing WordPress’sindex.php, such as/srv/www/wordpress.- The corresponding
<Directory>block permits access to that directory. DirectoryIndex index.phpis present so the site does not depend on a directory listing or an unrelated index file.
If the default site answers first, disable it or ensure the WordPress virtual host has the correct name and is enabled. Reload Apache after the change with sudo service apache2 reload. A reload applies configuration without stopping the process; if Apache refuses to reload, validate the configuration and read the error log before trying again.
Distinguish a wrong root from a missing file
A default Apache page proves that Apache is reachable, not that WordPress is installed correctly. Compare the configured DocumentRoot with the actual location of index.php. A 404 for the home page can mean the virtual host points at an empty or incorrect directory, while a 403 can mean Apache reached the directory but is not allowed to traverse or serve it.
3. Check the Nginx server block when Apache is not in use
Nginx needs the same information under different directives. In the active server block, verify:
server_namematches the requested hostname.rootpoints to the WordPress directory.index index.phpis configured.- The PHP location passes requests to PHP-FPM through the correct
fastcgi_passsocket or address. - The FastCGI script filename is built from the real document root and requested script, so Nginx does not pass a nonexistent path to PHP-FPM.
Nginx’s access and error logs show whether the request reached the selected server block and whether PHP-FPM returned an error. If Nginx serves static files but downloads .php instead of executing it, the PHP location or PHP-FPM connection is absent. If it returns 404 only for friendly WordPress URLs, the fallback and rewrite rules are incomplete.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Rank #3
- Ergonomic & Adjustable Design: Fight "text neck" and improve your posture. Designed for comfort, it offers an adjustable height (7.1in-8.5in) (1.4in adjustable range) and angle (5°-85°) Please note: cell phone stand is only 9 inches tall—the length of a standard pencil
- Without blocking subtitles Perfect for office desk Tiktok Face Time Zoom video—this is the ultimate kitchen desk essential for phones! Perfect viewing experience while reducing neck back strain, A must-have for gamers streamers desk, and anyone who values both style and support!
- Sleek & Stable Design fits Otterbox Case: Say goodbye to bent cables, tangles, and tip-overs! LISEN’s stylish adjustable desk phone holder features a built-in charging hole and smart cable management, keeping your phone secure and your workspace clutter-free cool gadgets for men
- ANTI-SLIP DESIGN free hands: The under 10.00 items easy gadgets back and the bottom of this kitchen essentials for women are fully covered by anti-skid silicone, which LISEN stand up desk decor can provide maximum protection device from any scratches and slides
- Your Perfect Viewing Companion:If your product arrives damaged or breaks within 365 days, reach out to LISEN for a quick and hassle-free solution. Struggling with assembly, like tightening the screw? We’ve got your back! Your experience matters to us. (Product including: phone Holder stand*1, screw*1, hexagon screwdriver*1, specification*1)
4. Verify PHP execution and the supported runtime
WordPress currently recommends PHP 8.3 or newer, HTTPS, and either MariaDB 10.11 or newer or MySQL 8.0 or newer. Older PHP 7.4 and MySQL 5.5.5 versions may still run WordPress for compatibility, but they are end-of-life and leave the site exposed to unpatched vulnerabilities. Treat an old runtime as a remediation item even if it is not the immediate cause of the outage.
Confirm that the web server executes PHP
Check that PHP is installed, that the web server is configured to pass .php files to it, and that the PHP MySQL/MariaDB extension is present. A PHP file being downloaded as text means execution is not configured; a 500 generated before WordPress renders usually indicates a PHP fatal error or a module/runtime mismatch. Read both the PHP and web-server error logs for the first fatal message, not only the final browser status.
Do not diagnose PHP from the command-line version alone. The PHP binary used by a shell command can differ from the version or configuration loaded by Apache or PHP-FPM. Confirm the web-serving runtime and its enabled extensions, especially the database driver WordPress needs.
Use the error to separate core from extensions
If PHP starts but WordPress produces a blank page or 500, temporarily isolate the failing plugin or theme using a controlled, reversible change and consult the log for the class, function, or file named in the fatal error. Avoid deleting extensions or editing core files as a first response. A runtime upgrade can expose incompatible old code; the log identifies whether the incompatibility is in WordPress itself, a plugin, a theme, or a PHP module.
Recommended Free Tools
5. Test the database service, credentials, and privileges
WordPress cannot render normal pages without its database. Ensure MySQL or MariaDB is running, then compare every database value in wp-config.php with the server’s actual configuration:
Rank #4
- Easy Installation: Our gaming lights have been designed to enhance your entertainment experience. Simply position the led light bar next to your TV or game console to create a game room environment with ease. They come with USB power and a 60 inch cord for direct mounting and mobility
- Audio Syncing & Extensive Mode: The built-in high-sensitivity music sensor allows you to sync the TV led lights to your favorite music. Lights react and move to the beat of music, film and game audio, creating an incredible immersive sound and light experience – and all without the need for an additional hub. You can choose from 64+ patterns, including strobe, illusion, jump, energy, gradient, running, chasing, fluttering mode etc. Each mode can be applied to different scenes
- 64+ Chasing IC+RGB & W Effect: The independent control design of IC+RGB and white all-in-one multifunctional rgbw led bar lights monitor backlight allows you to easily switch the led lights for desk between IC+RGB and white to enjoy a variety of lighting effects, you can choose white lighting mode with high brightness for better illumination when working, etc. Choose IC+RGB lighting mode when you need to create an entertaining atmosphere for the light show, 16 million colours of Color changing rgb light bar let you dance to the beat and create a dynamic party atmosphere
- Dynamic and Dimmable Lights: 1%-full brightness free brightness adjustment gives you the flexibility to adjust dimmable led light bar for room decorations or a variety of occasions
- USB Powered: USB light bars for room can be powered by powernank, usb charger, TV, Monitor, laptop PC mainframe, making behind TV led lighting bar easy to install in any location.TV led lights are powered by the TV usb interface / PC mainframe, can be turned on/off synchronously with TV / PC
DB_NAMEmust be the database containing this WordPress installation.DB_USERandDB_PASSWORDmust identify a valid database account.DB_HOSTmust name the reachable database host and, when applicable, the correct socket or port.
The account also needs privileges on the selected database. Ubuntu’s example setup creates a database and user and grants privileges; WordPress’s installation guidance treats missing permissions as a separate failure from a wrong password. A valid username with no grants still produces a connection error.
A missing PHP MySQL/MariaDB extension can look like bad credentials. Check the extension before repeatedly changing passwords. If the service is running and the values match, inspect the database server log for authentication, host-allowance, or socket errors. Do not paste production passwords into diagnostic output or public support requests.
6. Correct ownership and permissions without making the whole site writable
The web-server account must be able to read WordPress core files and traverse every parent directory. It needs write access only where WordPress is expected to create files, normally selected locations under wp-content. A 403 can result from restrictive directory permissions even when the virtual host is correct; failed updates and uploads can result from insufficient write permission even when pages load.
Inspect the owner, group, mode, and parent-directory traversal bits for the document root and the relevant wp-content directories. Apply the narrowest ownership and permission change that solves the operation. Do not recursively make the entire WordPress tree writable by the web-server account, and do not use a blanket world-writable mode: that turns a web compromise into an easier file-modification path.
Protect wp-config.php deliberately. It contains database credentials, so its permissions should prevent ordinary users from reading it while still allowing the web server to load it. Ubuntu’s documentation notes that ownership and restrictive wp-config.php permissions require an intentional choice; test the site after changing them so a security fix does not become a 500 caused by an unreadable configuration file.
Best Value
- Compatible with Wide Screens - To ensure compatibility with the dual monitor mount, your each monitor must meet three conditions at the same time: First, computer screens size range: 13 to 32 inches. Second, screen weight range: 4.4 to 19.8 lbs. Third, the back of the monitor screen must have VESA mounting holes with a pitch of 75x75mm or 100x100mm.
- Regarding the compatibility with desks - Your desk must meet three conditions at the same time: First, desk material: Only wooden desks are recommended, plastic or glass desks cannot be used. Second, desk thickness range: 0.59" - 3.54". Third, the bottom of the desk should not have any cross beams or panels, as this will interfere with installation. We recommend carefully checking that your desk and monitors meets all above conditions before purchasing.
- Dual C-Clamp Hold - Worried your dual monitors might wobble or slip? Our upgraded base uses a larger platform plus a dual C-clamp structure to lock the dual monitor arm firmly to your desk. Each arm safely keeps your screens steady while you type, click and game—no shaking, no sliding, just a clean and secure setup you can trust every day. It also provides Grommet Mounting installation choice, both options ensure stable and secure fixation for your 0.59" - 3.54" desk.
- Full-Motion Adjustment For Comfortable View - Pull the screen closer when you’re deep in a spreadsheet, push it back to watch videos, or rotate to portrait for coding — moving everything smoothly with just one hand. The monitor stand offers +85°/-50° tilt, ±90° swivel and 360° rotation. Raise your monitor up to 15.75″ to support a healthy sitting posture. Whether you’re working from home, gaming through the night, or switching between video calls and documents, getting the screens to your natural line of sight helps relieve neck, shoulder and back strain so you can stay focused longer with less fatigue.
- Keep Your Desk Organized: By lifting both screens off the desktop, this dual monitor stand opens up valuable space for your keyboard, notebook, docking station or a simple, clutter-free work area. Built-in cable management guides wires along the arms, keeping cords out of sight and out of the way. Enjoy a tidy, modern workstation that looks as good as it feels to use.
7. Repair pretty permalinks and administrative routes
If the home page works but links such as posts, pages, or /wp-admin return 404, the request is reaching WordPress but the web server is not applying its rewrite rules correctly.
Apache path
Enable Apache’s mod_rewrite module and allow the WordPress .htaccess directives in the relevant <Directory> block. The virtual host must point to the directory containing that .htaccess file; otherwise enabling the module alone changes nothing. Reload Apache after editing the site configuration. Once the server rules are correct, open WordPress’s Permalinks settings and save the existing structure again so WordPress regenerates or confirms its rules.
Nginx path
Nginx does not read Apache .htaccess files. Add the equivalent WordPress fallback and PHP handling to the active server block, then reload Nginx. Ensure the fallback sends a missing path to index.php while static files continue to be served directly. A rule copied into an inactive server block will have no effect, so verify the hostname and configuration file Nginx actually loaded.
Separate rewrites from a bad WordPress URL
A direct request to the home page proves little about internal routing. Test one known page, one post, and /wp-admin/. If all friendly paths fail with 404 while a direct PHP entry point responds, focus on rewrites. If requests redirect to a different hostname or repeatedly switch between HTTP and HTTPS, inspect the WordPress URL settings instead.
8. Match WordPress Address, Site Address, and HTTPS
WordPress stores two related URLs: the WordPress Address, where the core files reside, and the Site Address, the public URL visitors use. They can be identical, but they must reflect the hostname and scheme the server actually presents. A stale local hostname, changed domain, or forced HTTPS setting can send every request to an unreachable address or create a redirect loop.
Compare the configured values with the URL used in the browser, the Apache ServerName or Nginx server_name, and any reverse-proxy HTTPS setting. Correct one mismatch at a time and test in a private browser window so an old redirect is not cached. If you cannot reach the dashboard, change the values through the documented configuration or database recovery procedure only after taking a backup; a typo can lock you out of the site.
After HTTP access is stable, use HTTPS. HTTPS is part of WordPress’s current recommended baseline, but enabling it before the hostname, certificate, proxy headers, and WordPress URLs agree can produce loops or mixed-content symptoms. Confirm that the web server receives the intended scheme and that both the front end and /wp-admin remain reachable after the change.
Read common responses as a decision map
| Observed result | Most useful next check | Layer usually involved |
|---|---|---|
| No connection, refusal, or timeout | Hostname resolution, listener, interface binding, firewall, and requested port | Network or service |
| Apache welcome page or another site | Enabled virtual hosts, ServerName/server_name, and document root |
Web-server routing |
| 403 Forbidden | Directory access rules, parent traversal, owner/group, and index permissions | Web server or filesystem |
| 404 only on friendly links | Apache mod_rewrite and .htaccess, or Nginx fallback rules |
Rewrite routing |
| 500 or blank response | First PHP fatal error, loaded PHP version, extensions, plugin, and theme | PHP or WordPress code |
| Database connection message | Database service, wp-config.php values, grants, and PHP database extension |
Database or PHP |
| Redirect loop or unreachable login | WordPress Address, Site Address, HTTPS termination, and proxy scheme | URL and HTTPS configuration |
Apache and Nginx checks at a glance
| Requirement | Apache | Nginx |
|---|---|---|
| Hostname selector | ServerName in the enabled virtual host |
server_name in the active server block |
| WordPress root | DocumentRoot, commonly /srv/www/wordpress in Ubuntu’s example |
root pointing to the WordPress directory |
| Index file | DirectoryIndex index.php |
index index.php |
| PHP hand-off | PHP module or configured PHP-FPM handler | PHP-FPM fastcgi_pass and correct script filename |
| Pretty URLs | Enabled mod_rewrite and permitted .htaccess |
Equivalent rewrite/fallback rules in the server block |
| Configuration change | Reload Apache after validating the site configuration | Reload Nginx after validating the server block |
A safe recovery order
- Write down the exact URL, status, browser message, and whether the response is a default page, PHP output, WordPress output, or blank.
- Run
curl -Ilocally and inspect the relevant access and error logs. - Confirm the hostname maps to the Ubuntu machine and that the intended web service listens on the requested port.
- Verify the Apache virtual host or Nginx server block, including hostname, root, index, and PHP hand-off.
- Confirm the web-serving PHP runtime and database extension, then read the first fatal error if PHP fails.
- Check the database service, all four connection values, account privileges, and database-driver availability.
- Review ownership and permissions, granting only the read and narrowly scoped write access WordPress needs.
- Repair rewrite handling and resave permalinks after the server rules are active.
- Align WordPress Address and Site Address with the served hostname, then configure HTTPS once the unencrypted path is reliable.
This order prevents a rewrite change from hiding a DNS problem, a permission change from masking a PHP error, or an HTTPS redirect from obscuring an incorrect WordPress hostname. It also leaves a clear record of which layer was tested and what the server returned.
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.




