Joomla is an immensely popular and award-winning open source Content Management System (CMS) that enables users to build websites and create potent online applications in an unperturbed manner.
Absolute user-friendliness and flexibility make Joomla amongst the most sought-after CMS software out there. It uses a PHP application, in addition to a back-end database - in this case, MySQL. Joomla was created in 2005, and boasts of more than 10,000 add-ons for customised functionality. No wonder then that it remains the second most popular virtual content management systems out there.
Joomla enables you to build Web sites and powerful online applications. Many aspects, including its ease-of-use and extensibility have made Joomla the most popular website build and management software available. Best of all, Joomla is an open source solution that is freely available to everyone. Since Joomla is based on PHP and MySQL, you're building powerful applications on an open platform anyone can use, share, and support.
Joomla is written in PHP, uses object-oriented programming (OOP) techniques and software design patterns, stores data in a MySQL, or PostgreSQL database and includes features such as page caching, RSS feeds, printable versions of pages, news flashes, blogs, search, and support for language internationalization.
This tutorial explains the process of installing Joomla on CentOS 7 in the form of a simple-to-follow guide.
A content management system is software that keeps track of every piece of content on your Web site, much like your local public library keeps track of books and stores them. Content can be simple text, photos, music, video, documents, or just about anything you can think of. A major advantage of using a CMS is that it requires almost no technical skill or knowledge to manage. Since the CMS manages all your content, you don't have to.
The following are core features of the Joomla CMS -
- Completely database driven site engines
- News, products, or services sections fully editable and manageable
- Topics sections can be added to by contributing Authors
- Fully customisable layouts including left, center, and right Menu boxes
- Browser upload of images to your own library for use anywhere in the site
- Dynamic Forum/Poll/Voting booth for on-the-spot results
- Runs on Linux, FreeBSD, MacOSX server, Solaris, and AIX
- A server running CentOS 7.
- A static IP Address for your server.
- A non-root user account with sudo privilege set up on your server.
Let's start make sure that your Centos-7 server is fully up to date.
You can update your server by running the following command:
sudo yum update -y
Install LAMP Stack
To get started, first you will need to install the LAMP (Apache2, MariaDB and PHP) stack before installing joomla.
You can easily install it by running the following command:
sudo yum install httpd mariadb mariadb-server php php-mysql -y
The line above will install everything that Joomla requires and some. During the installation of the above packages, you'll be prompted to create a root password for MySQL database.
Create and confirm a root password. Remember it, because you'll need it to connect to the Database server later to create a database for Joomla application.
Install & Setup Joomla
Before starting, update the system by running the following command:
sudo yum -y update
Let's download tar to decompress the installation file and some dependencies that we will need to install Joomla.
sudo yum install wget unzip
Creating a Database and User for Joomla
For Joomla to function correctly, we must create a database. This tutorial uses MariaDB, so let's access MariaDB with the following command,
mysql -u root -p
Now, we must first begin creating the database that Joomla will use. This can be accomplished with the following command replacing yourdbname with your database name,
CREATE DATABASE yourdbname;
Query OK, 1 row affected (0.00 sec)
With the database created we must now create a user so it can access the database. This can be accomplished with the following command replacing
yourjoomlauser with your desired username and replace
yourjoomlapassword with your desired password.
CREATE USER yourjoomlauser@localhost IDENTIFIED BY 'yourjoomlapassword';
Query OK, 0 rows affected (0.00 sec)
Next, we grant database access to your recently created user with the following command,
GRANT ALL PRIVILEGES ON yourdbname.* TO yourjoomlauser@localhost;
Query OK, 0 rows affected (0.00 sec)
Finally, we must refresh MariaDB so the system can flush the newly added privileges and for the changes to take effect, then exit your session. This can be accomplished with the following commands,
Next, restart MariaDB service and auto enable at system startup:
sudo systemctl restart mariadb.service
sudo systemctl enable mariadb.service
Download the most recent stable Joomla release. For this tutorial, that's version 3.4.5. You can check here to find the most recent release.
After we have downloaded the package, we must move the zip file to the html directory. This can be accomplished with the following command:
sudo mv Joomla_3.4.5-Stable-Full_Package.zip /var/www/html
Now, change to that directory and unzip the to get ready for the installation:
sudo cd /var/www/html
Finally, we can continue with the Joomla installation by unzipping the installation file with the following command:
sudo unzip Joomla_3.4.5-Stable-Full_Package.zip
Furthermore, with the following command, we can apply the appropriate permissions for the Joomla directory that was just created.
sudo chown -R apache:apache /var/www/html
sudo chmod -R 755 /var/www/html
Next, start Apache service and enable it to start on boot:
sudo systemctl start httpd
sudo systemctl enable httpd
Next, You will need to allow access from outside to port 80 and 443 through your firewall. You can do this by running the following commands:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
Now, reload the firewall service for the changes to take effect.
sudo firewall-cmd --reload
Joomla's Web Configuration
Your server is now configured correctly to run the web-based installation by going to the following:
You will see the initial Joomla installation page. Insert your site details and then click “Next.”
On next tab insert your MariaDB database information within the forms. Insert your database information that was set up at the beginning of this guide. Once done click "Next."
Take a look at the overview and make sure your information is correct. Once satisfied click “Install.”
In this tutotial you learned how to install & setup Joomla with Apache on CentOS 7 server. Joomla is designed to be easy to install and set up even if you're not an advanced user. Since Joomla is so easy to use, as a Web designer or developer, you can quickly build sites for your clients. Then, with a minimal amount of instruction, you can empower your clients to easily manage their own sites themselves. Once you setup Joomla successfully, you can now start building your website content!.