Intro to Joomla: What is Joomla?
Welcome to the first chapter of Kevin's Guides Intro to Joomla! series. In this chapter, you will learn about what Joomla is, what you can do with it, and the basics of how it works.
Each chapter will build upon the last. If you already know the basics, you may skip ahead to later chapters.
The goal of this series is to get you up and running with a stable working website. We'll cover all the fundamentals and talk about using some essential open source extensions provided by the Joomla! development community. By the end, you should have all the knowledge necessary to build and manage Joomla powered websites.
Without further ado, let's get started!
The Joomla team is expected to release Joomla 5 in the near future. It behaves functionally identical to Joomla 4. So this series applies to both Joomla 4 and Joomla 5. You may see old references in this series to "J4" meaning Joomla 4, but remember it applies to Joomla 5 as well. I am in the process of updating everything to be generic for Joomla 4 & 5.
What is Joomla?
Joomla! is a free to use, open source content management system built primarily using PHP and MySQL. It powers millions of sites worldwide. A content management system (CMS) is any software platform that allows users to create, modify, and publish information.
There are many content management systems out there. Wordpress is the largest by user base, Shopify is a distant second, and Joomla is third. While there are certain advantages to each option, Joomla excels in a few key areas.
Advantages of Joomla
- Able to handle very large collections of articles
- Highly configurable with hundreds of excellent extensions
- Open source, free, with a decently active community
- Built in multilingual site support, if you intend on making content available in multiple languages
- Extensive user management capabilities and permission handling
- Developer friendly
Simply put, Joomla is the best open source CMS for handling extensive collections of content. I believe Joomla is the best content management system, WordPress is the best blogging platform, and Shopify is the easiest to use eCommerce solution.
If you're a web developer, Joomla is easy to make extensions for. It is the better solution for informational websites, documentation websites, internal company websites, directories, and any website that needs to allow concurrent users to edit it. Once you learn the essentials of Joomla, you can easily go off to create nearly any type of website you could dream of.
The "Bones" of J4
PHP is a widely used server-side programming language that J4 was written in. PHP was chosen for several reasons. The main benefits of using PHP are that it's a very popular language, so many developers know how to use it, it's free to use and run, giving it a wide reach, and it has relatively low overhead on web servers. It's efficient. This flexibility is a plus for Joomla.
MySQL (pronounced "my-see-quill") is a database system. There are a variety of different SQL platforms, and J4 supports a few. There are free versions and commercial versions. Because of the popularity of SQL databases, and their ready accessibility, it's another significant reason for J4 to use them. J4 uses MySQL databases to store all the information or content of the website. Things like usernames, passwords, articles, dates, and more are all stored in a MySQL database.
WordPress, the world's most popular CMS, is also built on PHP and MySQL. Don't be put off by the technical details of PHP or MySQL. You don't actually need to know much about them to get started with Joomla unless you plan on being a web software developer. No programming or advanced database administration skills are required to get a website up and running with Joomla. The CMS itself handles all the technical work for us.
A Brief History
Joomla was originally developed as a fork or spin-off project of the now defunct Mambo CMS, which existed from 2000 through 2008. It essentially started as a heavily changed version of Mambo. In fact, in its early days, many third party extensions and templates that worked in Mambo also worked in Joomla with little or no changes required. Now, Joomla has grown to a point where it no longer uses any of the original Mambo codebase. In fact, most of Joomla has been rewritten several times over to keep up with the ever-changing demands of growing web technologies.
Still, at its core, Joomla operates similarly to how the original Mambo CMS operated. A Mambo administrator from 2005 would find themself relatively at home using up to Joomla 3. Joomla 4 made a number of significant changes to the back end, and now looks entirely different from the original Mambo administration panel.
As you can see from the above images, although they all look different, at their core they all contain similar options for managing content and users.
Who Makes Joomla?
Joomla is developed by Open Source Matters (OSM), Inc, a nonprofit organization dedicated to updating and maintaining Joomla. Since Joomla is open source, members of the community are free to view the source code and make changes as needed. If the changes are approved, they may be added to a future release of Joomla so everyone can benefit from the enhanced features. OSM has a board of directors responsible for the legal, organizational, and financial aspects of maintaining Joomla. They are largely based in different European nations, but the overall Joomla! community is worldwide.
What can I do with Joomla?
The options for customization are truly endless with Joomla, and so are the types of sites you can make. There are thousands of extensions (free and commercial) available through the Joomla Extensions Directory that can serve just about any purpose. Out of the box, Joomla has all the tools you need to create a content driven website, such as a blog, an online magazine, or a collection of guides (like this website!). With extensions, you can create online stores, forums, directories, image galleries, or even your own social network, all without having to write a line of code. Hundreds of templates exist, so you can customize the style of your website as you see fit. If you need even more customizability beyond what you can find in an extension, you can hire a developer to do these customizations for you, or if you know how to code, do it yourself.
How Joomla! Works
The software behind J4 itself is comprised of a large amount of files (mostly PHP files). Once uploaded to a web host that supports both PHP and MySQL (usually Apache web server), you can setup your J4 installation, configure things in the admin panel, add your content, and ultimately publish your website. A web server is the computer that hosts the web pages and in our case has the software needed to run PHP files. It also serves the files from Joomla to the end user, so they can see the website in their browser.
The web server can be anywhere, and there are many different types. You can use your own personal computer as a web server, you can buy web hosting from a hosting company or use cloud services. We have an entirely separate guide on selecting a web host. For the purposes of this series, we'll be testing out Joomla in our own local testing environment. This is free and relatively easy to do. We'll get into setting everything up in the next chapter. While you can host a website from your own computer and serve it to the world wide web, this isn't recommended for security and reliability reasons. We'll only be using our local PCs as testing environments, not accessible to anyone on the internet.
I'd recommend you purchase web hosting down the road when you get serious about your website and have enough content to make it worthwhile. Thankfully, hosting is very affordable these days, with prices ranging anywhere from $5/mo for websites with little traffic to thousands of dollars per month for websites with millions of active daily users.
Review the terms below as they relate to Joomla. They will be mentioned a lot during the course of this series.
Don't worry about studying the above too hard. You'll learn everything in more detail as this series progresses. These are just some of the fundamental pieces of Joomla! which we'll be discussing in greater detail in upcoming chapters.
You should now know a little bit more than you did before about Joomla. If you'd like to learn more about the specific features of Joomla, check out this official website. In the next chapter, you will learn how to setup a local test server and install Joomla for the first time.