Free tools Windows power users keep installed
One-click scans. No signup required.
You can run WordPress on a fresh Ubuntu Server 24.04 host by installing Apache, MySQL, PHP and the required PHP extensions, then connecting an Apache virtual host to a dedicated WordPress database. This guide puts the files in /srv/www/wordpress, serves them through Apache, and ends at the WordPress setup screen. The HTTP configuration is suitable for a local or test deployment; a public site must add HTTPS, updates, backups and tighter isolation.
Antihost offers managed WordPress hosting with free migration, one-click staging and a 14-day free trial.
You need a fresh Ubuntu Server 24.04 system with sudo access. For production, also prepare a hostname or domain, a TLS certificate plan, firewall rules, a backup destination and an update schedule. Ubuntu lists 1.5 GB RAM as the minimum for an ISO installation, 1 GB for a cloud image, and 5 GB of storage; 3 GB RAM and 25 GB storage are suggested for a more useful installation. See Ubuntu Server system requirements.
As an Amazon Associate I earn from qualifying purchases.
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchPC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11What this installation creates
The finished server has four working layers:
- Apache accepts web requests and maps the domain to the WordPress document root.
- PHP executes WordPress code through Apache.
- MySQL stores posts, settings, users and plugin data in a database dedicated to this site.
- WordPress supplies the application files and browser-based installer.
WordPress currently recommends PHP 8.3 or newer, MySQL 8.0 or newer or MariaDB 10.11 or newer, HTTPS, and Apache or Nginx with mod_rewrite. Older versions may still run WordPress, but WordPress classifies legacy versions as end-of-life and warns about their security exposure. Check the current baseline at WordPress requirements. Apt selects the exact package point versions available in your configured Ubuntu repositories, so verify versions on the target host rather than copying a version number from another machine.
Check the host before installing
Confirm Ubuntu and privileges
Log in to the Ubuntu 24.04 server and confirm that your account can use sudo. A hostname or domain is optional for a local test, but a production site should have its DNS record ready before you request a certificate. Keep the server’s package sources enabled and reachable; the commands below deliberately use Ubuntu’s repositories and the upstream WordPress release.
#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.
Choose the deployment boundary
This guide follows the convenient single-site ownership model used in Canonical’s tutorial. The web server account, www-data, owns the WordPress tree so that the installer and ordinary uploads can work without manual ownership changes. Canonical warns that making an entire site tree owned by www-data can be insecure on a multi-site server. For several sites or a higher-risk host, use a separate Unix account per site and an isolated PHP-FPM pool instead of sharing one writable web-server account. The reference procedure is documented in Canonical’s WordPress tutorial.
Install Apache, MySQL, PHP and WordPress extensions
Refresh package metadata first:
sudo apt update
Install Apache, MySQL, PHP, the Apache PHP module and the extensions commonly required by WordPress:
Recommended Free Tools
sudo apt install apache2 ghostscript libapache2-mod-php mysql-server php
php-bcmath php-curl php-imagick php-intl php-json php-mbstring
php-mysql php-xml php-zip
The important integration packages are libapache2-mod-php, which lets Apache execute PHP, and php-mysql, which supplies PHP’s MySQL connectivity. Ubuntu documents that integration in its PHP installation guide. Ghostscript and the image, XML, archive, internationalisation and multibyte extensions cover common WordPress and media-library requirements; installing them now avoids stopping at the setup screen because an extension is missing.
Verify services and the PHP runtime
MySQL normally starts automatically after installation. Check both services and the PHP command-line version before downloading WordPress:
sudo systemctl status apache2
sudo systemctl status mysql
php -v
Ubuntu’s database documentation also shows sudo service mysql status as a service check; see Ubuntu’s MySQL guide. If either service is inactive, resolve that service problem before configuring WordPress. The PHP version printed here is the version provided by your enabled repositories; compare it with WordPress’s current recommendation rather than assuming every Ubuntu installation has the same point release.
Download WordPress into a known document root
Create the standard site directory, give it to the web account used by this single-site procedure, and stream the latest upstream archive directly into it:
sudo mkdir -p /srv/www
sudo chown www-data: /srv/www
curl https://wordpress.org/latest.tar.gz | sudo -u www-data tar zx -C /srv/www
This creates /srv/www/wordpress. Canonical prefers the upstream WordPress release over Ubuntu’s archive package in its installation tutorial, so the command above follows that approach. If you operate multiple sites, do not blindly reuse the shared ownership pattern; apply the per-site account and PHP-FPM isolation described earlier.
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
Configure Apache for the WordPress site
Create the virtual host
Create /etc/apache2/sites-available/wordpress.conf with the following content. Replace example.com with the hostname that will resolve to this server. For a local-only test, use the host name you will enter in your browser or a temporary DNS or hosts-file entry.
<VirtualHost *:80>
ServerName example.com
DocumentRoot /srv/www/wordpress
<Directory /srv/www/wordpress>
Options FollowSymLinks
AllowOverride Limit Options FileInfo
DirectoryIndex index.php
Require all granted
</Directory>
<Directory /srv/www/wordpress/wp-content>
Options FollowSymLinks
Require all granted
</Directory>
</VirtualHost>
DocumentRoot points Apache at the WordPress files. DirectoryIndex index.php makes the WordPress front controller the default index, while AllowOverride Limit Options FileInfo permits the directives WordPress writes for permalinks in .htaccess. The separate wp-content block allows the media and plugin directory to be served while retaining explicit directory rules.
Enable the site and rewrite support
Enable the new virtual host, enable Apache’s rewrite module, remove the default page if it would otherwise win the request, and reload Apache:
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
sudo a2ensite wordpress
sudo a2enmod rewrite
sudo a2dissite 000-default
sudo systemctl reload apache2
Apache configuration files live below /etc/apache2/. The directory layout, virtual-host directives and enable/reload sequence are covered by Ubuntu’s Apache documentation and Canonical’s WordPress procedure.
Create a least-purpose MySQL database and user
Open the local MySQL administrative client:
sudo mysql
At the MySQL prompt, create a UTF-8 database and a localhost-only account. Replace the example password with a long, unique random value and keep it in a password manager:
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wordpress'@'localhost' IDENTIFIED BY 'replace-with-a-long-random-password';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpress'@'localhost';
FLUSH PRIVILEGES;
EXIT;
The grant is limited to wordpress.*; it does not give the application access to unrelated databases. The localhost host restriction also avoids exposing this application account as a remote login. WordPress’s manual installation documentation identifies the four values the application needs: DB_NAME, DB_USER, DB_PASSWORD and DB_HOST. Canonical’s walkthrough uses the same database-and-user pattern. See WordPress’s installation guide and Canonical’s tutorial.
Write wp-config.php safely
Copy WordPress’s sample configuration as the web account, then replace the database placeholders:
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)
sudo -u www-data cp /srv/www/wordpress/wp-config-sample.php /srv/www/wordpress/wp-config.php
sudo -u www-data sed -i 's/database_name_here/wordpress/' /srv/www/wordpress/wp-config.php
sudo -u www-data sed -i 's/username_here/wordpress/' /srv/www/wordpress/wp-config.php
sudo -u www-data sed -i 's/password_here/replace-with-a-long-random-password/' /srv/www/wordpress/wp-config.php
Open the file and check that the resulting values are exactly:
DB_NAME:wordpressDB_USER:wordpressDB_PASSWORD: the same long random password used inCREATE USERDB_HOST: the sample’s local host value, normallylocalhostfor this database account
Replace every authentication-key and salt placeholder with fresh values from the official WordPress secret-key service or another secure generator. Never paste a real database password or salts into a public issue, tutorial, image or chat transcript. Protect wp-config.php and any backup containing it; the file contains credentials even though Apache should execute PHP rather than download the source.
Complete the browser installation
With Apache serving /srv/www/wordpress and MySQL ready, open the site URL in a browser. WordPress’s official sequence asks for:
- The site title.
- An administrator username that is not an obvious, easily guessed name.
- A strong administrator password.
- An administrator email address you can actually access.
- Confirmation of the installation.
The setup screen writes the remaining site settings to the database. The complete browser sequence is described in the WordPress installation guide. If the page is unreachable, test the layers in order: first the Apache service, then the virtual host and document root, then PHP execution, and finally the database credentials.
Test the installation before calling it production-ready
Confirm the correct Apache site
If you see Apache’s generic welcome page instead of WordPress, the default virtual host is still handling the request or the hostname does not match ServerName. Confirm that wordpress was enabled, that 000-default was disabled or superseded, that the browser is using the configured hostname, and that Apache was reloaded after the change.
Confirm PHP execution
A PHP source download or page showing PHP code means Apache is not processing PHP. Verify that libapache2-mod-php is installed, check php -v, and reload Apache. Do not leave a test file containing diagnostic information in the public document root.
Confirm permalinks
After the installer finishes, create or view a post and test a non-homepage URL. A 404 on permalink paths usually means rewriting is disabled or Apache is ignoring .htaccess. Confirm sudo a2enmod rewrite was run, that the site’s AllowOverride setting includes the needed directives, and that Apache was reloaded.
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
Confirm uploads
Upload a small image from the WordPress dashboard. If it fails, inspect the ownership and permissions of /srv/www/wordpress/wp-content. Grant only the write access the web process needs; never make the whole WordPress filesystem world-writable.
Move from HTTP testing to a production deployment
Use HTTPS for the real domain
The HTTP virtual host is useful for proving that the stack works, but WordPress lists HTTPS support in its recommended baseline. Obtain a certificate for the real domain, verify that the certificate works, and then redirect HTTP traffic to HTTPS. Do not force the redirect before DNS and certificate validation are complete, or an otherwise healthy site can become inaccessible to browsers.
Limit exposed services
Apply firewall rules that expose only the services your administration and web traffic require. Keep MySQL on local access for this design rather than opening its database port to the internet. Use a separate administrative account and do not reuse the WordPress database password for server administration.
Patch every layer
Keep Ubuntu, Apache, PHP, MySQL, WordPress core, themes and plugins updated. WordPress’s recommended PHP and database versions change over time, so review the requirements page before major upgrades. Test updates on a non-production copy when the site is business-critical.
Back up and test restoration
Back up both categories of data: the MySQL database and the WordPress files, especially wp-content and wp-config.php. Store backups separately from the server, retain more than one restore point, and periodically perform a test restoration. A backup that has never been restored is an assumption, not a recovery plan.
Increase isolation for multiple sites
One shared www-data owner is convenient on a single-site learning server but increases the blast radius if a plugin is compromised. On a multi-site or higher-risk host, create a Unix account per site and an isolated PHP-FPM pool, then grant each site access only to its own files and database. This is the harder production design specifically called out by Canonical’s tutorial.
Troubleshooting by symptom
Apache still shows the default page
- Run
sudo a2ensite wordpress. - Disable or supersede
000-defaultwithsudo a2dissite 000-default. - Check that
ServerNamematches the hostname in the browser and DNS points to this server. - Reload Apache with
sudo systemctl reload apache2.
PHP downloads or appears as plain text
- Check that
libapache2-mod-phpis installed. - Confirm the PHP version with
php -v. - Reload Apache after package or module changes.
Ubuntu documents libapache2-mod-php as the Apache integration path in its PHP guide.
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.
WordPress says the PHP MySQL extension is missing
Install php-mysql, confirm which PHP version the command line reports, and reload Apache. The browser and command line can use different PHP configurations, so a successful php -v check does not by itself prove that Apache loaded the module. WordPress identifies the PHP MySQL extension as necessary for database connectivity; see its installation guide and Ubuntu’s PHP documentation.
There is an error establishing a database connection
- Check that MySQL is running with
sudo systemctl status mysql. - Compare
DB_NAME,DB_USER,DB_PASSWORDandDB_HOSTinwp-config.phpwith the database, user and grant you created. - Make sure the account is exactly
'wordpress'@'localhost'; a user created for a different host is a different MySQL account. - If you changed the password in MySQL, update
wp-config.phpto match.
These are the connection values WordPress documents, and the service check is covered by Ubuntu’s MySQL guide.
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Repair Windows errors before they cause bigger problemsFix Now →Permalink URLs return 404
Enable rewriting with sudo a2enmod rewrite, confirm the virtual host permits the required .htaccess directives through AllowOverride, and reload Apache. The FileInfo value in the supplied directory rule is important for WordPress’s rewrite directives.
Media uploads fail
Inspect the permissions and ownership of wp-content and its uploads directory. The web process needs write access there, but the rest of the installation should not be broadly writable. Correct the specific directory rather than applying a world-writable permission recursively.
Self-hosted LAMP or managed WordPress?
Running this stack yourself gives direct control over the operating system, Apache configuration, PHP modules, database, file layout and migration path. It also makes you responsible for patching, TLS, firewall policy, backup scheduling, restore testing, monitoring and scaling. WordPress notes that specialised hosting providers may bundle preinstallation, backups, updates and developer tools; its overview is at Hosting WordPress.
| Decision area | Self-hosted LAMP | Managed WordPress service |
|---|---|---|
| Administrative control | Full control of Ubuntu, Apache, PHP, MySQL and filesystem permissions. | Provider controls much of the platform; available settings depend on the service. |
| Patching | You schedule and verify operating-system, web-server, PHP, database and WordPress updates. | The provider may automate some updates, but you still manage site-level themes, plugins and content. |
| Backups and restores | You choose destinations, retention and restoration tests. | Backup tooling may be included; verify retention, export format and restore access before relying on it. |
| HTTPS | You obtain, renew and validate the certificate and redirect policy. | Certificate provisioning may be automated, subject to the provider’s domain process. |
| Scaling and isolation | You design resources, caching, PHP workers, per-site accounts and database capacity. | The provider supplies an operational model, but portability and tuning depend on its limits. |
| Portability | Database and files are ordinary WordPress data you can move when you maintain usable backups. | Export procedures and platform-specific features can affect how easily you migrate. |
Choose self-hosting when learning the stack, controlling the server or integrating custom services is more important than reducing administration. Choose managed hosting when automated operations and support outweigh low-level control, after checking exactly what is included and how you can recover your files and database.
The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Quick Recap
Installation checklist
- Ubuntu Server 24.04 is running and your account has sudo access.
- The host meets Ubuntu’s memory and storage guidance for your installation type.
- Apache, MySQL, PHP and the listed PHP extensions are installed.
apache2andmysqlare active, andphp -vreports a supported runtime.- WordPress is under
/srv/www/wordpressand the chosen ownership model is appropriate for the server. - The Apache virtual host points to that directory, rewrite support is enabled, and Apache has been reloaded.
- The database uses
utf8mb4, the account is limited to the WordPress schema, and the password is unique. wp-config.phpcontains matching database values and fresh authentication salts.- The browser installer completes and both the home page and a permalink URL load.
- Before public launch, HTTPS, firewall policy, updates, off-host backups and a tested restore are in place.
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.




