Making Your Own Completely Free Website (And Server)

Picture of Making Your Own Completely Free Website (And Server)
Who wouldn't like a website of their own?

Even if you don't know what you would use it for, a website, or just a server alone, is something very useful. And fun.

I found myself in need of a website. But not one from a "Create your own website" site. Because it's never your own if you get it from one of those. You either end up with .whatever.com and the end of the URL, or you can bearly change the appearance of the site. You really can't get what you want from one of those.

So, I set off on something I had been planning for a long time. Creating my own, real website.
Remove these adsRemove these ads by Signing Up

Step 1: What You Need

You don't need a lot to make a server. But some things make it much easier. Here's a list of things you should have to make it much easier, and then a list of basic list of things.

Best List:

An Extra Computer To Use as a Server (Preferably a Desktop)
A Computer Other Then The New Server
Internet (Preferably with wires, but wireless works too)
A Brain (Or Another Brain To Help You Out)

Minimal List:

A Computer

For my server, I used an old computer built from parts I trash picked.
For a very over used saying, "One mans trash is another mans treasurer" is very true.
Or in this case, one mans trash is another mans website.

Step 2: Setting Up A New Server (Or Just Installing A Program)

Picture of Setting Up A New Server (Or Just Installing A Program)
If your using a computer itself as the server, then you need to set it up. But if your using the computer that you use for everything else as a server, which works too, all you need to do is get ready to install a program and skip to another step.

When most people make a server, they use something like Linux of FreeBSD. I've used both many times, but if your more into the website aspect and not the technology, you can just use plain old Windows. I've used the normal, plain version of Windows XP as a server, and besides some of the annoyances of Windows, it worked fine.

So if you don't already have an Operating System on your soon-to-be server, pick one out and put it on. Almost any will work. Some people even use OS/2 and DOS. And theres even a few servers that are run by the old-but-great Commodore 64. But for that you need instructions other than these.

Step 3: More Setting Up (And The Program)

Now that you have an Operating System, your server is almost running. You just need to play with some settings, install a program, and your almost there.

If you have Linux of FreeBSD, you don't really need to change settings. But if you picked Windows, then you have to turn off the annoying security features.

Go into the control panel and find the security options. Make sure you turn off Window's firewall and internet security features. These will block people from accessing the server, which means they can't see your website.
And if you have a firewall program or other virus program installed, which servers really don't need, turn it off or change settings. But really, you can just turn them off.

Now you just need to install a program and you've got your own server.

The program most people and websites use is call Apache. It's a great and easy program that turns a computer into a server with a few clicks of a mouse. If your on windows, find and download Apache's installer. If your on Linux or BSD, all you have to do is type some terminal lines and your on your way to having a website.

Step 4: Putting The Website Into The Server

Picture of Putting The Website Into The Server
There are a lot of different things you can use to make a website itself. But I like the classic, non fancy HTML.

HTML is easy to use, learn, and can do almost anything you need it to. I found an old book on my shelf about learning HTML, and that helped my with anything I didn't know. Libraries are filled with books on HTML, and luckily for those who don't like reading, most of them are pictures, or flat out what you need. But if you love your computer more then books, then you can always just search some things and get everything you need to know to type some HTML.

When your ready to save the website you just typed, make sure you make the filetype .html . You can do that usually just by typing .html after the name of the file when your saving. But make sure that the main page of your website is called index.html.

Once you have some HTML ready, you need to let Apache know what to show.
On Windows, you can put your site into Apache by going to C:/Program Files/Apache Software Foundation/Apache/htdocs. If your not on Windows, search a little and you'll find where to put your HTML files.

When your in the folder, you should see either one or many HTML files called Index already there. You can delete them. Then, put all of your websites HTML files into the folder. Now your website is on the internet. But not everyone can see it. Yet.

Step 5: Wireless Routers

Picture of Wireless Routers
If your like me and you have wireless internet, then you need to do a few more things before people can see your website. But, if you have plain old Ethernet or Dial Up, then you can just skip on to the next part.

If you have a wireless router, it probably has extra space in the back to plug other Ethernet needing things into it. Your server should be plugged in there, and not just using the wireless internet it self. Wireless internet has a tendency to be effected by interference, and you don't want your website randomly going offline. So plug it in, try and avoid a wireless website.

Once it's plugged in, or if your just letting the server go wireless, you probably need to change the security settings in the wireless router. This doesn't mean taking off the password for the internet, it means going in to the box and changing the settings. Which is much easier then it sounds. Just type into your browser, and you should see a page come up for your wireless routers settings. Try and turn off any extra security features, including anything about blocking.

Next, if it has the option, go to "Virtual Servers". For this part, you need to know the local IP address of your server. You can find this out by going to command prompt on Windows and typing ipconfig, or by typing ifconfig in the Linux terminal. Look for a set of numbers that looks something like this "192.168.2._", with the _ replaced by a number.

Now, in the virtual server settings section, make an entry that looks like this, with X as the number in your local IP.

Description      Inbound Port      Type      Private IP Address     Private Port
  Server                   80                     TCP          192.168.2.X                 80

After you click enable and Apply Changes, your server should be on the internet for everyone to see. But now it needs a name.

Step 6: Name Servers And Tokelau

Every website has a name. And at the end of that name, theres usually a .com, .net or .org. These dot names are part of something called a Name Server, which is a server that directs an internet browser to your website when they type in the name. It translates the name, for example, instructables.com, into something more like this,, which is the IP Address.

Without a name server, people would have to remember and enter http:// .  Which isn't so easy to remember. But with a name server, they just need to know a name and .com or .org. Which makes the internet much more user friendly.

To get your place on a name server, it costs money. Not always a lot of money, but still, it's money. For your website to have a .org name, it costs somewhere around $6.50 and up per year. But there is a name server out there that lets you use it's service for free. As long as you get 25 views every ninety days. Which isn't very hard to do.

This server is .tk . It's the domain for the small, small territory of
Tokelau. Tokelau wasn't making very much money, infact, they were making about $500,000 U.S. dollars a year. So, as a way to bring in money, they've been letting people get up to two free spots on their name server, or pay money for even more. But were only interested in the free part.

Step 7: Yourwebsite.tk

Picture of Yourwebsite.tk
Now, all you need to do is go to www.dot.tk, and register. When it asks for the website name, pick a name and type it in, then click next. Now ignore the advertisement and click Free Domain. Ignore the part about a "referer URL" and click "Use DNS For This Domain". When
 "Use Dot TK Free DNS Service" is selected, something should show up with your websites name in two boxes, and two empty boxes that say IP Address next to them. This is where you enter your IP address, but not the local one from earlier. Now you need a different IP Address.

Go on a website that can give you your IP Address, such as http://whatismyipaddress.com/. When you see a number that looks like this, copy it and enter it into the two IP Address boxes on dot.tk. Once you enter the Captcha, your website should be all set.

Enter your new .tk website into the browser. If it loads, then you've got your very own website. If nothing comes up, make sure what you entered on dot.tk was correct, and make sure your server is online and has all security options off.

Step 8: Welcome To The Internet

I hope this helped anyone looking to set up their very own website.

There are a lot of Instructables about Apache and websites, but none have all the information in once place, and many of them leave a lot for you to figure out on your own. It took me almost two months to set up a website because I couldn't find all the information I needed. Most people who know how to do things right with computers like to laugh at other people, instead of help them.

I know some people are probably stuck somewhere, and I'm sorry about that. Just take a minute to sit back and think, and then look over everything you've done once more. You should be able to fix any problems on your own. The internet is much simpler then people make it out to be.
1-40 of 76Next »
aeray4 years ago
If I was to attempt this, which I would like to do, what kind of (server) desktop (specs, etc) should I look for?
0Ihavenousername0 (author)  aeray4 years ago
Well, basically any working desktop is fine. The one I use as a server only has a 20gb hard drive, a small amount of RAM, and an old Pentium 3 processor.

I guess it depends on how many people you think will be visiting, and the content of the website. If your going to have a lot of audio, video, or pictures, you'll want a larger hard drive to store it all. And if you think you'll have a lot of people visiting, more RAM might be a good idea. But still, any old computer is fine really.

And even if you start with a small amount of memory and RAM, you could always upgrade later on. It takes a while to get any website noticed, and it even took me a very long time to get listed on Google. So starting small is always fine.
RahulJ79 days ago

Thanks really helpful... you gave me positive feeling that it can be done easily. Thanks Again.

Visit to discover Easy Income online

VenkatA19 days ago

i'm using ethernet, so i'm only seeing isp client login page instead of the website. Any solution ?

VenkatA19 days ago

after followed all the stops i see the following message, my domain name is desireit.tk. kindly suggest me what do to.

This webpage is not available


StefanosA110 days ago

I want to create a page but upload speeds in greece are very low. 110 kb/s maximum, usually 97kb/s. Can I run a web page that only have text a light webpage structure and photo uploaded on other websites? ONLY ONE photo will be uploaded from the server.

hosammatar2 months ago
Hi friend
The subject is nice but I want help to make email server to hosting emails like this any@any.com
How I can do? Thanks a lot.
Nalisan.2 months ago

Should we not Power off the computer used as server or we can

jiger.jain.392 months ago

dude a great thing you did !

I really appreciate this and thanks for this instructable (y)

A great step for a beginner

keep going , thumbs up

hsnyc made it!3 months ago

For anyone looking to build a low energy and quiet web server the HP proliant mini is the best choice in my opinion. I am hosting several sites from it right now.. here is how i built mine using WAMP --> http://hsnyc.co/how-to-host-your-own-website-using-wamp-server/

KDNTECHNICAL3 months ago

We can help you create your own website!

Visit www.kdnit.com

jhojantobon3 months ago

Hello everyone, to complete this information I leave a link to a video

My best regards

NaheedS4 months ago

For further information visit http://www.zeeeit.com

NaheedS4 months ago

For further information visit http://www.zeeeit.com

robinmathew74 months ago

when we connect to internet we won't et a static ip address. each time we reboot the router we get a different ip address. so once we register ip for a domain name can we change it frequently??

moroz.dx5 months ago

do i had to never shutdown the computer

kwix_6 months ago

thanks for this, it's easy to use and very helpful. suppose I want to be able to run Java applications (e.g. Java based website) - how do I set up my current server to do so?

LoveC6 months ago

What's the difference between using Dot TKs' DNS or if I click "your own DNS"?

I have a free hosting account with 000webhost.com, don't I need to put them in as server or just use their IP address?


edward.stryfe8 months ago

Thank you so much, but could you mention how to make multiple web pages if possible? just out of curiosity.

Lets say you made a sight called www.edward.tk When I go there the file you made called index.html will automatically display. I don't have to put www.edward.tk/index.html, it is automatically going to open index.html.

On the index.html page you made you put some buttons on it and you created links for those buttons. Lets say you made buttons that said, "CARS" and one that said, "BOATS" and another that said, "TRUCKS". You then assigned hyperlinks to each of the buttons. If someone clicks on the CARS button it takes them to the webpage cars.html webpage you created. If they want to go back to index.html (your main page) they click on the button called HOME that you placed on all of your pages. The home button with have the hyperlink index.html.

I hope that helps :)

if you want your.tk/something you can just upload new something.html file to apache and make a html link to it on your index page. or if you want another.tk for same server get another name server

Hey, the only issue I noticed with is that if you use Windows XP you are VERY vanureable to a very well known EXPLOIT called Megasploit. Or at least to the best of my knowledge you are. If you are going to create a server I have got to recommend using either a newer version of windows, I.E. don't use XP or windows server 2008 as they are very insecure (even SP3), or using linux.

QqwwQ6 months ago

Thanks man! Helped a lot !

swilson806 months ago

Also, would I be creating my own website from scratch? I want to do crowdfunding and sell products on my website as well. What is the best router and best computer to buy to use as a server?



swilson806 months ago
I have so many questions! Do I have to know a computer language in order to create my business website once I have completed your steps? I don't want a small business, but a large one. I want to make a crowdfunding site as well within the site. How would I know if my IP address is applicable to change? What is the best computer to buy to start this? What's the best router?
abirj7 months ago
What .com costs

my website takes me router configuration page instead of my website when i visit it

please help

tridecagon3 years ago
I like php better than html because php contains (and supports) html and some scripting. Plus, it's easy to learn. If you already know HTML, you already know a lot of php minus the scripting. However, html is the only one that computers that aren't servers can read.

Do you recommend learning php FIRST over HTML or learning BOTH simultaneously? I ran my own website using someone's script, there was always something lacking, especially and particulary when it came to streaming videos. I became quite frustrated when something needed tweaked or changed or fixed, I was limited because I did not know programming. I want to be able to fix my own website problems if necessary or upgrade or add components to my scripts if necessary without being at the mercy of programmers. Can you point me in the right direction?

HTML first (with CSS). Then PHP. HTML contains all the elements and tags and structural stuff. CSS should contain all of the styling. And PHP can inject the pages with dynamic things (like comments stored in a database).

Hi, i am wondering if someone can please give advice, we send a lot of emails but our smtp has a limit and restrictions, what I want to know if setting up your own server and managing it if there will still be that 3rd party that has limits and restrictions or would I be able to manage does policies

9DIGI8 months ago

Thanks for information.......<a href="http://bhavita.in/2014/11/ap-epass-renewal-2014-2015-online-applying-procedure.html">ePass Renewal 2014-15 last date</a>

avideo6661 year ago
I dont find this option on my router(linksys e4200), Is this port forwarding or what ?

In most of the routers, port forwarding is also known as virtual servers. Check there. It must be there.

I want to make my own team speak 3 Server, and is that possible if yes then how?
PaulC59 months ago

lovely article

I have my PC from which i code, another PC which is lying unused(Hark Disk 80GB) and a slow Internet Connection!

Should I connect additional Hard Disks to the PC and use it as a server ?
Or should I be continuing with the Hosting company(Hostgator), I think hosting in India is quite expensive so wanted to make my own server.
If i made it can i connect my site with it ?
I have one site at GoDaddy!

احمدن10 months ago

That was great....

but i cannot log into my router it says "The connection has timed out"

please help and thanks.

Try typing into your browser instead. That is most people's default IP for their router.

surendram10 months ago

thanks bro i really need this...

1-40 of 76Next »