To install Joomla, first match your host’s PHP, database, web-server, and PHP-extension versions to the Joomla package you will use. Then create a database and dedicated user, upload and extract Joomla into the domain’s document root, run the browser installer, and harden and test the finished site. A VPS gives you control over every server setting; shared hosting is simpler but may restrict PHP configuration and database administration.
Antihost offers Linux VPS plans with full root access, unlimited traffic on a 1 Gbps port and a 14-day free trial.
Check the Joomla version before choosing a host
Joomla requirements are version-specific. The documentation index currently identifies Joomla 6.1 as the stable documentation line, Joomla 6.2 as upcoming, and Joomla 5.4 as legacy. Download the package you actually intend to run, then use the technical-requirements page for that major version. Do not assume that a requirement listed for Joomla 4 or 5 also applies unchanged to Joomla 6.
| # | Preview | Product | Price | |
|---|---|---|---|---|
| 1 |
|
Guide to Joomla: Practical Guide | $9.99 | Buy on Amazon |
| 2 |
|
Joomla! 4 Masterclass: A practitioner's guide to building rich and modern websites using the... | $38.99 | Buy on Amazon |
| 3 |
|
LE GUIDE OFFICIEL JOOMLA ! | $5.00 | Buy on Amazon |
| 4 |
|
Joomla 3 Explained: Your Step-by-Step Guide to Joomla 3 | $24.95 | Buy on Amazon |
| 5 |
|
Joomla! 1.5: Beginner's Guide | $50.99 | Buy on Amazon |
As an Amazon Associate I earn from qualifying purchases.
The following figures are the documented Joomla 5.x requirements and are a useful pre-purchase checklist when you are installing a Joomla 5 package.
| Component | Minimum | Recommended |
|---|---|---|
| PHP | 8.1.0 | 8.3 |
| MySQL | 8.0.13 | 8.1 |
| MariaDB | 10.4 | 11.1 |
| PostgreSQL | 12 | 16 |
| Apache | 2.4 | Not separately stated |
| Nginx | 1.21 | 1.25 |
| Microsoft IIS | 10 | Not separately stated |
| PHP memory | Not stated as a hard minimum | At least 256 MB recommended |
Joomla 5 also requires the PHP modules json, simplexml, dom, zlib, and gd, plus a database driver: mysqlnd, pdo_mysql, or pdo_pgsql. A host that advertises PHP but omits one of these modules can still fail the installer’s pre-install checks.
#1 Best Overall
Do not transfer Joomla 4 settings blindly
The older Joomla 4.x hosting guidance is still useful for understanding control-panel labels, but its numbers belong to that documented line. It lists PHP 7.2.5 as a minimum and PHP 8 or later as recommended, MySQLi 5.6 or later or MariaDB 10.4 or later, PostgreSQL 11 or later, Apache 2.4 or later, Nginx 1.18 or later, and phpMyAdmin. It also gives example minimum hosting values of 256M for memory_limit, 32M for upload_max_filesize, and 32M for post_max_size. Those legacy values should not be treated as Joomla 5 or Joomla 6 requirements.
Choose between shared hosting, managed hosting, and a VPS
| Hosting type | What you control | What the provider controls | Best fit |
|---|---|---|---|
| Shared hosting | Your Joomla files, database, domain settings, and whatever PHP options the control panel exposes | Operating system, web server, PHP builds, database service, firewall, and platform security | A site owner who wants the least server administration |
| Managed hosting | Joomla and site configuration, with provider-specific server controls | Most operating-system and service maintenance | Anyone who needs more assistance than shared hosting but does not want to administer a server |
| VPS | Operating system, web server, PHP packages and limits, database service, firewall, TLS, scheduled jobs, and backups | Underlying virtualization and hardware | An administrator comfortable with patching, hardening, monitoring, and recovery |
A VPS is not automatically faster or safer. Its advantage is control; its cost is responsibility. On shared hosting, ask whether you can change php.ini or a per-site user.ini, raise upload and memory limits, create databases and users, and obtain help when a required PHP extension is missing. On a VPS, you normally control all of those settings, but you must maintain them.
Prepare the account and domain
Before uploading anything, make sure the host provides an account, storage, a domain or temporary URL, and a way to connect by control panel, SFTP/FTP, or shell. A public site can use the domain immediately if its DNS already points to the host. Otherwise, use the temporary address supplied by the host while DNS propagates, then test the final domain after the records are changed.
- Confirm the exact Joomla major version and its PHP, database, web-server, and extension requirements.
- Confirm available disk space and that the account can create a database and database user.
- Check whether the host offers HTTPS certificates and whether URL rewriting can be enabled.
- On shared hosting, verify how PHP versions and
memory_limit,upload_max_filesize, andpost_max_sizeare changed. - On a VPS, decide who will patch the operating system, PHP, database, web server, and TLS configuration.
Create the Joomla database and user
Every Joomla installation needs a working database, a database user, a password, and privileges for that user. Record four values before opening the installer: database host, database name, username, and password. The database host is often localhost, but some providers use a separate hostname.
Using a shared-host control panel
- Open the control panel’s database section, commonly labelled “MySQL Databases,” “Databases,” or similar.
- Create a database with a site-specific name. Shared hosts may prepend your account name to the name you enter.
- Create a separate database user with a long, unique password. Do not reuse your hosting-login password.
- Use the panel’s “Add user to database” action and grant the privileges Joomla needs, normally the full privileges on this dedicated database rather than access to other customers’ databases.
- Write down the final names exactly as the panel displays them, including any account prefix, along with the database host.
Using a VPS database service
Use the database-administration method supported by your operating system and database engine. The principle is the same: create one database, one user, and only the permissions required for that database. For a MySQL-compatible service, the SQL pattern is:
Rank #2
CREATE DATABASE joomla_site CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'joomla_user'@'localhost' IDENTIFIED BY 'replace-with-a-long-random-password';
GRANT ALL PRIVILEGES ON joomla_site.* TO 'joomla_user'@'localhost';
FLUSH PRIVILEGES;
Change the names, host part, and password for your environment. If the web server and database run on different machines, the user’s host value and firewall rules must permit the web server’s address instead of only localhost. Do not expose the database port publicly unless your architecture requires it.
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Repair Windows errors before they cause bigger problems3Fix the driver behind crashes, sound loss and screen glitchesDownload Joomla and place it in the document root
Download the package for the intended version from the official Joomla project. Keep the archive intact while transferring it if your host can extract archives server-side; this is usually faster and avoids incomplete uploads.
- Identify the document root assigned to the domain. It is often named
public_html,www,htdocs, or a domain-specific directory. - Upload the Joomla ZIP archive with the host’s file manager, SFTP/FTP, or a shell connection.
- Extract the archive in that document root. If you use a shell and the host provides the required utility, an example is
unzip Joomla_*.zip. - Check the resulting directory layout. Joomla’s files, including its entry point, must be directly in the directory served by the domain if you want the site at the domain root. Avoid accidentally serving
public_html/joomla-package/unless that subdirectory is intentional. - Remove the archive after verifying that extraction completed, unless you need it temporarily for rollback and can protect it from web access.
On a VPS, set ownership to the account used by the web server and use restrictive, normal file and directory permissions. On shared hosting, use the provider’s documented ownership model. A host that requires the entire Joomla tree to be world-writable with permission 777 is a poor fit; do not weaken permissions globally just to bypass an installation error.
Run the Joomla web installer
With the requirements met, the database created, and the Joomla files in place, open the domain or temporary URL in a browser. The installer performs pre-install checks before collecting site and administrator details.
- Choose language and site name. Select the installation language and enter the site name. Use a descriptive name; you can change it later in administration.
- Create the administrator account. Enter the administrator name, username, password, and email address. Use a unique administrator username and a strong password, and store the credentials in a password manager.
- Choose the database type. Select the engine supported by your host, such as MySQL-compatible or PostgreSQL, and use the matching Joomla PHP driver confirmed during the requirements check.
- Enter the database host. Use the host value supplied by your provider, commonly
localhostbut not universally. - Enter the database username, password, and name. Copy the values exactly, including shared-host prefixes. A single character error produces a connection failure even when the database exists.
- Set the table prefix. Keep the generated prefix unless you have a specific operational reason to change it. It separates Joomla tables from other tables in the same database, but it is not a substitute for a dedicated database account.
- Choose connection encryption settings. Use the option appropriate to the database service and the security policy of your host. Do not enable a mode your database server does not support.
- Review the summary and start installation. Resolve every failed pre-install check first. If a module, PHP version, or writable directory is missing, change the server setting or ask the shared host to do so rather than forcing the installer through.
The installer writes Joomla’s configuration after it can authenticate to the database and complete its checks. If it reports success, follow any instruction it gives about removing installation leftovers before continuing.
Rank #3
Verify the finished site
Do not treat the success screen as the end of the job. Perform a short acceptance test while you can still correct configuration problems.
- Open the public front end over HTTPS and load several pages.
- Sign in to the administrator area using the account created during installation.
- Create a test article or menu item, save it, and confirm that it appears as expected.
- Upload a small image to verify that PHP upload limits, directory ownership, and media permissions work.
- Check the administrator system-information view for the Joomla, PHP, database, and web-server versions, and record them.
- Review URL rewriting and SEO settings if you need clean URLs. Enable server rewriting only after confirming the host’s Apache or Nginx configuration supports it.
- Inspect file and folder permissions and remove any installer files or temporary archives the installer identifies.
- Apply available Joomla core and extension updates before inviting users to the site.
Secure the installation before launch
Use least-privilege database access
Keep the Joomla database separate from unrelated applications when possible. The account stored in Joomla’s configuration should reach only the Joomla database. On a shared server, you depend on the provider for database-service security, so evaluate its patching, isolation, support, and incident procedures.
Patch every layer
Keep the operating system, web server, PHP runtime, database engine, Joomla core, and extensions current. On a VPS, schedule maintenance and monitor failed updates. On shared hosting, confirm which layers the provider patches and which remain your responsibility.
Use safe ownership and permissions
Joomla needs to write only to directories and files that genuinely require it. Do not make the whole site tree writable by everyone, and do not accept a setup that demands 777 permissions as a permanent solution. Correct ownership or a provider-supported PHP execution model is safer than broad write access.
Establish and test off-site backups
Create backups before going live and store copies away from the server. A useful process includes the database, Joomla files, configuration, uploaded media, and a documented restore procedure. Test that procedure on a separate location. Backups are the primary recovery route after a failed upgrade, accidental deletion, or hardware loss, but a backup made after a compromise may contain altered files; keep historical copies and investigate suspicious changes before restoring.
Finish transport and account security
Use HTTPS for the public site and administrator area, protect the hosting and database credentials, remove unused extensions, and limit administrator accounts to people who need them. On a VPS, configure a firewall and restrict administrative services to trusted networks where practical. Keep a written inventory of domains, server addresses, Joomla version, PHP version, database credentials location, backup schedule, and renewal dates.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.One-click Joomla installers: when they help and when they hurt
A control-panel one-click installer can create the database, copy files, and open the Joomla setup wizard with fewer manual steps. It is convenient for a first installation, especially on shared hosting. The trade-off is version control: Joomla warns that some providers’ automated installers may deploy an old Joomla version.
Recommended Free Tools
- Check the installer’s proposed Joomla version before accepting it.
- Compare that version with the current stable line and its requirements.
- Confirm that the tool creates a dedicated database user and does not reuse credentials from another application.
- Inspect the document root and administrator URL after installation.
- Apply current core and extension updates immediately, then verify the site and create your own off-site backup.
If the one-click catalog does not offer the version you need, use the manual ZIP workflow. Manual installation takes longer but makes the package, database, file location, and server settings explicit.
VPS-specific operating responsibilities
A VPS gives you the ability to choose the PHP build, install missing modules, tune PHP limits, configure Apache or Nginx, issue TLS certificates, schedule jobs, and set firewall rules. That flexibility is useful when Joomla or an extension has unusual requirements, but every choice becomes your responsibility.
- Patch the operating system and reboot when kernel or service updates require it.
- Keep PHP and its Joomla-required modules aligned with the package’s supported versions.
- Configure the web server’s document root, rewrite rules, TLS, and virtual host for the domain.
- Restrict database network access and administrative ports.
- Monitor disk space, memory, CPU, logs, certificate expiry, and backup success.
- Document how to rebuild the server rather than relying on an undocumented one-time configuration.
Shared-host-specific checks
Shared hosting removes most operating-system work, but the provider’s limits determine whether Joomla can run comfortably. Ask support to confirm the PHP version, required modules, database engine and version, memory and upload limits, rewrite support, backup scope, and whether you can alter php.ini or user.ini. If an installer check fails, provide the exact failed requirement and ask which supported setting resolves it; do not upload arbitrary configuration files supplied by strangers.
Best Value
Because multiple customers share the platform, you cannot independently verify every database-security or host-hardening detail. Read the provider’s backup and incident policies and keep your own off-site copies regardless of any “daily backup” claim.
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Clear out junk files and repair common Windows errorsFree Scan →Troubleshooting common installation failures
“Unsupported PHP version” or a missing module
Confirm the package’s major version first. On shared hosting, select a supported PHP version in the control panel or ask support to enable the missing module. On a VPS, install the module for the active PHP build and restart the relevant PHP service and web server. Reopen the installer to rerun its checks.
“Could not connect to the database”
Recheck the database host, account-prefixed database name, username, password, selected database type, and whether the user was actually added to the database. For a remote database, check firewall rules and the database user’s allowed host. Do not solve a connection error by granting unrestricted database access.
HTTP 403 or 500 after extraction
Check that the domain points to the directory containing Joomla’s files, ownership matches the web-server execution model, and permissions are not either too restrictive or globally writable. Review the web-server and PHP error logs. On Apache or Nginx, verify that rewrite configuration is valid and that the server is using the PHP version you tested.
Uploads fail or extensions cannot be installed
Compare the active values of memory_limit, upload_max_filesize, and post_max_size with the size of the upload. On shared hosting, change supported per-account settings or request a provider change. On a VPS, update the active PHP configuration, restart the service, and confirm the new values in Joomla’s system information. Also check available disk space and directory ownership.
Free tools Windows power users keep installed
One-click scans. No signup required.
The site works at a temporary URL but not at the domain
Verify DNS records, wait for propagation, confirm the domain’s document root, and check HTTPS certificate coverage. If Joomla was installed in a subdirectory, either keep that URL intentionally or move the files and update the site configuration using a documented migration procedure.
Quick Recap
Installation decision checklist
- The host meets the exact requirements for the Joomla package you downloaded.
- The domain or temporary URL points to the intended document root.
- A dedicated database, user, strong password, and correct privileges are recorded.
- Joomla’s files are directly in the served directory when a root-domain install is intended.
- The browser installer passes every pre-install check.
- The front end, administrator area, media uploads, and clean URLs have been tested.
- HTTPS, updates, safe permissions, and least-privilege database access are in place.
- An off-site backup exists and a restore has been tested before launch.
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.




