Ladies and Gentlemen,
After analyzing many websites, many blogs and many videos, I am writing this article for those who are looking for an absolutely free blog. Yes, you read it correct. I will explain you, how can you create a blog which is absolutely free with free domain and free hosting of AWS and has great potential in terms of quality, service and speed.
The blog which we will create here will not incur any charges for you at least for one year. Hosting and Domain both will be managed with free services.
Some of you may wonder, is it really possible to have an absolutely free blog ? Some say, free blogs hosted over free services are not worth quality but trust me, the services which we will use to create our blog will be of utmost quality.
Gear up ! Here we start making it step by step…
What is a blog and what is required to start it ?
A blog is a digital platform for a passionate blogger to put his/her thoughts in form of articles and express it to rest of the world. The blog can be created in any niche a blogger is interested in.
To run a blog we need two things and they are very basic. One is domain and the other is hosting.
Domain is basically the address by which your blog will be located on web e.g. https://sample.com
and Hosting is to host the website at a server so that everyone can access it on web. Hosting is basically to provide space to your website pages so that they can be stored on a remote place from where everyone can access them.
You might have heard of many websites offering free hosting but they may not be trustworthy and may not be useful for a personal/commercial blog. As per my experience in web designing, Amazon Web Services (AWS) is the world’s most comprehensive and broadly adopted cloud platform, offering over 165 fully featured services from data centres globally. Their quality of service and wide range of documentation on various services makes it very easy for everyone. Anyone even with no technical background can understand this and get access to AWS services.
Now when we talk about AWS, it is not cheaper and it is not very costly also. Anyone with budget of 10-12k/- INR per annum can afford this but wait, for those who are new to AWS, there exists a special offer and that is 12 Months of Free Tier Access. This free tier access will cost you just nothing.
Let’s get started with AWS registration…
How to register on AWS ?
1. Click on this link.
2. Fill the form given there and click on ‘Continue’.
3. Next page will ask you some more details. You can easily fill them. If you own a company, go for ‘Professional’ and if you don’t own a company, go for ‘Personal’.
4. Now you will be redirected to a payment page, whereby you have to supply your credit card/debit card’s details.
Don’t worry ! They are not going to charge you. They are just doing a verification by deducting 1$ or equivalent to make sure you are a genuine user.
5. Further you will go to the ‘Confirm your identity’ page which will ask for your mobile number to verify your identity.
6. After you verify your OTP by supplying the code received at your mobile device, you will be directed to the below screen whereby you have to choose a plan.
7. As we are going for the free plan, select the first plan which is ‘Basic Plan’.
8. Once you choose your plan, you will see a screen like this. If you want, you can supply the information asked in two drop downs i.e. ‘My role is’ and ‘I am interested in’. You may skip this if you don’t want to furnish these details.
9. Next, Click on ‘Sign in to console’ located at the right most corner.
10. You will be redirected to log in screen where you have to supply your login credentials.
11. Once you supply the credentials, you will be landed on the management console of AWS. It looks like this.
12. Here is a catch. And the catch is that, by default AWS will allocate one specific region for your server. See it here in the below screen.
13. We recommend you to change this to the region in which you are targeting your audience. If you are located in India and targeting only Indian audience then change this to ‘Asia Pacific (Mumbai)’ and if you are targeting some other country then change this to that country’s region.
14. Changing this will have huge impact on your website speed. It may take some time for this switch to become stable so wait for a while once you change this.
15. Now click on ‘Services’ located at the left side of the screen. You will see all the services available at AWS.
16. Click on ‘EC2’.
17. You are now on ‘EC2 Dashboard’.
As we have reached to EC2 Dashboard, we will now learn how to create an instance. ‘Instance’ means basically a virtual/remote machine which will have some space allocated to you whereby you can host your website.
In our tutorial because we are targeting a blog, we will learn how to create a WordPress instance.
Let’s learn, how to create a WordPress instance…
How to create a Bitnami WordPress AMI on AWS ?
1. Just in left side of the screen, you will find a menu. If you see, there will be a tab of ‘Instances’.
2. Once you click on that, you will see a button called ‘Launch Instance’. Click on that.
3. Now you see a screen with ‘Step 1: Choose an Amazon Machine Image (AMI)’. Below this, in the left side you will find a tab called ‘AWS Marketplace’. Click on that and search for ‘bitnami’ in search bar.
5. The very first result you see, will come with heading ‘WordPress Certified by Bitnami and Automattic’. Also you can see an image left to the title which clearly states that this machine is eligible for free tier of 1 year.
6. Click on ‘Select’ given at right side of this.
7. Next page shows some details. Click on ‘Continue’.
8. Choose ‘t2.micro’ on this screen and Click on ‘Review and launch’.
9. It will take you to the the screen with ‘Step7 : Review Instance Launch’.
10. Click on ‘Launch’ button here.
11. It will throw a pop up where you can choose an option of ‘Create a new key pair’ and down to this ‘give a name’ to key pair.
Key pair is basically a kind of password which will help you to login in to your virtual machine via other softwares like ‘Putty’ and ‘winSCP’.
12. After you give a name. Click on ‘Download Key Pair’.
13. Save this key file securely. It will be used as a password later.
14. Now click on ‘Launch instances’.
15. You will see Launch status screen. Scroll down and you will find a button called ‘View Instances’ in bottom right corner. Click on that.
Congratulations ! You have your own instance created. The ‘View Instances’ page will show all the details of your instance. It is just like a remote machine at your control.
What to do next ?
Now we will purchase a domain. Hey don’t be panic! We will not pay any thing. We will purchase it for free.
There is a website called freenom.com which supplies free domains of certain extensions. This initiative is taken by the Government of Tokelau and Teletok. The initiative is to help the medium size businesses and to also promote their country specific domains.
This domain we are purchasing as a part of learning, you can always change this domain to some other premium domain by purchasing it from third party.
Here is how you purchase it…
1. Go to this link and log in with your Gmail or Facebook account.
Note: This website is unstable at times so please don’t make any delay in following the steps.
2. Once you are logged in. Go to this link. You may also find the same link in the menu located at the bottom left.
3. Check the availability of your domain name by typing it in search bar given in the center. They have free extensions like .tk, .ml, .ga, .cf, .gq
4. Once you search for any domain name, it comes with this type of results.
5. Click on ‘Get it now!’ button, it will turn green and a checkout button will appear. Click on that.
6. On next screen select ’12 months for free’ and click on ‘Continue’.
7. Next screen will be of ‘Review & Checkout’. Click on the checkbox next to ‘Complete Order’ and then click on ‘Complete Order’.
8. Next, go to this link. You may find the same link in bottom left menu with the name ‘My Domains’.
9. Click on ‘Manage Domain’ just next to the purchased domain.
10. Click on ‘Management Tools’ drop down and then click on ‘Nameservers’.
11. Choose ‘Use default nameservers’ and click on ‘Change Nameservers’.
Congratulations !! Now you have a free domain and you also have a ‘WordPress Bitnami’ Instance created. But how can we connect them together in order to establish a working blog? So here we go.
One way to go is to use a service called ‘Route 53’ given by AWS but that is chargeable. But thanks to this wonderful trick which can help us to do the same without paying anything.
Trick: We will create an Elastic IP in EC2 Dashboard and then connect this Elastic IP with our instance and finally connect that IP to our domain.
How to create an Elastic IP in AWS and associate this with EC2 instance ?
1. Go to Elastic IPs in the left side of your EC2 Dashboard.
2. Click on ‘Allocate Elastic IP address’.
3. Click on ‘Amazon’s pool of IPv4 addresses’ and then on ‘Allocate’ button.
4. On next screen, click on ‘Associate this Elastic IP address’
5. On next screen, do not change the selected radio button. Click on ‘Instance text box’ with a search icon, down to the radio button and it will show the instance you have created. Select that and click on ‘Associate’.
It will now associate the Elastic IP with our instance.
Remember: This step is very crucial and important. If the elastic IP which is allocated, is not associated with any instance then it will start charging you per hour. So please do not forget to associate it after allocation.
Now heads up towards the last step which is to point our domain to the elastic IP which is connected to our WordPress instance…
How to point your domain to Elastic IP connected with EC2 instance ?
Copy the Elastic IP address from Elastic IP section of EC2 Dashboard.
1. Go to this link.
2. Click on ‘Manage Domain’ against the domain you want to use for your AWS instance.
3. Click on ‘Manage Freenom DNS’ located on the top menu of this screen.
4. We will have to create two entries (A name records) on this screen.
Under Name, write the purchased domain address without www, ‘Type’ and ‘TTL’ will be A, 3600 respectively. In ‘Target’, paste the copied Elastic IP.
Same way create one more entry by clicking on ‘More Records’. This entry will have name inclusive of www. Refer to the above screenshot.
Congratulations !!! You have done it. Just visit your purchased domain now and you will see a screen like this.
Looks good ! But this bitnami logo at the right most bottom of the page looks weird. Isn’t it ? To get rid of this, first you need to learn, how to access the terminal of your remote server. Right here, you will find the guide to set it up and then the below commands will remove this banner in a second.
sudo /opt/bitnami/apps/wordpress/bnconfig --disable_banner 1; sudo /opt/bitnami/ctlscript.sh restart apache
You can manage and control the CMS by going to http://yourdomainname.tk/wp-admin (domain is your purchased domain). It will open a screen which will ask for username and password. Default username will be ‘user’ and password will be checked by below steps.
1. Go to your EC2 Dashboard. Select the instance (in your case, it is already selected because you have only 1 instance created).
2. Click on ‘Actions’ button located at the top. Go to ‘Instance Settings’ and then click on ‘Get System Log’.
3. Scroll down in the logs, you will find your password log. Copy it and use it on WordPress log in screen.
That’s all. You will now be able to change the look and feel of your blog.
Note: I would recommend everyone to increase the volume size of EBS to 30 GiB (More than this is chargeable) by following this guide. After following this guide, please use the below command in terminal (Guide to set up terminal).
sudo chmod 755 /opt/bitnami/apps/wordpress/htdocs/wp-content
Hope, you will like this article. If you still have any doubts, please ask them in comment section. See you soon with more insights on Blogging.
Aside from being an engineer, I am a software developer, an enthusiastic musician, a regular reader and a hobbyist writer. I love traveling, exploring new places and, of course, playing games (all sorts).