How to Setup Joomla Server + MySQL + Apache on Azure/AWS/GCP

To setup and install Joomla on any of the cloud platforms, the recommended way is to deploy using the publicly available image. Setup Joomla Server on Ubuntu, Debian or CentOS. The image comes pre configured with the full LAMP Stack – Apache Web Server, MySQL Server, phpMyadmin. Check out the links below to deploy to your preferred cloud provider.

Getting Started

 

Once your Joomla server has been deployed, the following links explain how to connect to a Linux VM:

 

 

Once connected and logged in, the following sections explains how to run through the Joomla installation, using MySQL and Apache Web Server.

Joomla Installation

 

Once logged into your server via ssh terminal, the first step is to reset the MySQL root user account and create a new MySQL database that will be used by Joomla. Run the following command to reset the MySQL root password:


mysql --user=root --password

Enter password: mysql1234

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_pass_here';

FLUSH PRIVILEGES;

Create MySQL Database for Joomla

 

Next step is to create a new MySQL user account and MySQL database that will be used for Joomla. 

Run the following command to create a new MySQL User:

 


CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'some_very_complex_password';

GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost';
FLUSH PRIVILEGES;

Run the following command to create a new MySQL database:


CREATE DATABASE joomladb;

Start Joomla Installation

 

Once you’ve setup your MySQL database, you’re now ready to start the quick Joomla setup.  Simply browse to the server IP address in your browser and you will see the following screen:

Joomla-Install

 

Simply fill out your new site details, email address and super user account details that will be used to login to the Joomla CMS. Press Next and then fill out the database details and follow the onscreen instructions and that will complete the setup of Joomla.

 

Joomla-MySQL-Database

Setting up Joomla Mail Settings

 

To use the mail settings on Joomla, there are some configuration steps to make. From your SSH terminal run the following command to setup SendMail:

 

On Ubuntu/Debian Server Run

sudo sendmailconfig (answer Yes to everything)

sudo /etc/init.d/httpd restart 
sudo /etc/init.d/sendmail restart
 
On CentOS Server Run:
sudo service sendmail restart

 

Next login to the admin area of Joomla, if you browse to > Global Configuration > Server > Mail Settings, i recommend setting up SMTP authentication. In the screenshot below i’ve set it up to use Office365

 

Joomla-mailsettings-Office365

Joomla and Apache default directories

 

The default directories used by Apache are as follows:

 

Apache LocationPath
Install prefix/usr/local/apache
Web (Joomla) root location/data/www/default
Main configuration File/usr/local/apache/conf/httpd.conf
Default virtual host conf/usr/local/apache/conf/vhost/default.conf
Virtual host conf/usr/local/apache/conf/vhost/your_virtual_host.conf
Virtual host SSL location/usr/local/apache/conf/ssl/your_virtual_host
Virtual host location/data/www/your_virtual_host_names
Virtual host log location/data/wwwlog/your_virtual_host_names

Joomla Login URL

 

The URL to login to Joomla is

 

http://YourPublicIP/administrator


or


http://YourPrivateIP/administrator

Using phpMyadmin to manage MySQL databases

 

To login to phpmyadmin, browse to the following URL on your web browser (use http):

 

http://yourserverip/phpmyadmin

 

Login using your MySQL root user account

phpmyadmin-login

Support / Documentation

 

If you experience any issues on getting this Joomla server setup on any of the cloud platforms, please contact us and we will assist

 

For documentation, please refer to the following links:

 

Using Joomla

https://docs.joomla.org/Main_Page

 

Using MySQL:

https://dev.mysql.com/doc/mysql-getting-started/en/

 

Using phpMyadmin:

https://docs.phpmyadmin.net/en/latest/

 

Using Apache:

http://httpd.apache.org/docs/

Joomla Firewall Ports

 

Default MySQL port is: TCP 3306

Joomla Apache HTTP : TCP 80

Joomla Apache TLS: TCP 443

 

The links below explain how to modify / create firewall rules depending on which cloud platform you are using.

 

To setup AWS firewall rules refer to – AWS Security Groups

To setup Azure firewall rules refer to – Azure Network Security Groups

To setup Google GCP firewall rules refer to – Creating GCP Firewalls

Avatar for Andrew Fitzgerald
Andrew Fitzgerald

Cloud Solution Architect. Helping customers transform their business to the cloud. 20 years experience working in complex infrastructure environments and a Microsoft Certified Solutions Expert on everything Cloud.

0 0 votes
Article Rating
Subscribe
Notify of
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x