How To Install Joomla CMS 3.9.4 CMS On Centos 7.6

Installation of Joomla CMS 3.9.4 CMS On Centos 7.6

Joomla is a free and open-source content management system (CMS) for publishing web content.This tutorial covers the installation procedure of joomla CMS on Centos 7.6.

Usage

Corporate websites or portals, intranets and extranets

Small business websites

Online magazines, newspapers and publications

E-commerce and online reservations

Government, non-profit and organisational websites

Personal or family homepages

Features

Template Management

Menu Manager

Media Manager

Contact Management

Web links

Search

Requirements

PHP 7.1+ 5.3.10 (least supported)

MariaDB 5.5.3+ 5.3(least supported)

Apache 2.4+ 2.0 (least supported)

Installation

Download Link: Joomla 3.9.4 stable version

Check the version Of Centos-7.6

[root@linuxhelp ~]# lsb_release -d
Description:	CentOS Linux release 7.6.1810 (Core)

Install the apache and mariadb server

[root@linuxhelp ~]# yum install httpd mariadb-server -y
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: centos.myfahim.com
 * extras: centos.myfahim.com
 * updates: centos.myfahim.com
Resolving Dependencies
--> Running transaction check
---> Package httpd.x86_64 0:2.4.6-88.el7.centos will be installed
--> Processing Dependency: httpd-tools = 2.4.6-88.el7.centos for package: httpd-2.4.6-88.el7.centos.x86_64
--> Processing Dependency: libaprutil-1.so.0()(64bit) for package: httpd-2.4.6-88.el7.centos.x86_64
--> Processing Dependency: libapr-1.so.0()(64bit) for package: httpd-2.4.6-88.el7.centos.x86_64
---> Package mariadb-server.x86_64 1:5.5.60-1.el7_5 will be installed
.
.
.
.
.
Installed:
  httpd.x86_64 0:2.4.6-88.el7.centos                                      mariadb-server.x86_64 1:5.5.60-1.el7_5                                     

Dependency Installed:
  apr.x86_64 0:1.4.8-3.el7_4.1          apr-util.x86_64 0:1.5.2-6.el7   httpd-tools.x86_64 0:2.4.6-88.el7.centos   mariadb.x86_64 1:5.5.60-1.el7_5    
  perl-DBD-MySQL.x86_64 0:4.023-6.el7   perl-DBI.x86_64 0:1.627-4.el7   perl-Net-Daemon.noarch 0:0.48-5.el7        perl-PlRPC.noarch 0:0.2020-14.el7  

Complete!

Enable And Start The service Of Apache And MariaDB

[root@linuxhelp ~]# systemctl enable httpd mariadb
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
[root@linuxhelp ~]# systemctl start httpd mariadb

Check the status of Apache And MAriaDb Service

[root@linuxhelp ~]# systemctl status httpd mariadb
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2019-04-01 11:29:21 IST; 2min 2s ago
mariadb.service - MariaDB database server
   Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2019-04-01 11:29:25 IST; 1min 59s ago

Secure the MariaDb through the below installation procedure:

[root@linuxhelp ~]# mysql_secure_installation 

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] y
New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

Login to the MariaDB database using root password and configure the database for Joomla CMS

[root@linuxhelp ~]# mysql -u root –p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 10
Server version: 5.5.60-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)
MariaDB [(none)]> create database joomla;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| joomla             |
| mysql              |
| performance_schema |
+--------------------+
4 rows in set (0.00 sec)
MariaDB [(none)]> use joomla;
Database changed
MariaDB [joomla]> create user user@localhost identified by 'linuxc';
Query OK, 0 rows affected (0.00 sec)
MariaDB [joomla]> grant all on joomla.* to user@localhost;
Query OK, 0 rows affected (0.00 sec)
MariaDB [joomla]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
MariaDB [joomla]> exit
Bye

Thus we have secured MariDb through the above process and configured For Joomla CMS.

Before Installation Of PHP, install 3 third party repositories which are epel-release,webtatic and remi-release, Install the epel-release by executing the following command

[root@linuxhelp ~]# yum install epel-release yum-utils -y
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: centos.myfahim.com
 * extras: centos.myfahim.com
 * updates: centos.myfahim.com
Package yum-utils-1.1.31-50.el7.noarch already installed and latest version
Resolving Dependencies
--> Running transaction check
---> Package epel-release.noarch 0:7-11 will be installed
--> Finished Dependency Resolution
.
.
.
.
Running transaction
  Installing : epel-release-7-11.noarch                                                                                                           1/1 
  Verifying  : epel-release-7-11.noarch                                                                                                           1/1 

Installed:
  epel-release.noarch 0:7-11                                                                                                                          

Download and Install the Webtatic repository.

[root@linuxhelp ~]# wget https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
--2019-04-01 12:01:50--  https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
Resolving mirror.webtatic.com (mirror.webtatic.com)... 46.101.64.32
Connecting to mirror.webtatic.com (mirror.webtatic.com)|46.101.64.32|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 13152 (13K) [application/x-redhat-package-manager]
Saving to: ‘webtatic-release.rpm’

100%[============================================================================================================>] 13,152      --.-K/s   in 0s      

2019-04-01 12:01:50 (227 MB/s) - ‘webtatic-release.rpm’ saved [13152/13152]

List the contents to check the downloaded rpm package of webtatic.

[root@linuxhelp ~]# rpm -Uvh webtatic-release.rpm
warning: webtatic-release.rpm: Header V4 RSA/SHA1 Signature, key ID 62e74ca5: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:webtatic-release-7-3             ################################# [100%]

Thus ,successfully installed the webtatic repository. Download And Install the remi-release repository using wget .

[root@linuxhelp ~]# wget http://rpms.remirepo.net/enterprise/remi-release-7.rpm
--2019-04-01 12:03:34--  http://rpms.remirepo.net/enterprise/remi-release-7.rpm
Resolving rpms.remirepo.net (rpms.remirepo.net)... 195.154.241.117, 2001:bc8:33a1:100::1
Connecting to rpms.remirepo.net (rpms.remirepo.net)|195.154.241.117|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 16004 (16K) [application/x-rpm]
Saving to: ‘remi-release-7.rpm’

100%[============================================================================================================>] 16,004      --.-K/s   in 0s      

2019-04-01 12:03:35 (185 MB/s) - ‘remi-release-7.rpm’ saved [16004/16004]
[root@linuxhelp ~]# rpm -Uvh remi-release-7.rpm 
warning: remi-release-7.rpm: Header V4 DSA/SHA1 Signature, key ID 00f97f56: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:remi-release-7.6-2.el7.remi      ################################# [100%]

Enable the remi-repository with php 7.2 version

[root@linuxhelp ~]# yum-config-manager --enable remi-php72
Loaded plugins: fastestmirror, langpacks
================================================================== repo: remi-php72 ==================================================================
[remi-php72]
async = True
bandwidth = 0
base_persistdir = /var/lib/yum/repos/x86_64/7
baseurl = 
cache = 0
cachedir = /var/cache/yum/x86_64/7/remi-php72
check_config_file_age = True
compare_providers_priority = 80
cost = 1000
deltarpm_metadata_percentage = 100
.
.
.
.
sslverify = True
throttle = 0
timeout = 30.0
ui_id = remi-php72
ui_repoid_vars = releasever,
   basearch
username =

Install the php modules for Joomla CMS

[root@linuxhelp ~]# yum install php php-gd php-pdo php-mbstring php-mcrypt php-mysql php-simplexml php-pecl-zip php-imap -y
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
epel/x86_64/metalink                                                                                                           | 6.0 kB  00:00:00     
 * base: centos.myfahim.com
 * epel: ftp.riken.jp
 * extras: centos.myfahim.com
 * remi-php72: mirror.uta.edu.ec
 * remi-safe: mirror.uta.edu.ec
 * updates: centos.myfahim.com
 * webtatic: uk.repo.webtatic.com
epel                                                                                                                           | 4.7 kB  00:00:00     
remi-php72                                                                                                                     | 3.0 kB  00:00:00     
.
.
.
.
Installed:
  php.x86_64 0:7.2.16-1.el7.remi                       php-gd.x86_64 0:7.2.16-1.el7.remi                  php-imap.x86_64 0:7.2.16-1.el7.remi       
  php-mbstring.x86_64 0:7.2.16-1.el7.remi              php-mysqlnd.x86_64 0:7.2.16-1.el7.remi             php-pdo.x86_64 0:7.2.16-1.el7.remi        
  php-pecl-mcrypt.x86_64 0:1.0.2-2.el7.remi.7.2        php-pecl-zip.x86_64 0:1.15.4-1.el7.remi.7.2        php-xml.x86_64 0:7.2.16-1.el7.remi        

Dependency Installed:
  gd-last.x86_64 0:2.2.5-8.el7.remi    libargon2.x86_64 0:20161029-2.el7  libc-client.x86_64 0:2007f-16.el7   libmcrypt.x86_64 0:2.5.8-13.el7       
  libwebp7.x86_64 0:1.0.2-1.el7.remi   libzip5.x86_64 0:1.5.2-1.el7.remi  php-cli.x86_64 0:7.2.16-1.el7.remi  php-common.x86_64 0:7.2.16-1.el7.remi 
  php-json.x86_64 0:7.2.16-1.el7.remi

Check the version OF php .

[root@linuxhelp ~]# php -v
PHP 7.2.16 (cli) (built: Mar  5 2019 14:45:10) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

create a directory for joomla under the Apache document root directory /var/www.

[root@linuxhelp ~]# cd /var/www
@linuxhelp www]# mkdir joomla

Download the Joomla 3.9.4 version using wget.

[root@linuxhelp www]# wget https://downloads.joomla.org/cms/joomla3/3-9-4/Joomla_3-9-4-Stable-Full_Package.zip?format=zip
--2019-04-01 12:10:13--  https://downloads.joomla.org/cms/joomla3/3-9-4/Joomla_3-9-4-Stable-Full_Package.zip?format=zip
Resolving downloads.joomla.org (downloads.joomla.org)... 72.29.124.146
Connecting to downloads.joomla.org (downloads.joomla.org)|72.29.124.146|:443... connected.
HTTP request sent, awaiting response... 303 See Other
Location: https://s3-us-west-2.amazonaws.com/joomla-official-downloads/joomladownloads/joomla3/Joomla_3.9.4-Stable-Full_Package.zip?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIZ6S3Q3YQHG57ZRA%2F20190401%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20190401T064019Z&X-Amz-Expires=60&X-Amz-SignedHeaders=host&X-Amz-Signature=cd354d7db10d871d55e78525ad48f92c351d96511af4306a102848ac05e9e339 [following]
--2019-04-01 12:10:15--  https://s3-us-west-2.amazonaws.com/joomla-official-downloads/joomladownloads/joomla3/Joomla_3.9.4-Stable-Full_Package.zip?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIZ6S3Q3YQHG57ZRA%2F20190401%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20190401T064019Z&X-Amz-Expires=60&X-Amz-SignedHeaders=host&X-Amz-Signature=cd354d7db10d871d55e78525ad48f92c351d96511af4306a102848ac05e9e339
Resolving s3-us-west-2.amazonaws.com (s3-us-west-2.amazonaws.com)... 52.218.216.152
Connecting to s3-us-west-2.amazonaws.com (s3-us-west-2.amazonaws.com)|52.218.216.152|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 13869429 (13M) [application/zip]
Saving to: ‘Joomla_3-9-4-Stable-Full_Package.zip?format=zip’

100%[============================================================================================================>] 13,869,429   873KB/s   in 14s    

2019-04-01 12:10:31 (948 KB/s) - ‘Joomla_3-9-4-Stable-Full_Package.zip?format=zip’ saved [13869429/13869429]

Check the downloaded zip file by listing the contents under the Document root Directory

[root@linuxhelp www]# ll
total 13548
drwxr-xr-x 2 root root        6 Nov  5 07:17 cgi-bin
drwxr-xr-x 2 root root        6 Nov  5 07:17 html
drwxr-xr-x 2 root root        6 Apr  1 12:09 joomla
-rw-r--r-- 1 root root 13869429 Mar 11 23:12 Joomla_3-9-4-Stable-Full_Package.zip?format=zip

Extract the files inside the joomla directory.

[root@linuxhelp www]# unzip Joomla_3-9-4-Stable-Full_Package.zip?format=zip -d joomla
Archive:  Joomla_3-9-4-Stable-Full_Package.zip?format=zip
  inflating: joomla/LICENSE.txt      
  inflating: joomla/README.txt       
   creating: joomla/administrator/
   creating: joomla/administrator/cache/
  inflating: joomla/administrator/cache/index.html  
   creating: joomla/administrator/templates/
   creating: joomla/administrator/templates/system/
  inflating: joomla/administrator/templates/system/component.php  
   creating: joomla/administrator/templates/system/css/
.
.
.
.
inflating: joomla/templates/protostar/html/com_media/imageslist/default_image.php  
  inflating: joomla/templates/protostar/html/com_media/imageslist/default_folder.php  
  inflating: joomla/templates/protostar/html/pagination.php  
  inflating: joomla/templates/protostar/html/modules.php  
  inflating: joomla/templates/protostar/error.php  
 extracting: joomla/templates/protostar/template_thumbnail.png  
   creating: joomla/tmp/
  inflating: joomla/tmp/index.html   
  inflating: joomla/web.config.txt   

Assign Writable permissions recursively to the joomla directory

[root@linuxhelp www]# cd joomla
[root@linuxhelp joomla]# chmod -R 775 ./

Create a Customised Configuration file for Joomla CMS 3.9.4

[root@linuxhelp joomla]# vim /etc/httpd/conf.d/joomla.conf
<VirtualHost *:80>
servername www.linuxhelp1.com
documentroot /var/www/joomla/

<directory /var/www/jooomla/>
allowoverride all
allow from all
</directory>
</virtualhost>

Include the Ip and Domain in the hosts file of etc directory.

[root@linuxhelp joomla]# vim /etc/hosts
<Ip address> <Domain name>

Test the configuration of Apache before loading the modifications through service restart of apache.

[root@linuxhelp joomla]# httpd -t
Syntax OK

Now Restart the service OF apache.

[root@linuxhelp joomla]# systemctl restart httpd

Open the browser and enter the servername that we set in the customised configuration file:

Configure the details for joomla CMS And assign the super user log in credentials and click NEXT.

Enter the database details of joomla and click NEXT

Just click next after viewing the FTP Configuration.

Click install after the overview configuration check.

Remove installation folder after the successful installation of joomla CMs on Centos 7.6

Modify the url

Enter the login credentials to view the homepage of super users account. With this, the method to install Joomla CMS 3.9.4 CMS On Centos 7.6 comes to an end

Comment
marcelomorais
May 15 2019
Hi friend, i do all procedures, but in the end, i can´t acess the joomla interface to install, see more in details, i don´t find allowing in firewall, and joomla don´t do responsive, i apply the following rules:
firewall-cmd --add-port=80/tcp
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --add-port=443/tcp
firewall-cmd --permanent --add-port=443/tcp
I after that, i succefuly acess the interface to configuring.
That the tip!
Thanks.
Add a comment
FAQ
Q
What is Email-cloaking in Joomla 3.9.4 CMS?
A
Email-cloaking in Joomla just hides the email-addresses that appear on the website which are readable by people but not by spambots that harvests the email-addresses for spamming purposes.
Q
How can we manage the templates in Joomla 3.9.4 CMS?
A
You can manage the templates by setting.
Q
What is the use of Contact Manager in Joomla CMS 3.9.4?
A
It helps the users to find the right person and their contact information.
Q
What is Spambots In Joomla 3.9.4 CMS?
A
Spambots is an autonomous computer program on the internet that sends spam to large number of users on online forums.
Q
What does Search feature do in Joomla CMS 3.9.4?
A
Search feature in Joomla helps users to navigate the most popular search items and also provides the search statistics for admin.