web analytics

How to Host a Joomla Website on AWS for Free (Windows Server)

Joomla on AWS Logo

Amazon Web Services (AWS) is one of the market’s most reputable and reliable IaaS (Infrastructure as a Service); the service offers a free tier  which you can use an instance (an instance is a VPS: Virtual Private Server) for 750 hours/month for one year, you can use the free tier to host your Joomla website. This post will be a step by step tutorial on how to deploy your Joomla website on AWS (EC2) Windows Server 2008, and without further ado, let’s start:


  1. AWS free tier account; if you don’t have one visit Amazon; and click on the yellow tab seen below to start the registration process(warning: credit-card information is required to complete the registration process).



  1. Log into your AWS account, select the EC2 service from the services list.2
  2. You’ll be then be directed to a new window; click on the blue (Launch Instance) tab.3
  3. You’ll then be directed to a new window to select the AMI (Amazon Machine Image); select the “Microsoft Windows Server 2008 R2 with SQL Server Express and IIS – ami-1b5a7e72” image and lick on the blue “select” tab.4
  4. You’ll then be directed to a new window to choose the hardware, select the micro instance (t1.micro) and click on the “Next: Configure Instance Details” tab not the blue “Review and Launched” tab.5
  5. You’ll be directed to a new window; keep everything as it’s and click on the “Add Storage” tab.6
  6. You’ll be directed to a new window; keep everything as it’s and click on the “Tag Instance” tab.7
  7. You’ll be directed to a new window; call your instance anything you wish (e.g. WordPress, MyAwesomeWebsite, Monkey, etc.) and click on the “Next: Configure Security Group” tab.8
  8. You’ll be directed to anew window; make sure that the settings are set as the screenshot below, click on the “Review and Launch” tab.9
  9. You’ll then be directed to a new window, just click on the blue “Launch” tab.10
  10. A window will popup where you shall create a “Key pair” to have access to the instance you’ve just created, select “create a new key pair” and give it a name (e.g. Joomla, MyAwesomeWebsite, Monkey, etc.), then click on the “Download Key Pair” tab, download the file on your computer and then click on the blue “Launch Instance” tab.11
  11. You’ll then be directed to anew window, click on the blue “View Instance” tab. You’ll have to wait for 10~20 minutes, till your instance is initialized.12
  12. Choose your instance from the list seen below, and click on the “Connect” tab. 13
  13. You’ll be prompted by a popup; first click on the “Download Remote Desktop File” and save it your computer, the RDP (Remote Desktop File is a shortcut icon that will connect you to your instance), then click on the “Get Password” tab. 14
  14. You’ll be prompted by a popup; you just browse to the key pair you’ve downloaded in step (10) and click on the “Decrypt” tab. Your password would appear just copy it to a notepad file a save it. 15
  15. Now, launch your instance using the RDP file you’ve downloaded in step (13), you’ll be prompted by the window seen below, click on connect. 16
  16. You’ll be directed to a new window to put your password (the one you’ve decrypted in step “14”) and username (Administrator). 17
  17. When your server starts, the first thing you should do is to go to the start menu >> Administrative Tools >> Server Manager. 18
  18. A new window will popup, click on the “Configure IE ESC” as seen below. 19
  19. A new window will appear, select the “off” radio button in the administrator section. 20
  20. First, you’ll need to download and install VC++ 2010 on your instance; Open the browser (of course on the instance not on your computer) and visit Microsoft (http://www.microsoft.com/en-us/download/details.aspx?id=5555) to download VC++ 2010 X86 and then visit (http://www.microsoft.com/en-us/download/details.aspx?id=14632) to download VC++ 2010 X64 (yes, you’ve to download and install both X86 and X64, otherwise you’d be prompted by error messages while installing Joomla).
  21. Download Microsoft Web Platform Installer from (http://www.microsoft.com/web/downloads/platform.aspx) and install it.
  22. At the beginning of the installation you’ll be prompted by a window; first go to “Applications” from the top menu and choose Joomla from the list, then click on the “Add” tab and then the “Install” tab. 1 - Choose-Joomla-from-Microsoft-Web-Platform-Installer
  23. A new window will popup, just leave everything as it’s and type your password and click on the “Continue” tab.  2-Joomla-AWS-Windows Server
  24. During the installation you’d be prompted by a window, just remove “Joomla” from under the “Joomla application name” and click on Continue, you’ll be prompted by a warning just click “OK”. 3- Joomla-Application-Name
  25. A new window will appear where you should put your “Website name, email,  etc.”, enter the information required and keep them in a safe place, click on the “Continue” tab. 4 - Joomla-Installation-Information-1
  26. You’ll then be directed to a new window where you should enter your database credentials.5 - Joomla-Installation-Information-2
  27. At the end of the installation process you’ll be prompted by the finish window, don’t click finish yet, there’s a small link beside it “copy to clipboard” click it and paste it in a notepad file; these are the password and username for your MySQL, then click on finish. 6 - Joomla-Credentials
  28. If everything goes well you’ll be prompted by the home page of your Joomla website. 7 - Joomla-Website-Home-Page-1024x574
  29. Fill in the login credentials to enter the back-end of your Joomla website. Voila here is your new awesome website; if you don’t know how to use Joomla yet don’t worry click here to know where should you go to learn Joomla as a beginner.
  30. You can get the public DNS for your instance using the Amazon EC2 console (select the instance and check the Public DNS column; if this column is hidden, click the Show/Hide icon and select Public DNS). Then do to your domain registrar and point your DNS to your instance.

Now, you can enjoy your newly launched website, which is both reliable and scalable.