Install Joomla on CentOS 7 and Ubuntu 14.04

Leave your reply

Introduction

Learn how to install Joomla. Joomla is a popular content management system (CMS) used by millions of people to create and manage their websites.

There are two options for installing Joomla:

  • On a new server (recommended). Joomla is available as a ready-to-use application which can be automatically installed on the server when it is built.
  • On an existing server. Joomla can be manually installed and configured on an existing server.

Requirements

To install on an existing server:

  • Cloud Server with CentOS 7 or Ubuntu 16.04
  • PHP 5.6+ or 7+
  • MySQL 5.5.3+ or MariaDB 10.1+ (not compatible with MySQL 6+)
  • Apache 2.4+
  • Apache modules mod_mysql, mod_suphp or mod_fcgid, mod_xml, mod_rewrite, and mod_zlib installed.

Note: Apache, PHP, and MySQL/MariaDB are installed and running on a standard Linux installation by default. If your server was created with a minimal installation, you will need to install and configure Apache, PHP, and MySQL/MariaDB before you proceed.

Install Joomla on a New Server (Recommended)

Log in to the Cloud Panel then go to Infrastructure > Servers.

Install joomla

Click + Create to create a new server.

Install joomla

Set a name for the server, and click the server configuration you wish to use.

Install joomla

Click the Applications tab.

Install joomla

Click the Search icon, and search for Joomla.

Install joomla
Install joomla

Click Create to build the server.

Install joomla

After the server has been built, go to Infrastructure > Servers and select the new server.

Install joomla

Scroll down to find the Joomla admin area login details.

Install joomla

Use this information to log in to your new Joomla server.

Install Joomla on an Existing Server

PHP Version

From the command line, go to your web directory and create a phpinfo.php file:

sudo nano phpinfo.php

Put the following into this file:

<?php
phpinfo();
phpinfo(INFO_MODULES);
?> 

Save and exit the file, then view the file in a web browser. The PHP version will be displayed at the top of the page.

php version

In the example above, the server is running PHP version 5.4.16.

Note: For security purposes, delete this file after you are finished.

Required PHP Modules

Joomla requires the following PHP modules:

  • mod_mysql
  • Either mod_suphp or mod_fcgid
  • mod_xml
  • mod_rewrite
  • mod_zlib

To see if these modules are loaded, examine the phpinfo.php page you created in the previous step.

Tip: Hit CTRL+F in your browser to search the page.

mod_mysql

Scroll down or use CTRL-F to search for "MySQL." If mod_mysql is loaded, you will see a section which looks like:

mod_mysql loaded in PHP

mod_suphp or mod_fcgid

Scroll down or use CTRL+F to search for "mod_suphp" or "mod_fcgid". If one of these modules is loaded, you will see it listed in the section which looks like:

mod_fcgid loaded in PHP

mod_xml

Scroll down or use CTRL+F to search for "xml". If mod_xml is loaded, you will see a section which looks like:

mod_xml loaded in PHP

mod_rewrite

Scroll down or use CTRL+F to search for "mod_rewrite". If mod_rewrite is loaded, you will see it listed in the Loaded Modules section:

mod_rewrite loaded in PHP

mod_zlib

Scroll down or use CTRL+F to search for "zlib". If mod_zlib is loaded, you will see a section which looks like:

mod_zlib loaded in PHP

MySQL/MariaDB Version

To check your version of MySQL/MariaDB, log into the client with the command:

sudo mysql -u root -p

The version number will be displayed in the welcome message.

MySQL version

In the above example, the server is running MySQL version 5.5.47.

Apache Version

You can find your version of Apache with the following commands:

CentOS and Red Hat:

sudo httpd -v

Ubuntu and Debian:

sudo apache2 -v

This will return information about your Apache server.

In the example above, the server is running Apache version 2.4.6.

Download and Unpack the Joomla Software

Once you have made sure that your server meets the requirements for Joomla, the next step is to download the software and unpack it on your server.

Connect to your server using SSH, and go to your website's document root. Download the current release from the Joomla website by using the command:

sudo wget [download URL]

To find the download URL, visit the current release page on the Joomla website. Copy the "Full Package (.zip)" URL. You can paste it into the command line by clicking Shift + Insert.

For example, to download the current stable release as of this article's publication (Joomla 3.8.12) the command is:

sudo wget https://downloads.joomla.org/cms/joomla3/3-8-12/Joomla_3-8-12-Stable-Full_Package.zip?format=zip

Unzip this file using the command:

sudo unzip [file name]

Tip: You can use tab completion to make this process easier. Type sudo unzip Joomla then hit Tab. The shell will automatically fill out the rest of the file name on the command line.

For example, to unzip the file downloaded above, the command is:

sudo unzip Joomla_3-8-12-Stable-Full_Package.zip

Note: The unzip command is not installed by default on Ubuntu 16.04. You can install this command first by using the command:

sudo apt-get install unzip

After the contents of the Joomla file have been unpacked, set the ownership of the files to the Apache user:

  • CentOS 7:sudo chown -R apache:apache *
  • Ubuntu 16.04:sudo chown -R html www-data:www-data *

CentOS 7:

sudo chown -R apache:apache *

Ubuntu 16.04:

sudo chown -R html www-data:www-data *

Create the Database

Before installing Joomla, you will need to create a database. Connect via SSH to your server. Then log in to the MySQL/MariaDB client:

sudo mysql –u root –p

Create a database:

Replace [database name] with the name you want to use for your new database. For example, to create a database named my_joomla_site:

create database my_joomla_site;

Create a user account for this database and grant it the correct permissions:

grant all on [database name].* to [database username]@localhost identified by '[database user password]';

Replace:

  • [database name] with the name of your database.
  • [database username] with the username you want to create for your database.
  • [database user password] with a password for this user. Note: Be sure to give the user a strong password.

For example, to create a user named my_joomla_user with the password Fr4i*Re!2 and give the user privileges on the my_joomla_site database:

grant all on my_joomla_site.* to my_joomla_user@localhost identified by 'Fr4i*Re!2';

Exit the database with the command:

quit;

Install Joomla

To complete the installation, switch to a web browser and go to your website. You will see the Joomla installation page.

Joomla install page

Fill out the following fields:

  • Site Name
  • Administrator Email
  • Administrator Username
  • Administrator Password (twice)

Then click Next to go to the Database Configuration page.

On this page, fill out the following fields:

  • Database Type: MySQLi
  • Host Name: Localhost
  • Username: The user you created for the database in the previous step.
  • Password: The password for the database user.
  • Database Name: The name of the database you created in the previous step.
  • Table Prefix: Use the default, or specify one if you prefer.
  • Old Database Process: Backup

Then click Next to go to the FTP Configuration page.

On this page, set the following:

  • Enable FTP Layer: Yes
  • FTP Username: Leave blank
  • FTP Password: Leave blank
  • FTP Host: 127.0.0.1
  • FTP Port: 21
  • Save FTP Password: No

Then click Next to go to the final installation page. Here you can review all your choices and make changes if necessary.

When you are sure that all of the information is correct, click Install to complete the installation.

After the installation has completed, click the yellow Remove installation folder button to remove the installation folder so that you can proceed.

Go to your main website page and verify that Joomla has installed correctly.

Joomla test site

From here, you can log into Joomla using the Administrator username and password which you set in the installation process.