Creating a LAMP Stack (Linux, Apache, MySQL, PHP) using tasksel on Windows Azure

Introduction

I’ve covered in my previous post how to create a LAMP stack on Windows Azure using the BitNami provided image. In this post, I’ll alternatively create the lamp stack using Ubuntu’s tasksel, which gives me a more “traditional” barebones setup than the once enforced by the BitNami images.

Let’s start

Provision the machine

Create a new Virtual Machine, I’ll choose a spanking new Ubuntu 13.10

image

Open the HTTP port 80 in the load balancer to allow web access

image

Provision the server (should take about 10 minutes).

Install the required software

SSH into the new machine using PuTTy and run apt-get update

 sudo apt-get update

Install the Ubuntu LAMP stack using Tasksel

 sudo apt-get install tasksel
 sudo tasksel install lamp-server

Go through the wizard and choose your MySQL root password

image

image

After the wizard is done, if you browse to https://lampstack3.cloudapp.net you should be presented with a page like the below

image

Install phpmyadmin

 sudo apt-get install phpmyadmin

Go through the wizard

image

Then enter the MySQL root password

image

Then define a password for the phpMyAdmin application

image

After phpmyadmin is installed, you need to add its configuration in the apache2.conf to be able to access it at https://lampstack3.cloudapp.net/phpmyadmin

 sudo nano /etc/apache2/apache2.conf

And add the following line at the very end

 Include /etc/phpmyadmin/apache.conf

Then exit and save (CTRL+X then Y)

Restart apache

 sudo /etc/init.d/apache2 restart

 

Accessing the webserver files

The root of the webserver is located at /var/www. You need to change the ownership of that folder from root to the username you used when provisioning the machine (ex: azureuser)

 sudo chown azureuser /var/www

Use any SFTP client (ex: FileZilla) to connect to lampstack3.cloudapp.net and navigate to /var/www to publish your site.

image

Note: This post is cross posted to my new blog at https://sabbour.me/