Blog
Install Joomla locally: XAMPP, MAMP, or Docker
Install Joomla locally in 5 steps with XAMPP, MAMP, or Docker. Joomla 6 needs PHP 8.3, which XAMPP lacks. Or skip it and open a test site in 30 seconds.
To install Joomla locally, you install a local server stack (XAMPP, MAMP, or Docker), create a database, download Joomla, and run its web installer at localhost. Joomla 6 needs PHP 8.3, and as of September 2026 the newest XAMPP still ships PHP 8.2.12, so use MAMP or Docker for Joomla 6 and keep XAMPP for Joomla 5.4.
A local server stack is a bundle of a web server, PHP, and a MySQL or MariaDB database that runs a site on your own computer at the address localhost. It keeps the site private and free. If you only want a private, throwaway site to test on, you can skip the stack and run Joomla in your browser instead. This guide covers the real localhost steps, which stack fits which Joomla version, a timed Docker run, and the no-install route. Want to skip ahead? You can open a free Joomla test site right now and read the rest after.
How do you install Joomla locally?
You install a local server stack, create a database, download Joomla, and run the web installer in your browser at localhost. The official Joomla user manual, “Installing Joomla”, describes the same sequence: create a database, then start the web installer by opening your browser at the site address (Joomla Project, Installing Joomla, 2026). Here are the five steps in order:
- Install a local server stack. Install XAMPP, MAMP, or Docker Desktop. Each gives your machine a web server, PHP, and a MySQL or MariaDB database. For Joomla 6, pick a stack that ships PHP 8.3 or newer.
- Start the server and create a database. Start the web server and the database, then create an empty database with a name, a user, and a password for Joomla to use (for example in phpMyAdmin on XAMPP or MAMP).
- Download and unzip Joomla. Download the current Joomla package (6.1.3 as of September 2026) from the official downloads site and extract it into the web root, such as the htdocs folder.
- Run the web installer. Open localhost in your browser, follow the Joomla web installer, set the site name and Super User account, and enter the database details you created a moment ago.
- Remove the installation folder and log in. Let the installer delete its installation folder, then sign in to the Administrator at localhost/administrator (or the subfolder you used) with the Super User account.
None of these steps is hard on its own. Together they are the reason “install Joomla locally” is a search in the first place: a web server, a database, a download, and an installer, each with its own way to go wrong, before you have tested a single thing. If you are installing on a live host rather than your own machine, our guide on how to install Joomla covers the upload and FTP route.
Joomla 6 requirements for a localhost install
Joomla 6.1 needs a web server, PHP 8.3 or newer, and MariaDB 10.4 or MySQL 8.0.13 or newer. The current release is Joomla 6.1.3, which the Joomla Project shipped with 5.4.8 on August 18, 2026 in its “Joomla 6.1.3 & 5.4.8 Security & Bugfix Release” announcement (Joomla Project, 2026). The Joomla Programmers Documentation page “Technical Requirements” lists PHP 8.3.0 as the supported minimum and 8.4 as recommended (Joomla Programmers Documentation, 2026). MariaDB 10.4 is the absolute minimum; the lowest version Joomla officially supports is 10.6, and Joomla 6.2 keeps the same figures. Our full breakdown of the Joomla system requirements covers Joomla 5 and the recommended versions too.
This is the part that catches people out. As of September 2026, the Apache Friends XAMPP download page still lists 8.2.12 as the newest XAMPP for Windows and Linux, bundling PHP 8.2.12 and MariaDB 10.4.32 (Apache Friends, XAMPP downloads, 2026). The PHP sits below the Joomla 6 minimum, the MariaDB only meets the absolute minimum, below the supported 10.6, and the macOS build is older still at PHP 8.2.4. So a fresh XAMPP refuses Joomla 6 until you swap in a newer PHP by hand, and a newer MariaDB is the safer choice too. XAMPP is still fine for Joomla 5.4, which runs on PHP 8.1 or newer.
Which local stack runs Joomla 6: XAMPP, MAMP, or Docker?
MAMP and Docker run Joomla 6 as shipped; XAMPP does not. The MAMP & MAMP PRO release notes for Mac list PHP 8.3, 8.4, and 8.5 bundled with MySQL 8.0 in the 2026 releases, which clears the Joomla 6 floor (MAMP, release notes (Mac), 2026). The official joomla image on Docker Hub, maintained by the Joomla project, tags 6.1.3 on PHP 8.4 by default and 5.4.8 on PHP 8.3 (Docker Hub, joomla Official Image, 2026). XAMPP only clears it after a manual PHP and database upgrade.
| Stack | Bundled PHP (Sept 2026) | Joomla 6 as shipped? |
|---|---|---|
| XAMPP | 8.2.12 (Windows, Linux), 8.2.4 (macOS) | No. Joomla 5.4 only, unless you upgrade PHP. |
| MAMP | 8.3, 8.4, and 8.5, with MySQL 8.0 | Yes. Pick PHP 8.3 or newer in the settings. |
| Docker (official image) | 8.4 by default, 8.3 tag available | Yes. Joomla 6.1.3 is preinstalled in the image. |
| Online sandbox | You choose a supported PHP version | Yes, with nothing installed locally. |
How do you run Joomla locally with Docker?
You describe Joomla and a database in one compose file and start both with docker compose up -d. The official joomla image, maintained by the Joomla project, ships Joomla 6.1.3 on PHP 8.4 as of September 2026, and its page on Docker Hub includes a working compose example (Docker Hub, joomla Official Image, 2026). There is no PHP to upgrade, and removing the containers deletes the site. The route has four steps:
- Install Docker Desktop. It runs on Windows, macOS, and Linux and replaces the whole XAMPP or MAMP bundle.
- Create a compose file. Define two services: the official joomla image and a MySQL 8.x database, joined with JOOMLA_DB_HOST pointing at the database service, as in the example on the image's Docker Hub page.
- Start the stack. Run docker compose up -d. Docker pulls Joomla 6.1.3 on PHP 8.4 and the database image, then starts both containers.
- Finish the installer. Open localhost on the port you mapped and complete the Joomla web installer, or preset the admin account with the image's environment variables.
We timed this route on September 22, 2026 on an Apple Silicon Mac with the images already downloaded: the joomla:6.1.3 image plus a mysql:8.4 database went from docker compose up to the Joomla Installer page in 14 seconds, running PHP 8.4.25. The first run is slower because Docker has to pull the images, and together they took about 2.3 GB of disk on that machine. The trade-off is that you now run Docker, which means some comfort with the command line and, on Windows and macOS, a small virtual machine in the background. For a developer who already uses containers, it is the fastest local route. For someone who just wants to click around a Joomla admin, it is still a lot of setup.
Skip the localhost setup entirely
Open a clean Joomla 6.1 or 5.4 site in your browser in one click. No XAMPP, no Docker, and no PHP to upgrade. It deletes itself after four hours, so there is nothing left in your htdocs folder to clean up.
Open a free Joomla test siteCan you run Joomla without installing anything?
Yes, if what you actually want is a private, free, disposable Joomla test site to work on. An online sandbox gives you that with nothing to install: JInstant hosts a clean Joomla 6.1 or 5.4 on an isolated server and hands you a one-click link into the Administrator as a Super User. It is not literally on localhost, but it gives you the same isolation and the same freedom to break things, minus the stack. Joomla users have asked for this kind of tool since at least July 2024, when a request on the Joomla CMS repository asked for “something like wp-playground but for Joomla” (joomla/joomla-cms discussion #43744, 2024). The whole flow is three steps:
- Pick your versions. Choose Joomla 6.1 or Joomla 5.4, plus a PHP version it supports. There is no stack to download and nothing to configure first.
- Let the sandbox set up the install. A clean, isolated Joomla spins up with the database and configuration already handled. No XAMPP, no MAMP, no MySQL setup.
- Log in with one click. A private link opens the Joomla Administrator signed in as a Super User. It only needs your email, so there is no long signup form.
It is a real Joomla install, not a locked demo, so you can upload any extension or template, change any setting, and break things on purpose. If XAMPP is the specific habit you are trying to drop, our guide on how to try Joomla without XAMPP covers why a hosted sandbox beats the local stack for a quick test.
Local install vs online sandbox
Choosing between a local install and an online sandbox depends on how long you need the site and whether you want to own the server. A local install is yours indefinitely and works offline, at the cost of setup and upkeep. An online sandbox is instant and disposable, at the cost of a four-hour life. The table lays out the trade-off across the things that actually differ between the two routes.
| Local stack (XAMPP, MAMP, Docker) | Online sandbox | |
|---|---|---|
| To install | A server, PHP, and a database on your machine. | Nothing; it runs in your browser. |
| Time to a running site | 14 seconds on Docker in our test once images are pulled; XAMPP and MAMP also need a manual database and installer run. | About 30 seconds, one click (JInstant’s typical spin-up time). |
| Cleanup | You delete files and the database yourself. | Auto-deletes after 4 hours. |
| Works offline | Yes, once it is set up. | No, it needs a connection. |
When is a real local install still worth it?
When you need the site to last, to work offline, or to run a custom server configuration. A local install is the right call for a project you develop over weeks, a trip with no connection, or a setup where you need a specific PHP extension or a step debugger wired in. For those, the setup cost pays for itself, and a four-hour sandbox would just get in your way.
For everything shorter, the math flips. Vetting one extension, previewing a template, reproducing a client bug, or checking a Joomla update rarely needs a permanent server. As of September 2026, W3Techs’ “Usage statistics of Joomla” puts Joomla on 1.1% of all websites (W3Techs, 2026), so plenty of people hit exactly these short jobs. The timing matters too: the Joomla Project’s 6.1.3 & 5.4.8 release announcement says Joomla 5.4 gets bugfix patches until October 13, 2026 and security patches until October 12, 2027 (Joomla Project, 2026). Many site owners are about to test a Joomla 6 upgrade, and a disposable install removes the setup and the cleanup from both ends of that test.
The official Joomla trial as an alternative
The official Joomla trial at launch.joomla.org is designed for a longer evaluation, not a quick throwaway. It gives you a genuine hosted Joomla maintained by the project, on a subdomain with a 500 MB cap (launch.joomla.org, 2026). The friction is at the door: it asks for your name, email, a password, and phone verification, and the site is persistent, so you log in and renew it every 30 days to keep it alive.
That model suits someone sizing up Joomla over weeks. It is heavier than you want when the job is “open a clean install, try one thing, throw it away,” where an email-only, auto-deleting sandbox fits better. For every route side by side, our guide to a free Joomla test site compares local, hosted, and sandbox options.
Conclusion
Installing Joomla locally takes five steps, and in 2026 the stack you choose decides whether they work. XAMPP still tops out at PHP 8.2, so it runs Joomla 5.4 but not Joomla 6 without hand upgrades. MAMP and the official Docker image run Joomla 6.1.3 as shipped, and Docker reached the installer in 14 seconds in our test. Keep a local install for long-lived, offline, or custom-server projects. When you just need a private, free, clean Joomla to test one thing and walk away, skip the stack: spin up a free Joomla site in your browser, do your thing, and let it delete itself.
Frequently asked questions
How do I install Joomla locally?
Install a local server stack such as XAMPP, MAMP, or Docker, start the web server and database, create an empty database, download the Joomla package, unzip it into the web root, and open localhost in your browser to run the web installer. For Joomla 6 you need PHP 8.3 or newer, which the newest XAMPP does not ship.
Can XAMPP run Joomla 6?
Not out of the box. Joomla 6.1 needs PHP 8.3 and MariaDB 10.4 or MySQL 8.0.13 as a minimum. As of September 2026 the newest XAMPP on the Apache Friends download page ships PHP 8.2.12, below that bar, with MariaDB 10.4.32, which only just meets it. XAMPP still runs Joomla 5.4, which needs PHP 8.1 or newer, or you can use MAMP or Docker for Joomla 6.
What is the easiest way to run Joomla on localhost in 2026?
For Joomla 6, MAMP or the official Joomla Docker image. MAMP bundles PHP 8.3, 8.4, and 8.5 with MySQL 8.0, which meets the Joomla 6 minimum. The Docker image, maintained by the Joomla project, ships Joomla 6.1.3 on PHP 8.4 and starts with one compose file; in our September 2026 test it reached the installer in 14 seconds once the images were downloaded. XAMPP needs manual upgrades first.
Can I run Joomla without installing XAMPP or MAMP?
Yes. XAMPP and MAMP are just convenient bundles of a web server, PHP, and a database for your own machine. An online sandbox like JInstant hosts a clean Joomla 6.1 or 5.4 install for you, so there is nothing to download and no database to create. You get a real Super User login through a one-click link.
Is a local Joomla install free?
Yes. Joomla is free and open source, and XAMPP, the free edition of MAMP, and Docker Desktop for personal use are free too, so a local install costs nothing but your time and disk space. An online sandbox is also free to open. The cost of the local route is the setup, the updates, and the teardown you handle yourself.
How long does an online Joomla test site last?
A JInstant site lasts four hours, then deletes itself automatically with no backup, so save anything you want to keep first. If you need longer you open another in one click. A local install stays on your machine until you delete it, which is why stale test copies tend to pile up in a htdocs folder.
Try it yourself
Spin up a free, disposable Joomla test site in seconds. No long signup, and it auto-deletes in 4 hours.
Open a free test site