How to install joomla using lamp in centos 7.5

Installation of joomla cms using lamp configuration in centos 7.5

Joomla is a free, open-source, and popular content management system (CMS) that can be used to build online applications and websites. It uses a PHP application and back-end databases such as MySQL or MariaDB. The main benefit of using Joomla CMS is that it does not require significant technical skill or knowledge to manage. It is so simple to install Joomla on CentOS 7.5

Installation

Checking centos version

[root@linuxhelp ~]#rpm -q centos-release
centos-release-7-5.1804.el7.centos.x86_64

configuration of LAMP setup

[root@linuxhelp ~]#yum install httpd
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: centos.mirrors.estointernet.in
 * epel: epel.scopesky.iq
 * extras: centos.mirrors.estointernet.in
 * remi-php70: fr2.rpmfind.net
 * remi-safe: remirepo.reloumirrors.net
 * updates: mirrors.123host.vn
Resolving Dependencies
--> Running transaction check
.
.
.
Running transaction test
Transaction test succeeded
Running transaction
  Installing : httpd-2.4.6-88.el7.centos.x86_64                                                                                         1/1 
  Verifying  : httpd-2.4.6-88.el7.centos.x86_64                                                                                         1/1 
Installed:
  httpd.x86_64 0:2.4.6-88.el7.centos  

Once the above process Is completed we need to start the service

[root@linuxhelp ~]# systemctl start httpd

We need to enable the service

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

Then we need to install mariadb and mariadb-server

[root@linuxhelp ~]# yum install mariadb-server mariadb
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: centos.mirrors.estointernet.in
 * epel: mirror.xeonbd.com
 * extras: centos.mirrors.estointernet.in
 * remi-php70: mirror.xeonbd.com
 * remi-safe: mirror.xeonbd.com
 * updates: mirrors.123host.vn
Resolving Dependencies
--> Running transaction check
---> Package mariadb.x86_64 1:5.5.60-1.el7_5 will be installed
.
.
.
Installing : 1:mariadb-5.5.60-1.el7_5.x86_64                                                                                          1/2 
  Installing : 1:mariadb-server-5.5.60-1.el7_5.x86_64                                                                                   2/2 
  Verifying  : 1:mariadb-server-5.5.60-1.el7_5.x86_64                                                                                   1/2 
  Verifying  : 1:mariadb-5.5.60-1.el7_5.x86_64                                                                                          2/2 
Installed:
  mariadb.x86_64 1:5.5.60-1.el7_5                                   mariadb-server.x86_64 1:5.5.60-1.el7_5                                  
Complete!

Once the above process Is completed we need to start the service

[root@linuxhelp ~]# systemctl start mariadb

And we need to enable the service

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

After enabling the service we need to secure root password for mysql database

[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 authorization.
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

Once it completed install php 7.0

[root@linuxhelp ~]#yum install -y php php-soap php-zip php-mysql php-curl php-xml  php-mcrypt php-gd php-fpm
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: ftp.iitm.ac.in
 * epel: ftp.jaist.ac.jp
 * extras: centos-hcm.viettelidc.com.vn
 * remi-php70: remi.xpg.com.br
 * remi-safe: remi.xpg.com.br
 * updates: mirrors.123host.vn
Package php-mysql is obsoleted by php-mysqlnd, trying to install php-mysqlnd-7.0.33-5.el7.remi.x86_64 instead
Resolving Dependencies
--> Running transaction check
---> Package php.x86_64 0:7.0.33-5.el7.remi will be installed
--> Processing Dependency: php-cli(x86-64) = 7.0.33-5.el7.remi for package: php-7.0.33-5.el7.remi.x86_64
---> Package php-common.x86_64 0:7.0.33-5.el7.remi will be installed
---> Package php-json.x86_64 0:7.0.33-5.el7.remi will be installed
.
.
.
Installed:
  php.x86_64 0:7.0.33-5.el7.remi                    php-common.x86_64 0:7.0.33-5.el7.remi        php-json.x86_64 0:7.0.33-5.el7.remi      
  php-mbstring.x86_64 0:7.0.33-5.el7.remi           php-mysqlnd.x86_64 0:7.0.33-5.el7.remi       php-pdo.x86_64 0:7.0.33-5.el7.remi       
  php-pecl-zip.x86_64 0:1.15.4-1.el7.remi.7.0       php-xml.x86_64 0:7.0.33-5.el7.remi          
Dependency Installed:
  libzip5.x86_64 0:1.5.2-1.el7.remi                                    php-cli.x86_64 0:7.0.33-5.el7.remi

Download the package from the official site using wget command.

[root@linuxhelp ~]#wget https://downloads.joomla.org/cms/joomla3/3-9-4/Joomla_3-9-4-Stable-Full_Package.zip
--2019-03-24 22:41:17--  https://downloads.joomla.org/cms/joomla3/3-9-4/Joomla_3-9-4-Stable-Full_Package.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%2F20190323%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20190323T222427Z&X-Amz-Expires=60&X-Amz-SignedHeaders=host&X-Amz-Signature=8d78b12cc56623907809199c21a899cb55a32fb9ba32520781f9b02a00bb5be1 [following]
--2019-03-24 22:41:56--  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%2F20190323%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20190323T222427Z&X-Amz-Expires=60&X-Amz-SignedHeaders=host&X-Amz-Signature=8d78b12cc56623907809199c21a899cb55a32fb9ba32520781f9b02a00bb5be1
Resolving s3-us-west-2.amazonaws.com (s3-us-west-2.amazonaws.com)... 52.218.200.184
Connecting to s3-us-west-2.amazonaws.com (s3-us-west-2.amazonaws.com)|52.218.200.184|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 13869429 (13M) [application/zip]
Saving to: ‘Joomla_3-9-4-Stable-Full_Package.zip’
100%[==================================================================================================>] 13,869,429  1.10MB/s   in 17s    
2019-03-24 22:41:33 (1.06 MB/s) - ‘Joomla_3-9-4-Stable-Full_Package.zip’ saved [13869429/13869429]

The downloaded package is a zip file, so you need to unzip the package now.

[root@linuxhelp ~]#unzip Joomla_3-9-4-Stable-Full_Package.zip
extracting: templates/protostar/images/system/rating_star.png  
  inflating: templates/protostar/images/system/sort_asc.png  
  inflating: templates/protostar/images/system/sort_desc.png  
 extracting: templates/protostar/images/system/rating_star_blank.png  
   creating: templates/protostar/html/
   creating: templates/protostar/html/layouts/
   creating: templates/protostar/html/layouts/joomla/
   creating: templates/protostar/html/layouts/joomla/form/
   creating: templates/protostar/html/layouts/joomla/form/field/
  inflating: templates/protostar/html/layouts/joomla/form/field/contenthistory.php  
  inflating: templates/protostar/html/layouts/joomla/form/field/media.php  
  inflating: templates/protostar/html/layouts/joomla/form/field/user.php  
   creating: templates/protostar/html/layouts/joomla/system/
  inflating: templates/protostar/html/layouts/joomla/system/message.php  
   creating: templates/protostar/html/com_media/
   creating: templates/protostar/html/com_media/imageslist/
  inflating: templates/protostar/html/com_media/imageslist/default_image.php  
  inflating: templates/protostar/html/com_media/imageslist/default_folder.php  
  inflating: templates/protostar/html/pagination.php  
  inflating: templates/protostar/html/modules.php  
  inflating: templates/protostar/error.php  
 extracting: templates/protostar/template_thumbnail.png  
   creating: tmp/
  inflating: tmp/index.html          
  inflating: web.config.txt  

Move the file to the Apache document root directory.

[root@linuxhelp ~]# mv joomla /var/www/

After completing this step we are going to create database

[root@linuxhelp ~]#mysql –u root –p

MariaDB [(none)]> create database joomla1;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> create user 'joomlauser'@localhost identified by '123456';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> grant all privileges on joomla1.* to 'joomlauser'@localhost;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.01 sec)

Next we need to change the ownership and permission of the file.

[root@linuxhelp ~]# chown -R apache:apache /var/www/joomla

Create a new virtual host configuration for accessing a Joomla CMS application.

[root@linuxhelp ~]# vim /etc/httpd/conf.d/joomla.conf

<Virtualhost *:80>
	Servername www/linxuhelp1.com
	Documentroot /var/www/joomla
</Virtualhost>

Now we need to configure the host entry.

[root@linuxhelp ~]#vim /etc/hosts
192.168.7.227  www.linxuhelp1.com

After completing the following steps we need to restart the apache services.

[root@linuxhelp ~]#systemctl restart httpd

Now you can proceed the further installation and configuration from the browser by navigating to the following URL name.

we need to configure the Joomla setup as follows. First set up the user account details.

And then you need to configure database configuration.

After configuring all the setup, finalize your configuration and click on install to start the installation.

Now click on the administrator to log in as admin user.

You can make use of the admin credentials to login Joomla.

After the successful login, you will see the admin control panel of Joomla CMS as follows.

With this, the method to install Joomla on CentOS 7.5 comes to an end.

FAQ
Q
What is usage of joomla cms?
A
joomla is content management system (CMS) that can b e used to build online applications and websites.It uses a PHP application and back-end databases such as MySQL or MariaDB.
Q
What are the required Php extensions for Joomla?
A
The required PHP extensions for Joomla are as follows,
php-soap php-zip php-mysql php-curl php-xml php-mcrypt php-gd php-fpm
Q
How to enable host file entry on Joomla?
A
To enable host file entry for Joomla,
# vim /etc /hosts
Q
Is Joomla OpenSource?
A
Joomla is a free, open-source, and popular content management system.
Q
What is the official link for joomla to download latest version?
A
follow this link,
https://downloads.joomla.org/