Joomla is an open-source content management system (CMS) for publishing web content. Like many other CMS, Joomla lets you build a website without using HTML or CSS. That and its zero price tag makes it a favorite option among many businesses and non-profit organizations.
In this step-by-step Joomla tutorial, we will learn how to use the platform to create whatever website you need. We will cover how to install Joomla on your server and give you an overview of its functionality.
In the end, we want you to feel comfortable to start exploring Joomla by yourself and keep building on your knowledge.
Ready? Let’s start.
1. Get a Web Hosting Plan and Choose a Domain Name
Hint: If you already have a domain name and web hosting, skip to step 2.
Before you can start building your Joomla site, you’ll need a domain name and web hosting. If you don’t even know where to start on this topic, read our post on how to choose a domain name and our comparison of web hosting services.
We recommend choosing something cheap to get started with your project. Yet, whichever web host you pick, make sure it meets Joomla’s system requirements.
2. Install and Set Up Joomla
The first step of the tutorial: how to install and set up Joomla. There are two ways:
2a. Using Bluehost and Quick Install
Once you’ve signed up and grabbed a domain at Bluehost, log into your account and click on Advanced in the left column.
Scroll down to the bottom, look for the Joomla icon and click on it.
In the next screen, press Install Now.
This will take you to the installation screen.
Here’s how to fill it in:
- Software Setup — You’ll notice that your Bluehost domain has been included by default. Unless you have a good reason to change it, just leave everything as is.
- Site Settings — This is the site name and description that will appear in search engines. Therefore, it’s a good idea to change the default. However, you can also do it later inside Joomla itself so don’t stress out about it too much.
- Database Settings — This is an option to include sample data on your site. Since, in this tutorial, we want to learn Joomla from scratch, we will leave it at None.
- Admin Account — Make sure to choose a secure username and password for your administration account and enter your real name and email address.
- Choose Language — If you want your Joomla installation in any other language than English, you can change it here.
- Advanced Options — In this place, you can modify your database name, table prefix, disable email notifications for available updates, and control whether Joomla should automatically update or not. These settings are all optional and you can usually leave them as they are.
Once you are done, click Install at the bottom. When you do, you might run into the warning below.
However, don’t worry about it. It’s just the default
index.php page. Just check the box and click Install again. After that, the installation will run, until you are met with this success screen:
Congratulations! You’ve just installed Joomla on your Bluehost domain.
2b. Manual Installation (Any Web Hosting)
If you are with a hosting provider that does not have the option above, you will have to install Joomla manually. Don’t worry, it’s very easy.
1. Create a Database and Upload Files
The first step is to create a MySQL database. This is where Joomla stores all of your content and it is a vital part of any website built with the CMS. You should find options to create one in your host’s control panel.
To install Joomla, you need the following information:
- The name of an (empty) database
- Name of a user associated with that database
- The password of that user
- Your database server address
Once you have that, it’s time to upload Joomla to your server. For that, head on over to the download section of the Joomla homepage and hit the big green download button (at the time of this writing, Joomla 3 is the latest major version, with Joomla 4 in beta status).
Make sure to save the zip file to your hard drive and, when it’s finished, extract all files. After that, connect to your server via FTP (e.g. through FileZilla) and upload the extracted files to where your domain is pointing (usually the root directory). Once that is finished, it’s time to move on to the next step.
2. Run the Manual Installation
When all files are on your server, open a browser window and input your site URL. If you have done everything right, this should start the Joomla installation process.
At the top, make sure to pick the right language for your site. Below that, enter your site’s name and, optionally, a description. As mentioned, this is the stuff that will show up in search engines but you can also change it all later if you are not happy with your first choices.
On the right, you will be asked to enter the information for your Super User account. That is the main administrator, so be sure to enter a valid email address, a user name that isn’t easy to guess, and a safe password (twice).
Finally, at the bottom, you can select to set your site’s front end to offline mode after installation. That way, only logged-in users will see it. This can make sense for development projects and is up to you. When you are done, hit Next.
3. Connect Joomla to Your MySQL Database
The next screen is this:
Here, you will need the database information from earlier. Fill everything in like so:
- Database Type — In most cases, you can simply leave this as is.
- Host Name — This is the hosting location of your database. Change it if it’s anything else than localhost.
- Username — The username associated with your database.
- Password — In this field goes the password for your MySQL database.
- Database Name — Here, include the name of the database you want to connect your Joomla website.
- Table Prefix — Unless you have good reason to change this, use the randomly generated prefix offered by the installation.
- Old Database Process — If there is already any data in your database, you can choose whether Joomla should delete or save it.
Again, once you are ready, hit the Next button.
4. Finish the Installation
The final screen of the Joomla installation is mostly a summary of everything you have done so far following the tutorial.
At the top, you can choose whether to install any sample data. For the purpose of this Joomla tutorial, leave it at None. Under Overview, determine whether the installation should send the configuration to your Super User’s email address.
Aside from that, you only need to check if everything is as you like and if your server environment passes the requirements of Joomla. When all of that is the case, you can click Install. Joomla will then set up the CMS on your server. Once finished, you will see this screen:
(Ideally) it tells you that Joomla has been successfully installed. You also have the option to add more languages. If you don’t want to do that, don’t forget to remove the installation folder by clicking the yellow button. This will get rid of sensitive files on your server.
That’s it! Cool beans, you just installed Joomla completely by hand.
3. Get Familiar with Joomla Basics
At this point, when you go to the address where your new Joomla website lies, the front end looks like this:
Not super impressive, right? To make any changes, we first have to log into the Joomla back end. For that, go to yourdomain.com/administrator.
In the screen that follows, enter your chosen username and password to land on the Joomla control panel.
We will use many of the menus you can see here throughout this Joomla tutorial, however, let’s start with a quick overview.
Obviously, you can get rid of the two blue boxes by opting in or out of Joomla collecting statistical data, and then reading (and hiding) your post-installation messages.
On the left, you find shortcuts to frequently used parts of the admin area, such as creating new articles, changing the menu structure, or installing extensions. On the right is important information about the state of your site.
The Heart of Joomla: The Taskbar
However, the most important part is the taskbar at the top.
Here, you find the same options as in the control panel and then some. This is what the different menus contain:
- System — Access to the control panel, site settings, pending or locked content items, the option to clear cache, and view system information (site, server, and environment).
- Users — Manage users, user groups, and access levels, add notes about users, deal with privacy related requests, view user logs, and mass email everyone on your site.
- Menus — As the name suggests, this contains all options about the creation and management of menus.
- Content — Add articles and taxonomies, assign featured content, and manage your site’s media files.
- Components — Create and manage site banners, contacts, site updates, private messages, multilingual associations, and news feeds. It also provides access to post-installation messages (we already covered those), lets you set up redirects (though you need a plugin for that), view site search terms, use the smart search (again, this needs a plugin), and manage tags.
- Extensions — Allows you to install, update, manage, configure, find, and troubleshoot extensions. In this menu, you can also see the state of your database and update your site.
- Help — Direct access to important help topics in the official documentation.
All clear so far? Then let’s move on.
4. Select a Template for Your Site
Like other CMS, Joomla offers a way to change your site design without coding, which is what we will look at in this step of the tutorial. In Joomla, your entire website’s look, feel, and functionality are entirely dependent on so-called templates.
There are free and premium (paid) Joomla templates available. However, finding one can be tricky. Unfortunately, the CMS does not have a central directory for this. Therefore, you need to look to shops to find them. Many of those who sell premium themes also offer free versions you can test drive. Here are a few places to get started:
When selecting a template, besides your own taste, pay attention to a few important characteristics:
- Support — It’s great to have technical support included, to have someone to help you with issues.
- Updates — Joomla constantly updates their system. Make sure your template provider does the same with their products so they will work with the latest release.
- Documentation — From time to time, you’ll need to check some features to learn how they work. Be sure there is a place where you can do so.
- Customizability — Check out which template features can be customized by yourself. For example, look for templates that have many module positions (more on that soon).
5. Install Your Joomla Template
Installing a template in Joomla is quite easy in principle. Once you have made a choice, you usually get it in the form of a zip file. This you can simply upload under Extensions > Manage > Install.
Either drag and drop the file into the field or click the Or browse for file button to find it on your hard drive. Select it and Joomla should do the rest by itself. Alternatively, you can also install the template via its URL if you know where the package is located.
After that, you still need to activate the template under Extensions > Template > Styles. Here, click the star icon to the right of the template name to make it the default for the entire site.
When you now go back to the front end of your site, you will see that its entire design has changed. Such is the power of templates.
Note that, when downloading your template, you might get additional files such as quickstart, settings, and extension.
The first is a complete version of Joomla including the template. When you install that, your new design is ready to go when your site is set up, often including demo content. It’s a shortcut when you want the exact design as the template advertises. All that’s left to do is exchange the content.
The other two files refer to stuff that you might have seen in the template demo site, such as sliders, etc.
6. Customize the Design
Most templates come with at least some customization options. You can access them by clicking on the template name in the list.
In the settings, you can make adjustments to things like colors, fonts, logos, sizes, and much more. In this case, the template even comes with its own settings page that we get to when we hit Template Options.
Some Joomla templates also have a preview option where you can see changes in real-time. In either case, don’t forget to check out what your template has to offer and to save any changes you have made to translate them to your site. For example, below we have changed the social profiles and contact information in the top bar disabled the branding at the bottom and moved the top bar to the bottom of the page via the Layout options.
7. Create Content Using Joomla Modules
Right now, even if it looks better, your site is still pretty empty. Time to change that. At this point in our tutorial, we will go over how to use Joomla to create content.
Unfortunately, we have to start with one of the more complicated topics, which is modules. These are little units of content that can appear in many places on a page like building blocks. Using them takes some getting used to, so let’s try it out on the homepage.
To understand your options, it’s best to start by enabling the preview mode for module positions. For that, go to System > Global Configuration > Templates. Here, set Preview Module Positions to Enabled, save, and close.
Then, go back to your list of templates and click the Preview button (the eye icon). This will then display all available positions on your page where you can add modules and the names of the positions.
Quick note: Don’t forget to switch the preview off when you are done assigning modules.
8. Assign Modules to Positions
Alright, now that you know where your modules can go, how do you assign them to those positions? All of that happens under Extensions > Modules.
Here, you can see all modules currently active on your site plus the positions, pages, users, and languages they are assigned to. To get rid of anything already on your site, such as the login form and breadcrumbs, simply click the downward arrow button under Status and select Trash.
If you want to add more modules to your site, under New in the upper left corner, you find a whole lot of options.
Let’s say you wanted to include some text about you and your site on the homepage. The first thing to check is where on the page it should go. In this case, this is content-bottom.
Then, go to the Modules menu, create a new module via the green button in the upper left corner, and choose Custom as the type. This allows you to create your own content block using a WYSIWYG (what you see is what you get) editor.
This is simply a tool for creating and formatting content that lets you view what you are doing. Unfortunately, if we went over all of the options on this screen, the Joomla tutorial would get way too long. However, if have ever used a word processor, everything should look very familiar.
In addition, you can hover over any of the icons to get a description of what it does. This way, you should be able to quickly figure out how to write and format text, insert headings, images, and other media, and anything else it has to offer.
When you are done, make sure that when you save, Status on the right is set to Published and that you pick the correct template location under Position (pay attention that you also select your active theme!). In this case, we also want to hide the module title.
Then, go to Menu Assignment (the tab below the title) and use the drop-down menu to choose the pages you want to show this module on. In this case, it’s Only on the pages selected and then Home.
Save and you should see it on your homepage (and only there).
You can use this same method to insert other things into Joomla pages like blog posts (we will talk about that later in the tutorial), banners, menus, images, and iframes. In addition, you can also add new modules via extensions (more on that below as well).
For example, this is what the homepage looks like when we add the main image in form of a slider at the hero-section position with the help of a plugin and move the text module to content-top:
Already better, isn’t it?
9. Create New Pages
Now for something easier: pages. The first thing to learn here is that you create them in one place and make them appear in another. This is a general thing to keep in mind throughout the tutorial that anything you make in Joomla won’t automatically show up on your site.
In this CMS, pages are simply called articles. This can be a little confusing you come from a blogging background but don’t let that hold you up. You can create articles via Content > Articles > Add New Article. Alternatively, use the shortcut on the control panel. Both will get you to a very similar editing screen as you used before.
Create and format content the same way as you did earlier. When you are done, under Alias you are able to determine a permalink (meaning page URL). It often makes sense to put a keyword here instead of using the article title. Under Status make sure that it is set to Publish before saving.
10. Assign Pages to the Joomla Navigation Menu
To allow visitors to access your new page, it’s time to assign it to a menu. For that, under Menus, find the one with the house icon assigned to it. That is your currently active one.
To assign a new link to it, hover over it and pick Add New Menu Item. Doing so will take you to the screen below.
Under Menu Item Type, select Article > Single Article. Then, under Select Article, you can choose existing content on your site via Select and then clicking on the title of the one you want to assign.
Now you only need to input a Menu Title at the top (which is the text that will appear in the menu) and make sure the menu to assign it to is selected on the right. When you now save and close, you can use the three-dot icon on the left to drag menu items around and change their order.
When you are satisfied and go back to your site, the new item should now appear.
11. Add a Blog Section
Publishing blog posts in Joomla basically works the same way as creating pages. The only difference: you assign your blog posts to a category. For that, we first need one.
Go to Content > Categories > Add New Category. It takes you to the same editor as before. In this case, you only have to input a name at the top (e.g. Blog) then save and close.
After that, you can assign the category to your menu the same way you did with the page before. Only this time, under Menu Item Type, choose Articles > Category Blog.
Make sure to select your Blog category under Choose a Category. Then, check that it’s assigned to the right menu and give it a menu title that makes sense. Save and close to get it on your site. From now on, any article that you assign to your Blog category will show up in the form of a blog post under that menu item.
12. Install Extensions
The final thing we want to talk about in this Joomla beginner tutorial is extensions. With their help, you can bring new features and functionality to your site. You find them in the official Joomla extension directory.
Just input a search term, use the categories or the advanced search to find what you are looking for. With more than 6,000 available extensions, it can be difficult to make a choice, so you can start with collections like this:
- Joomla Extensions: 101 Essential Extensions You Need In Your Life Now
- 17 Best Joomla Extensions And Components You Must See (2021)
- 25 Best Joomla Extensions in 2020
Once you know what to install on your site, you have several ways of doing so. You can find all extensions under Extensions > Manage > Install. When you are there for the first time, at the top, use the option to set up Install from web. When you do, it gives you access to everything in the Joomla extension directory right from your back end.
Click on any extension and then hit the Install button (twice) to automatically load it onto your site. Should this not work for you for some reason, you can simply download the extension or copy the URL where it is located. After that, you are able to use the Upload Package File and Install from URL tabs to get it on your site.
Note, that you might still have to activate parts of the extension under Extensions > Manage.
From here, you are also able to deactivate and uninstall extensions you no longer need. Unfortunately, it’s a bit confusing and crowded, so you might have to search for your extension by name.
For this example, we have installed the popular JCE content editor. With it present and active and after setting it as the default editor under System > Global Configuration, the content creation experience changes notably.
Joomla Tutorial: Final Thoughts
Joomla is an excellent tool to build a website with. The CMS is powerful, flexible, widely extendable, and also free of charge.
In this Joomla tutorial, you have learned how to install the platform, find your way around its back end, change your site design, add content, and install extensions.
Of course, there is a lot more to learn. However, you now know enough about how to use Joomla to start exploring on your own. If you want to dive deeper into the platform, here are some recommended resources:
We look forward to seeing what you will create!
What’s your experience using Joomla? Anything to add to the tutorial above? Let us know in the comments section below!