What is Joomla?
Joomla is a Content Management System (CMS) which allows you build website and online apps. Joomla (along with Drupal) is one of the alternatives to the website building juggernaut Wordpress. Joomla is written in PHP, just like Drupal and Worpress. Joomla is free and open-source, just like the others. It also has a multitude of templates and extensions that you can choose from. Joomla is arguably more powerful than wordpress in some areas like ecommerce. I personally started looking at Joomla because I was looking for an alternative to Wordpress, and while Joomla has a steeper learning curve, its robustness could make it an attractive alternative!
- First, update the system and install all the required packages
sudo apt-get update -y sudo apt-get upgrade -y sudo apt-get install apache2 mysql-server php7.0 php7.0-mysql libapache2-mod-php7.0 php7.0-mcrypt php7.0-xml php7.0-curl php7.0-json php7.0-cgi unzip wget
You will be prompted to enter the root password for MySQL. Remember that.
Next, follow best practices, and execute the MySQL secure installation script. No need to install the password plugin, and no need to change the password. You should enter "Y" for the rest of the prompts
Download and unpackage the Joomla files
wget https://downloads.joomla.org/cms/joomla3/3-8-7/Joomla_3-8-7-Stable-Full_Package.zip unzip Joomla_3-8-7-Stable-Full_Package.zip -d /var/www/html rm /var/www/index.html
- Set appropriate permissions
sudo chown -R www-data:www-data /var/www/html sudo chmod -R /var/www/html
Create the Joomla database on MySQL
Enter the MySQL console
mysql -u root -p
Enter the following commands into the MySQL console
mysql>CREATE DATABASE joomla; mysql>GRANT ALL PRIVILEGES on joomla.* to '<username>'@'localhost' identified by '<password>' mysql>FLUSH PRIVILEGES; mysql>exit
Remember the username and password that you used above, because you will need that during the initial setup process
Restart the Apache server
sudo systemctl restart apache2
Next, access the newly installed Joomla instance using a web-browser, and the IP address or the domain name of your machine. It should look like this:
In the database section, these are the following parameters that you should use:
Database type: MySQLi Host Name: localhost Username: <username-you-chose> Password: <password-you-set> Database Name: joomla Table Prefix: joomla_ Old Database Process: Remove