Introduction: How to Get a Free Website (TLD, Hosting, SSL)

Websites are becoming a big thing. Before, big companies, like Microsoft, Google, et cetera had their websites. Maybe some bloggers and smaller companies did too. But now, especially during this COVID-19 pandemic (yes, I'm writing this in 2020), the demand for websites is going up. And most people can go and find a tutorial online on how to get a website. Buy the domain, buy the hosting, etc. I mean, if you need a website for your business, then great, that option fits you, and this one probably doesn't. But if you are like me, someone who wants a personal website, and doesn't want to spend some money on it, then this is for you.

This next section is going over different kinds of domains, what hosting and SSL are, etc. If you already know what these are, skip this section.

  • What is a domain? A domain is the URL of the website, like www.google.com. The domain name usually points to an IP address, like 64.68.90.255. Imagine if to go to a website, you had to memorize numbers like those! A .com domain name usually cost around $10, give or take like $5. However, here I will show how to get one free. Mind you, it's not a .com, but works the same.
  • What is hosting? Hosting is where you keep the files for your website, it's where you store the content, like your HTML for example.
  • What is SSL? It's what makes your site, as it's called, "secure". The SSL makes your website have the green padlock at the top. It's not strictly necessary, but it does increase the rating of your website on the search engine.

This intro has been a bit long, so in a nutshell, this tutorial will tell you how to manage a free website with free hosting and SSL. And let me reiterate. If you are looking to run a online business where you will be performing transactions, I don't really recommend this. However, for a personal page, it works quite well.

Supplies

What you need (yes I might state the obvious).

  • Internet Access
  • An email account that you can access
  • A computer to access the internet (which you obviously have if you are reading this)
  • And some knowledge about HTML (don't worry yet if you don't, you can always learn it at websites like www.w3schools.com, which is pretty helpful. You could just learn the basics, and copy that into your website, to test it, see how it works, etc.)

Step 1: Have an Email Account

For this project, you will need an email account (like gmail) which you can access, as you will need to sign up for certain services and verify using your email. That's always how it seems to go these days, isn't it...

Step 2: Sign Up for Freenom

You are going to need to sign up for Freenom, at www.freenom.com. For those of you saying, "oh, it's just another freenom tutorial", I guess it is, but I also have free hosting and SSL, so it turns out pretty decent in the end. Anyways, I'm guessing not everyone here has heard of Freenom. I'm trying to make this pretty short, so basically, Freenom provides free domains that have .tk, .ml, .ga, .gq, and .cf. You can read their about page for more info. Anyways, I'm not going to go into depth about how to sign up for Freenom, but I'm sure if you want to make a website, you can figure it out. So go! Sign up now!

Step 3: Sign Up for Infinityfree

Yep, time to sign up for another service. This will be the webhost, as Freenom is the domain provider. Anyways, sign up at www.infinityfree.net. Again, I'm not going to go into depth about how to sign up for Infinityfree, so just go, gO, GO!

Step 4: Just a Note About SSL

In case you are wondering about why this step isn't "sign up for SSL services at whatever website", well, that'll be at the end. So for people who don't want the SSL, don't have to take it. WARNING. GO TO THE NEXT STEP UNLESS YOU WANT THE ANSWER TO A SMART ALEK NERD QUESTION. And for all the nerds wondering why the CA for that certificate in the Jacute Technologies CA, issuing to boston.cf, Jacute Technologies CA is just my CA that I use for testing locally. No, I will not be issuing you a certificate for free, I will not the the free SSL provider at the end of this (though it would be cool).

Step 5: Getting the Domain

Alright, time to get your domain name. FREE. So you should be logged into Freenom at this point, if you aren't, go login. Type in the domain name (without the extention, ex .com), and see if it's available as a free domain. If it is, go to the next step. Also, no, my name is not bob, that's just what I have the site call me. It's a "nickname", ahem alias. NOTE: Do not use the .tk extension. It is banned on Infinityfree. Use one of the other domain extensions. The pictures might show me using the .tk for the first few steps, but I will switch to the .ml later. So, use a extension that is not .tk. Use .ml, or one of the others.

Step 6: Checkout

Alright, pretty standard checkout part. Except for not needing a credit card :). Just keep clicking though, as shown in the pictures, until you get to the order confirmation screen. Click back to client area, then STOP.

Step 7: Connecting the Domain: Part 1

So, at this point you should also be logged in to your Infinityfree account. There should be a create account button on your home page, as your account is new (mine already has one, as this is a account I have used before. Yes I play videogames, hence the name 'Mr. Smurf 176'). You should click the "create account" button. Then select "custom domain". It will tell you that your domain needs to point to Infinityfree nameservers first. Ok, go to the next step.

Step 8: Connecting the Domain: Part 2

Once you have the add domain/custom domain page open in Infinityfree, then zip over to Freenom. At the top righthand corner of the page, click Services > My Domains. This will lead you to your page of domains. Click the one you are using for this project. Then, at the top of the management screen, you will see three options. Information, Upgrade, and Management Tools. Click Management Tools > Nameservers. Then, switch your nameservers to custom nameservers. Then, under nameserver 1, type in ns1.epizy.com, and the second slot, type in ns2.epizy.com. Those are the Infinityfree nameservers. Head on to the next step, and check out the images for this if you are confused. Then, head back to the infinityfree add account custom domain page.

Step 9: Connecting the Domain: Part 3

This is where it will stop you if you use .tk. So, here I am using a .ml of the same name. So just make sure you are not using the .tk, and instead a .ml, or one of the other free extensions. The .tk was just a demonstration pictures I had already. Anyways, the following are new.

Type in your domain that you registered at Freenom, and switched the nameservers for. Then click search domain. It will take you to the next page. If it doesn't, you may have to wait a few hours. Then refresh, and continue.

Step 10: Creating the Account

Once it lets you continue, you will be taken to a page that looks like the image above. Fill that page out as you like. It's pretty simple. Then, click continue.

Step 11: Finish Creating

You will have two options after you continue. View in Control Panel, and View in Client Area. Press the View in Client Area button. You will be shown a screen like the image above. Now, click control panel. You will have to agree to the terms and conditions and whatnot. Then, you will continue to the control panel. You don't need that right now, so you can close it, but if you want to check it out, feel free. It's a standard cPanel, for those of you out there who know that is. If you don't, it's basically just your control panel of your website. Anyways, close that, and go back to the Client Area page. Reload it, and just wait a little while, maybe a few minutes. Then, reload again, and it should be done "setting up". Go on to the next step.

Step 12: Add Content

Now that your site is setup, you should go to file manager. Just click the button for it. Then, you will go to the file manager. Important note: Click the htdocs folder before you continue here!!! You can see the images above for reference. You may notice there is an index2.html file there. For those of you already experienced with this file manager stuff, and know about how .htaccess controls the index files, then you can skip the next section and go to the next step, as this section will explain the index files, how to add and refresh content, etc, but if you are fully confident, then just skip this and go to the next step.

The file manager: Where your content will be.

What is the file manager? It's where the content of your website, aka your files, are stored. To begin, DON'T delete the index2.html file just yet. Just click the plus button at the bottom of the file manager, click file, and call it index.html. Once you are in the file, copy and paste the following program into the file, press save, and click the refresh button at the top of the screen. It looks like a circle with arrows.

<!DOCTYPE html>

<html>

<head>

<title>My New Website</title>

</head>

<body>

<h1>This is my new website</h1>

<p>That was a header, and this is a paragraph</p>

</body>

</html>

Step 13: The Best Part!!!

Now for the moment we have all been waiting for: Type the URL of your website into the address bar! You'll see the content you put on your website. If it doesn't work on the first try, no worries! Sometimes it takes a while for the page to spread across the world. Just try again in a few hours. If you want to learn more HTML, I recommend www.w3schools.com, and you can expand on your website. You can try out all the features of the control panel. You can learn HTML elsewhere, whatever. You have a site, now use it however you like! Wow, I did NOT mean for that to rhyme. Oh well. Yes, I know, I'm getting to the SSL. But you CAN stop here if you like: the SSL is completely optional.

Step 14: SSL in a Nutshell, As This Instructable Is Long Enough Already: Part 1/2

You may have notice the FREE SSL button at the top of your screen in the Infinityfree account. Well, guess what? Click it! Then, click Add SSL Domain. Type in your domain, under custom domain. Then, click add SSL domain. There will be CNAME records you need to set, the Infinityfree page linked on the Free SSL page will tell you how to do that. Or, I can! It's in the control panel. Scroll down to CNAME records, and click it. Set the records that it tells you to, and click save.

Step 15: SSL: Part 2

Ok, once you refresh the Free SSL page, after a few minutes you can request the certificate. Then, wait for the certificate: another few minutes. Click refresh, and copy the certificate into the SSL certificates part of the control panel. I can't show images of my certificate here as that's private. But, I can show the SSL button! And the page.

Step 16: Done

Thanks for reading, I hope this was helpful, at least showing you the tools. The Infinityfree knowledge base is pretty good, if you have any questions.