Getting started with Web hosting using remote AWS Windows cloud server

    Simplified specifically for beginner level coders    11-29-20 by Rick Delpo

Audience - Windows users wanting (FREE for 12 months) AWS remote Windows instance to host web pages

This blog post is only about guidance on steps to follow, it will be up to u to research each step and build out ur own system...at some point I will include a full blown tutorial on this….point now is to get u started to end the procrastination of getting off the starting blocks...to point u in a direction. But be advised that hard work and lots of googling is involved.

What we will be building - a remote windows server that we can communicate with and that can host web pages

For the beginner interested in quick results my suggestion is a windows platform with a free AWS windows cloud server. Otherwise the Linux alternative is not as user friendly and forces u to use a command prompt much of the time. Linux involves a whole different learning curve and not advantageous for the beginner wanting instant results. U have a lot of time later on to build on those skills as time permits for the longer learning curve.

Following these steps u can be up and running in a day or two.

 

  1. First sign up for AWS and get free tier  

https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/get-set-up-for-amazon-ec2.html

  1. Get aws EC2 free for 12 months    - this will be my only link provided, rest is up to u

https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/EC2_GetStarted.html

  1. With EC2 we get an ip address and route 53
  2. Download and set up apache24 http server - connect web pages to route 53
  3. at minimum understand how to use localhost in the beginning
  4. Share ur web page with others by publishing to ur newly created apache24 web server
  5. Then pay for a DNS custom domain name and host it live or continue to use localhost or simply program apache to ur ip address instead of to a nameserver.

Are we procrastinating about getting something up and running? Follow these quick and simple steps in order to share ur recent web creation with ur peers. Then u can become more sophisticated later. Below I expand briefly on each step.

First, before getting started…..which platform to use...windows or linux

  Windows is much more intuitive for the beginner vs linux which has a longer learning curve and relies on a command line prompt….ie windows is much easier for the beginner

  Once signed up for free tier aws we then config aws EC2 for windows - we will be owning an instance of windows on someone else's computer (the remote AWS server). U will choose a windows ami, then build security layer then understand how to communicate with ur server from the outside. Finally we configure both AWS and Apache to host our pages.

  First thing to do once we get our instance created is to config it to give, first the EC2 instance permissions to certain ports and then secondly permissions for the windows firewall on EC2  to use the inbound and outbound ports. DON’t SKIP THIS STEP because we need to rdp into our remote instance and that remote instance must have permission to allow 2 way communication. At minimum EC2 must permit traffic to and from ports 80 and 3389

Rdp after config part - Windows Remote desktop uses port 3389

  Once aws is configed for security and windows firewall u will then need to download rdp to communicate with the remote virtual windows server instance. With RDP we can see our system and transfer files to and from. Note that in order to use rdp we must give permission to EC2 via security layer over port 3389 and enable windows firewall to use 3389 too.

Next step is to download Apache24, listen to port 80 and config the httpd file where we can set up virtual hosts to access DNS names and also we can create SSL for each host

Next step - configuring Route 53 and DNS or use localhost to start with. Go back to AWS route 53 and be sure ur dns names are configed to the ip address that ec2 provides. We create a name server for our domain name in route 53, then apache virtual host identifies the domain name. Then we create an A file in route 53. The domain part connects to our dns service like godaddy and the A file is where we reference our ip address that gets picked up by apache 24 which listens for requests to our domain

Now that these above 5 steps are finished we have the basic server available to host our web pages

Now back in apache24 we need to tell apache that there is an ip address to connect our pages to. There is a htdocs folder where index.html lives for each page.

I am sure by now u have many questions so u need to carefully research each section above. I will provide more guidance later in a tutorial but for now this is ur introduction to the ec2 windows server and the apache web server.

Happy coding!!