How to setup Apache Web Server + MySQL Server on Linux in Azure/AWS/GCP

To setup and install Apache Web Server on any of the cloud platforms, the recommended way is to use the available image on the cloud marketplace. It comes pre-configured as an Apache Web Server with MySQL Server, PHP and PHPMyadmin. Check out the links below to deploy to your preferred cloud provider.

Getting Started

 

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

 

 

Once connected and logged in, the following section explains how to start using Apache, MySQL and phpmyadmin. 

Using Apache Web Server

 

The default directories used by Apache are as follows:

 

Apache LocationPath
Install prefix/usr/local/apache
Web 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

 

Apache Documentation:

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

Using MySQL Server

 

Once logged in via your ssh terminal, the first thing to do is to set a new password for the MySQL root user account by running the following commands. Replace the text ‘your_pass_here‘ with your new password.


mysql --user=root --password

Enter password: mysql1234

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

FLUSH PRIVILEGES;

Using phpMyadmin to manage MySQL databases

 

To login to phpmyadmin, browse to the following URL on your web browser:

 

youserverip/phpmyadmin

phpmyadmin-login

You can login using your root account or you can create a new user account by running the following commands from your ssh terminal:

sudo mysql

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

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

Support / Documentation

 

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

 

For documentation, please refer to the following links:

 

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/

Apache Firewall Ports

 

Default MySQL port is: TCP 3306

Apache HTTP : TCP 80

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

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 vote
Article Rating
Subscribe
Notify of
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x