Getting started with Joomla!
Joomla! is yet another open source platform (more about open source software) for Content Management System (CMS). You can build your websites easily using Joomla and it comes with number of free plugins which can be used out-of-the-box to quickly create and publish your website on the internet.
In this article, lets understand Joomla a little closely. We will go through different installation types, quick walkthrough of a Joomla! codebase, how to configure and run Joomla.
so, lets get started!
What is Joomla!
Joomla! is written in PHP, uses object-oriented programming techniques and software design patterns. It uses MySQL database for storing data. Joomla! includes features such as page caching, RSS feeds, blogs, search, and support for language internationalisation. It is built on a model–view–controller web application framework.
Over 6,000 extensions are available from the Joomla! website, and more are available from other sources. As of 2020, it was estimated to be the third most used open-source CMS on the Internet, after WordPress and Shopify.
Other open source alternative to Joomla
- WordPress
- Drupal
- TYPO3
GIT repository link
https://github.com/joomla/joomla-cms
Joomla! Local Installation
Requirements
Joomla 3.x
- PHP 5.3+
- supported Databae:
- MySql 5.1+
- SQLServer 10.50.1600.1+
- PostgreSQL 8.3.18+
- Supported WebServers
- Apache 2.0
- NGINX 1.0
- Microsoft IIS 7
Joomla! Installation without AMPPS
- Download and unzip the Joomls from https://wordpress.org/download/
- Create a database for Joomla on your web server, as well as a MySQL (or any other supported database) user who has all privileges for accessing and modifying it.
- Upload the WordPress files to the desired location on your web server. Provide path and screenshots for local installation
- If you want to integrate WordPress into the root of your domain (e.g. http://example.com/), move or upload all contents of the unzipped WordPress directory (excluding the WordPress directory itself) into the root directory of your web server.
- If you want to have your WordPress installation in its own subdirectory on your website (e.g. http://example.com/blog/), create the blog directory on your server and upload the contents of the unzipped WordPress package to the directory via FTP.
Copy the extracted folder to webserver
Enter URL http://127.0.0.1/joomla in the browser and below screen will appear. Enter required details and click Next
Enter database details and click Next.
Review all details and click Install
Done!. you have successfuly installed Joomla. Click on “Remove installation Folder”
This is your Joomla Admin dashboard
This is your first Joomla Blog
Now we will see how we can install Joomla using AMPPS
Joomla! Installation using AMPPS
Follow my another post to know more about AMPPS and how to install it
Hope you have gone through above post. Now lets open AMPPS dashboard and search for joomla in the search bar on the left side
Click on Install Now
Enter required details and click Install
Done! You have successfully installed Joomla using AMPPS on your local machine
This is how your blog look like.
Now we will see how Joomla can be installed using cPanel. Most of the hosting provider today provides this useful tool to manage software.
Lets login to your cPanel dashboard and search for Software tab and “Softaculous Apps Installer”
This will open the same screen as we saw in AMPPS installation. Follow the same steps as mentioned above
Joomla! Docker Installation
Now we will see how one can install Joomla using Docker
If you have a Docker installed on your machine, you can just pull a Joomla image and start working on it.
Enter below command on the terminal and click enter. This will download the image to your Docker
docker pull joomla
start the container using below command
docker run --name some-joomla -e JOOMLA_DB_HOST=10.1.2.3:3306 \
-e JOOMLA_DB_USER=... -e JOOMLA_DB_PASSWORD=... -d joomla
then enter http://localhost:8080 in the browser. Follow same procedure as mentioned above
Walkthrough of Joomla! codebase
To give you guys a basic idea of Joomla codebase, I will guide through different folders present in the Joomla installation directory. This will help you in modifying the code as per your need.
- administrator: This folder contails all files and folders related to Joomla Admin dashboard.
- cache: This folder holds a cached files used by Joomla core framework.
- Components: This folder contains sources for different components in a system. A component is a kind of Joomla! extension. Components are the main functional units of Joomla!; they can be seen as mini-applications. An easy analogy would be that Joomla! is the operating system and the components are desktop applications. They are usually displayed in the center of the main content area of a template
- images: This folder contains all images used in your website
- includes: This folder contains files to define application level constants along with the directory path like libraries, plugins and templates. The application’s index.php files uses the files in this folder. The framework will load the necessary files to start Joomla.
- language: Joomla is multi-lingual CMS, it supports using multiple languages. This is done by providing capabilities in the core framework. This folder contains language specific files which will be created when you install any new extension.
- layouts: This folder contains core Joomla layouts. You can override and add your own layouts in this folder
- libraries: This folder contains all the library classes and code which is used in Joomla’s core framework. You can also install you own libraries here making them available to other extensions.
- media: The media folder contains CSS, Javascript, and image files for some of the components, modules, and editors.
- modules: Modules are kind of small features in the Joomla. The entire website is built by number of such modules. This folder contains different core modules in Joomla and each module is present in separate folder. When you install new extension, new folder gets created inside this folder and related files will be present under that folder
- plugins: This folder contains all plugin extension files. Any newly installed plugin will reside in this folder.
- templates: This folder contains all installed templates.
- tmp: This holds files and data which are used as a temporary by Joomla
Conclusion
So, in this guide we learned about Joomla! starting from its brief introduction to different options of installing Joomla!. Step by step guide along with screenshots will hopefully help to understand things quickly. We also covered installing Joomla! using Docker. On high level we covered codebase walkthrough of Joomla!
References
Wikipedia.org