Install Joomla 3.6 Using LAMP (Linux, Apache, MySQL, PHP) on RHEL, CentOS & Fedora

Recently on 12 July 2016, Joomla 3.6 released, which is a major release in the Joomla 3.x series and comes with more than 400 improvements, including new features, support for PHP 7, which drastically...

Spread the love

Recently on 12 July 2016, Joomla 3.6 released, which is a major release in the Joomla 3.x series and comes with more than 400 improvements, including new features, support for PHP 7, which drastically increases speed of websites.

Important: The Joomla team strongly recommend that you should update your current websites immediately to latest release version.

This post guides you step by step installation of Joomla CMS (Content Management System) tool on Linux Operating System. There are number of installation ways available on internet. However, we have kept in mind for those beginners who are new to Joomla and Linux platform. Installation steps works on RHEL/CentOS/Fedora Linux Operating System. We have chosen LAMP (Linux, Apache, MySQL, PHP) installation method for this article.

Install Joomla in CentOS RHEL Fedora

Install Joomla in CentOS RHEL and Fedora

What is Joomla?

Joomla is a popular Open Source Content Management System (CMS) tool which allows us to easily build dynamic website and manage online applications. It also manage & publish your website contents like video, pictures, articles on the website. Joomla is freely available, which supports huge third party plug-ins and themes. With the help of Content Management System (CMS), you can set up websites in the World Wide Web (WWW) without having knowledge of programming.

Optimized Joomla Hosting with Free Domain + 50% Off
Joomla Hosting

Joomla Requirements

  1. Apache
  2. PHP
  3. MySQL/MariaDB

What is LAMP (Linux, Apache, MySQL/MariaDB, PHP)?

LAMP is an open source web development software stack wherein Linux as the Operating System, Apache is the Web Server, MySQL is a RDBMS, MariaDB is a community-developed fork of the MySQL and PHP as the object-oriented scripting language.

Please follow below link to install LAMP environment on your Linux systems.

  1. Install LAMP on RHEL/CentOS 7
  2. Install LAMP on Fedora 22
  3. Install LAMP on RHEL/CentOS 7/6 and Fedora 24-17

In this post, I used hostname as “” with the IP address These settings may differ at your environment, so please change them where appropriate. Also all the steps have been executed with root privileges. So make sure you have root login credential.

# hostname
# ip addr show
Hostname and IP Address

Hostname and IP Address

Step 1: Downloading Joomla 3.6

This installation method guides you how to install latest Joomla 3.6 using LAMP setup on RHEL, CentOS and Fedora. Use “wget” command to download latest source tarball.

# wget
Download Joomla

Download Joomla

Copy downloaded source files package and extract it under Apache DocumentRoot directory (i.e /var/www/html/).

# cp /var/www/html/
# cd /var/www/html
# unzip
Copy and Extract Joomla to Apache Directory

Copy and Extract Joomla to Apache Directory

Warning: If you extracted the files into a folder called ‘Joomla‘, then your site will be accessed at

Step 2: Change the Ownership of Directory

Remove source file and change ownership of directory with user and group “apache” recursively with below command.

# rm -rf
# chown -R apache:apache /var/www/html/
# ls -l total 80
drwxr-xr-x. 10 apache apache 4096 Jul 12 17:25 administrator
drwxr-xr-x. 2 apache apache 42 Jul 12 17:25 bin
drwxr-xr-x. 2 apache apache 23 Jul 12 17:25 cache
drwxr-xr-x. 2 apache apache 4096 Jul 12 17:25 cli
drwxr-xr-x. 17 apache apache 4096 Jul 12 17:25 components
-rw-r--r--. 1 apache apache 2915 Jul 12 17:25 htaccess.txt
drwxr-xr-x. 5 apache apache 4096 Jul 12 17:25 images
drwxr-xr-x. 2 apache apache 61 Jul 12 17:25 includes
-rw-r--r--. 1 apache apache 1393 Jul 12 17:25 index.php
drwxr-xr-x. 13 apache apache 4096 Jul 12 17:25 installation
drwxr-xr-x. 4 apache apache 51 Jul 12 17:25 language
drwxr-xr-x. 5 apache apache 66 Jul 12 17:25 layouts
drwxr-xr-x. 12 apache apache 4096 Jul 12 17:25 libraries
-rw-r--r--. 1 apache apache 18092 Jul 12 17:25 LICENSE.txt
drwxr-xr-x. 2 apache apache 23 Jul 12 17:25 logs
drwxr-xr-x. 20 apache apache 4096 Jul 12 17:25 media
drwxr-xr-x. 27 apache apache 4096 Jul 12 17:25 modules
drwxr-xr-x. 14 apache apache 4096 Jul 12 17:25 plugins
-rw-r--r--. 1 apache apache 4226 Jul 12 17:25 README.txt
-rw-r--r--. 1 apache apache 842 Jul 12 17:25 robots.txt.dist
drwxr-xr-x. 5 apache apache 64 Jul 12 17:25 templates
drwxr-xr-x. 2 apache apache 23 Jul 12 17:25 tmp
-rw-r--r--. 1 apache apache 1690 Jul 12 17:25 web.config.txt

Step 3: Apache Server Configuration

If you’re planning to host only your Joomla website under your Apache web server, then you should follow these steps or else go for Apache virtual hosting and create a separate vhost for your Joomla site and follow rest of the instructions in this article.

Open Apache configuration file with VI or your choice editor.

# vi /etc/httpd/conf/httpd.conf

Search directive as below and change it appropriate.

ServerAdmin [email protected]

Note: User and Group should be apache

Step 4: Restart httpd (Apache) Service

Restart Apache web service.

# systemctl restart httpd.service
# service httpd restart

To make httpd service started automatically in next boot, use below command.

# systemctl enable httpd.service
# chkconfig --level 35 httpd on

Verify your httpd is running and listening request on port 80.

[[email protected] ~]# netstat -antp | grep httpd
tcp 0 0 :::80 :::* LISTEN 1705/httpd

Step 5: Iptables (Firewall) Configuration:

Please open port 80 on firewall or disable iptables.

---------------- On CentOS/RHEL 7 and Fedora 20 Onwards ----------------
# firewall-cmd --zone=public --add-port=80/tcp --permanent
# firewall-cmd --reload
---------------- On CentOS/RHEL 6 and Fedora 12-19 ----------------
# iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# service iptables save
# service iptables restart

Step 6: Create Joomla Database

If you’ve net set MySQL root password, you can set using following command or else skip if you already set.

# mysqladmin -u root password 'redhat'

Login with root credential in MySQL.

# mysql -u root -p

Create database called “joomla” in MySQL.

mysql> create database joomla;

Grant privilege on joomla database for “joomla” user in MySQL.

mysql> grant all on joomla.* to [email protected]'localhost' identified by 'redhat';
Query OK, 0 rows affected (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

Restart MySQL service and auto enable at system startup.

---------------- On CentOS/RHEL 6 and Fedora 12-19 ----------------
# systemctl restart mariadb.service
# systemctl enable mariadb.service
---------------- On CentOS/RHEL 6 and Fedora 12-19 ----------------
# service mysqld restart
# chkconfig --level 35 mysqld on

Step 7: Installation and Configuration of Joomla

Open your browser and type which will open below screen to configure Joomla step by step.

Joomla Site Setup

Step 8: Database Configuration

Fill up the details like database name, username and password which was set earlier in Step 6 for MySQL settings and click ‘Next‘.

Joomla Database Configuration

Step 9: FTP Configuration

Leave blank as we are not using FTP and click ‘Next‘.

Joomla FTP Setup

Step 10: Install Sample Data

Install Sample Data and click ‘Install‘.

Install Joomla Data

Step 12: Congratulation! Joomla ! Installation Completed.

Joomla Installation Complete

Notice: If you get any error saying that the configuration file or directory is not writable, that means you have to copy and paste the following configuration code to ‘configuration.php’ file in your site root folder.

Joomla Configuration Code

class JConfig {
public $offline = '0';
public $offline_message = 'This site is down for maintenance.<br /> Please check back again soon.';
public $display_offline_message = '1';
public $offline_image = '';
public $sitename = '';
public $editor = 'tinymce';
public $captcha = '0';
public $list_limit = '20';
public $access = '1';
public $debug = '0';
public $debug_lang = '0';
public $dbtype = 'mysqli';
public $host = 'localhost';
public $user = 'joomla';
public $password = 'redhat';
public $db = 'joomla';
public $dbprefix = 'v3rlo_';
public $live_site = '';
public $secret = 'lb1sYEgHg0qZmyb7';
public $gzip = '0';
public $error_reporting = 'default';
public $helpurl = '{major}{minor}:{keyref}';
public $ftp_host = '';
public $ftp_port = '21';
public $ftp_user = '';
public $ftp_pass = '';
public $ftp_root = '';
public $ftp_enable = '0';
public $offset = 'UTC';
public $mailonline = '1';
public $mailer = 'mail';
public $mailfrom = '[email protected]';
public $fromname = '';
public $sendmail = '/usr/sbin/sendmail';
public $smtpauth = '0';
public $smtpuser = '';
public $smtppass = '';
public $smtphost = 'localhost';
public $smtpsecure = 'none';
public $smtpport = '25';
public $caching = '0';
public $cache_handler = 'file';
public $cachetime = '15';
public $MetaDesc = 'Joomla Testing Website';
public $MetaKeys = '';
public $MetaTitle = '1';
public $MetaAuthor = '1';
public $MetaVersion = '0';
public $robots = '';
public $sef = '1';
public $sef_rewrite = '0';
public $sef_suffix = '0';
public $unicodeslugs = '0';
public $feed_limit = '10';
public $log_path = '/var/www/html/logs';
public $tmp_path = '/var/www/html/tmp';
public $lifetime = '15';
public $session_handler = 'database';

Caution: Remove installation directory clicking button ‘Remove Installation‘. If you get error that installation folder could not be deleted, you can use following command to delete manually.

# rm -rf installation/

Step 13: Login in Joomla

Joomla Login

Joomla Login

Step 15: Site administrator Login

Joomla Admin Login

Joomla Admin Login

Step 16: Control Panel of website

Joomla Admin Dashboard

Step 17: Updating Joomla (Update Method)

The easiest method of updating Joomla to newest version is using One click update. This method is only suitable for Joomla 3.x.x to 3.x.x – updates (maintenance update).

If there is an update, Joomla will alert you at your Administrator control panel. Joomla will not auto update, it’s site administrator responsibility to start and verify the update.

For example, in this Joomla update section, we will see how to update from Joomla 3.4.3 to 3.6 version.

Important: Don’t forget to take your CURRENT BACKUP of your site, before doing an update.

Login into administrative control panel and see for the update notification at the top that says Update Now.

Update Joomla

Update Joomla

Once you click on Update Now button, it will show you the installed Joomla version and latest available version. Here you will have two options, one ‘Write files directly‘ is the default method and second is ‘Write files using FTP‘ to update new core files to your Joomla installation.

If you already have FTP setup in place, you can choose FTP update option, or simply click on Install the Update button to carry updates..

Install Joomla Update

Install Joomla Update

Note: Once update process overs, you may need to clear your browser cache to adjust for any changes in the JS/CSS files.

If you have any query in this regard, please write on comment box below.

We’ll work for you…!!!

We also provide hosting solution in WordPress & Joomla as well as migration from Joomla to WordPress or vice versa with minimum charges. If you want us to do it for you please contact us.

Facebook Comments

More Stuff

Red Hat Enterprise Linux (RHEL) 7.1 Released – A Quick Review and ... Red Hat Enterprise Linux commonly but not officially abbreviated as RHEL is a Linux distribution developed from commercial point of view. Red Hat Ente...
Everything you need to know about 5G technology (non-technical) There’s been a lot of talk about the next “revolutionary” wave in telecom networks starting to roll out, aptly dubbed “5G”, or “5th Generation” of cel...
Programming Medicines One of the fundamental aspects of what makes us human is a desire to heal, to manage our pain, and to care for our loved ones. So what I want to ta...
“Hello,” from the Mobile Side: TensorFlow Lite in Speaker Recognit... The Alibaba tech team explored a new approach to voice recognition on mobile, addressing main challenges in this fieldVoice biometrics, or voicepri...
Spread the love

Posted by News Monkey