Learn how to install Joomla. Joomla is a popular content management system (CMS) used by millions of people to create and manage their websites.
There are two options for installing Joomla:
- On a new server (recommended). Joomla is available as a ready-to-use application which can be automatically installed on the server when it is built.
- On an existing server. Joomla can be manually installed and configured on an existing server.
To install on an existing server:
- Cloud Server with CentOS 7 or Ubuntu 16.04
- PHP 5.6+ or 7+
- MySQL 5.5.3+ or MariaDB 10.1+ (not compatible with MySQL 6+)
- Apache 2.4+
- Apache modules
Note: Apache, PHP, and MySQL/MariaDB are installed and running on a standard Linux installation by default. If your server was created with a minimal installation, you will need to install and configure Apache, PHP, and MySQL/MariaDB before you proceed.
Install Joomla on a New Server (Recommended)
Log in to the Cloud Panel then go to Infrastructure > Servers.
Click + Create to create a new server.
Set a name for the server, and click the server configuration you wish to use.
Click the Applications tab.
Click the Search icon, and search for Joomla.
Click Create to build the server.
After the server has been built, go to Infrastructure > Servers and select the new server.
Scroll down to find the Joomla admin area login details.
Use this information to log in to your new Joomla server.
Install Joomla on an Existing Server
From the command line, go to your web directory and create a
sudo nano phpinfo.php
Put the following into this file:
<?php phpinfo(); phpinfo(INFO_MODULES); ?>
Save and exit the file, then view the file in a web browser. The PHP version will be displayed at the top of the page.
In the example above, the server is running PHP version 5.4.16.
Note: For security purposes, delete this file after you are finished.
Required PHP Modules
Joomla requires the following PHP modules:
To see if these modules are loaded, examine the
phpinfo.php page you created in the previous step.
Tip: Hit CTRL+F in your browser to search the page.
Scroll down or use CTRL-F to search for "MySQL." If mod_mysql is loaded, you will see a section which looks like:
mod_suphp or mod_fcgid
Scroll down or use CTRL+F to search for "mod_suphp" or "mod_fcgid". If one of these modules is loaded, you will see it listed in the section which looks like:
Scroll down or use CTRL+F to search for "xml". If mod_xml is loaded, you will see a section which looks like:
Scroll down or use CTRL+F to search for "mod_rewrite". If mod_rewrite is loaded, you will see it listed in the Loaded Modules section:
Scroll down or use CTRL+F to search for "zlib". If mod_zlib is loaded, you will see a section which looks like:
To check your version of MySQL/MariaDB, log into the client with the command:
sudo mysql -u root -p
The version number will be displayed in the welcome message.
In the above example, the server is running MySQL version 5.5.47.
You can find your version of Apache with the following commands:
CentOS and Red Hat:
sudo httpd -v
Ubuntu and Debian:
sudo apache2 -v
This will return information about your Apache server.
In the example above, the server is running Apache version 2.4.6.
Download and Unpack the Joomla Software
Once you have made sure that your server meets the requirements for Joomla, the next step is to download the software and unpack it on your server.
Connect to your server using SSH, and go to your website's document root. Download the current release from the Joomla website by using the command:
sudo wget [download URL]
To find the download URL, visit the current release page on the Joomla website. Copy the "Full Package (.zip)" URL. You can paste it into the command line by clicking Shift + Insert.
For example, to download the current stable release as of this article's publication (Joomla 3.8.12) the command is:
sudo wget https://downloads.joomla.org/cms/joomla3/3-8-12/Joomla_3-8-12-Stable-Full_Package.zip?format=zip
Unzip this file using the command:
sudo unzip [file name]
Tip: You can use tab completion to make this process easier. Type
sudo unzip Joomla then hit Tab. The shell will automatically fill out the rest of the file name on the command line.
For example, to unzip the file downloaded above, the command is:
sudo unzip Joomla_3-8-12-Stable-Full_Package.zip
unzip command is not installed by default on Ubuntu 16.04. You can install this command first by using the command:
sudo apt-get install unzip
After the contents of the Joomla file have been unpacked, set the ownership of the files to the Apache user:
- CentOS 7:
sudo chown -R apache:apache *
- Ubuntu 16.04:
sudo chown -R html www-data:www-data *
sudo chown -R apache:apache *
sudo chown -R html www-data:www-data *
Create the Database
Before installing Joomla, you will need to create a database. Connect via SSH to your server. Then log in to the MySQL/MariaDB client:
sudo mysql –u root –p
Create a database:
[database name] with the name you want to use for your new database. For example, to create a database named
create database my_joomla_site;
Create a user account for this database and grant it the correct permissions:
grant all on [database name].* to [database username]@localhost identified by '[database user password]';
[database name]with the name of your database.
[database username]with the username you want to create for your database.
[database user password]with a password for this user. Note: Be sure to give the user a strong password.
For example, to create a user named
my_joomla_user with the password
Fr4i*Re!2 and give the user privileges on the
grant all on my_joomla_site.* to my_joomla_user@localhost identified by 'Fr4i*Re!2';
Exit the database with the command:
To complete the installation, switch to a web browser and go to your website. You will see the Joomla installation page.
Fill out the following fields:
- Site Name
- Administrator Email
- Administrator Username
- Administrator Password (twice)
Then click Next to go to the Database Configuration page.
On this page, fill out the following fields:
- Database Type: MySQLi
- Host Name: Localhost
- Username: The user you created for the database in the previous step.
- Password: The password for the database user.
- Database Name: The name of the database you created in the previous step.
- Table Prefix: Use the default, or specify one if you prefer.
- Old Database Process: Backup
Then click Next to go to the FTP Configuration page.
On this page, set the following:
- Enable FTP Layer: Yes
- FTP Username: Leave blank
- FTP Password: Leave blank
- FTP Host: 127.0.0.1
- FTP Port: 21
- Save FTP Password: No
Then click Next to go to the final installation page. Here you can review all your choices and make changes if necessary.
When you are sure that all of the information is correct, click Install to complete the installation.
After the installation has completed, click the yellow Remove installation folder button to remove the installation folder so that you can proceed.
Go to your main website page and verify that Joomla has installed correctly.
From here, you can log into Joomla using the Administrator username and password which you set in the installation process.