What is Joomla?

Joomla is the world’s fifth most used Content Management System (CMS). It is free, open source, and is considered one of the easiest ways to put up a website online. It is a direct competitor of another open-source CMS called WordPress, and if you want to host a WordPress site, check out our WordPress Server Hosting options.

Joomla uses open-source technologies such as PHP and MySQL database to operate. As of today, Joomla is used by over 2.5 million people around the world and it includes more than 6500 extensions to offer even more customization for it’s users.

To put it simply, Joomla lets people publish a website on the internet without the need of knowing how to code. It includes templates that let people choose their website appearance and it includes features such as article publishing, user management, an admin dashboard, and various other types of plugins to give you even more control over your website.

Did you know that over 2.8 percent of the websites on the internet run on Joomla and there is a chance that some of your favorite websites might be built with Joomla.

Why Joomla

Joomla may not be the ideal solution for everybody who wishes to own a website but on the other hand, it offers some neat features such as easy content management, high security, and multi-language support that makes it a good choice for small businesses and individuals who would like to own a web site.

Joomla also does not require prior technical knowledge or knowing how to code. You could easily follow some steps in this tutorial to install it; and managing it is even easier.

Benefits of Joomla

  • Free & open source
  • Popular
  • SEO optimized
  • Easy to use
  • Secure and stable
  • Multi-language
  • Mobile friendly
  • Fast & Highly Scalable

Before we begin

So now we’ll show you how to install and set up Joomla 4 (the latest version) but before we begin you need to have an Ubuntu server up and running. For a quick deployment, check out our cloud hosting options.

Installation steps

SSH into your remote server

To SSH into your remote server type this command on your terminal:

ssh -i [.PEM_FILES_LOCATION] [USERNAME]@[IP_ADDRESS]

The first parameter is your .pem file’s location and the second parameter is your server’s IP address.

how to ssh into a server

Update your linux packages

Update your Linux packages by running these commands:

sudo apt-get update
sudo apt-get update

Install some necessary packages

Install apache server by typing the command below:

sudo apt-get install apache2

Why? Because we need the apache web server software to serve our Joomla files on the server.

To check you apache server’s version run this command:

apache2 -v

Now we need to Install PHP and some other libraries required for Joomla. If you already have PHP installed on your server, make sure that the PHP version is higher than 7.2.5.

sudo apt-get install php libapache2-mod-php php-mysql php-curl php-gd php-pear php-imagick php-imap php-pspell php-tidy php-xmlrpc php-xml

Why? Because as we said before Joomla requires PHP and other libraries in order to operate.

Install unzip by running this commands:

sudo apt-get install unzip

Why? Because we need to unzip the Joomla files later on using this tool.

The last package that we need to install is MySQL. To install it, run this command:

sudo apt-get install mysql-server

Setup a MySQL database

Before we continue on, we need to setup our MySQL server correctly.

Access your MySQL shell with the root user by typing this command below:

sudo mysql -u root -p

Hint: if you don’t have any password for your root user then click enter to continue.

Create a mysql database by the name of Joomla.

CREATE DATABASE joomla;

Create a user and a give it whatever password you want.

CREATE USER '[USERNAME]'@'localhost' IDENTIFIED BY '[PASSWORD]';

Note! Remember this username and password as we need it later on.

Grant full access of your Database to your newly created user using this command:

GRANT ALL ON joomla.* to '[USERNAME]'@'localhost';

Exit the MySQL shell

exit;

Configuring Joomla

Now that the database configuration is done and we have downloaded the necessary packages it is the time to set up Joomla it self by following these steps:

Change your directory to apache’s root directory

cd /var/www/html/

As you can see, we have only index.html in the directory which is the default file. To check this file, write your IP address in a web browser and you shall see this.

Now we need to download the latest version of Joomla in our current director. You need to visit their website and copy Joomla’s latest download Link.

sudo wget [JOOMLA'S DOWNLOAD LINK]

Now that we have the Joomla .zip file we need to unzip it using the library that we have installed previously.

sudo unzip [THE NAME OF THE FILE]

Now in order that Joomla may operate correctly we need to grant Joomla permission by typing these commands:

sudo chown -R www-data:www-data /var/www/html

and

sudo chown -R 755 /var/www/html

Now you can type ls on your terminal and see the file structure of Joomla.

Now that most of the things are set up correctly we need to delete the two extra files: the .zip file and the default index.html file since they are no longer needed. To do this, use the following command:

sudo rm index.html

and

sudo rm -fr [JOOMLA FILE NAME]

The last step would be to restart our apache server and then we’ll see the Joomla app being run on the server’s IP address.

To restart the server, type in the following command:

sudo systemctl restart apache2

Now you can open your browser and type your IP address to see the Joomla Installer.

Joomla installer on the browser

Common Setup Error

If you are getting the below error, then you have a problem with your permissions. It is better to type those permission commands again and restart the server. If you are still getting the same error message then it is recommended to delete everything in the directory and start again.

An error has occurred while processing your request. 0 Failed opening required '/var/www/html/joomla/administrator/cache/autoload_psr4.php' (include_path='.:/usr/share/pear:/usr/share/php:/usr/share/pear:/usr/share/php')

Joomla installer

Now that we have successfully setup our server to host Joomla site it’s now time to configure Joomla itself.

At the first page you need to enter your site name.

Joomla installer

Login information

Now you need to setup login data. For that you need to enter your name, a username, a password and your email address. By using this username and password you will then be able to login to your Joomla admin dashboard so be wise to choose a good password and your username must be more than 4 digits.

login informations

Database connection

At last you need to configure your database connection to Joomla. In this page you need to enter the following:

  • Database username
  • Database user’s password
  • Database name

The username is joomla_user, database name is joomla, password is what you have chosen earlier and every other parameter should be as default.

setup database connection

Install Complete

Congratulations! you have now successfully installed and configured Joomla on your Ubuntu server.

Joomla installation done
your site

Joomla Admin Panel

Now you can access your website at your IP address. Additionally you could open the admin panel by moving to [YOUR IP]/ administrator path.

This is the admin panel’s login page, you need to enter the admin username and password that you had previously chosen and login to your admin panel.

admin panel login page

By using this admin panel the possibilities are endless you could manage your site, write articles, manage your users and much more.

admin panle

Next step

Now that you own a Joomla site it does not stop there. You can now edit your site in numerous ways. For example, you can add a different template, additional languages to your site, or a domain name for customers to easily access your website.

Conclusion

Joomla is a fast growing software. From the time it was released in 2005, until now, it has been sky rocketing in popularity and usage. To say Joomla is one of the best CMS’ out there would not be wrong. If you are someone who needs to build a website to share content on the internet, Joomla is the right choice for you.