This is actually laughably easy, and you can do all this for free! (Excluding your internet connection and a PC of course…)

I did this in a few hours (for a more comprehensive website with more content it will take more time.)

My adventure started out as an endeavor to be able to VNC to a specific computer on our home LAN from anywhere, and ended up with me doing not only that, but creating a website as well.

First of, here is your list of ingredients needed:

  • An ADSL (or similar) connection.
  • An ADSL router or modem.
  • A PC, low end specs are okay.
  • One Ubuntu disk.

Right, so set up your internet connection, connect the PC to the router and install Ubuntu. I am not going to go into the installation of Ubuntu here.

Right, let the actual work begin – Setting up a Web Server.

Once Ubuntu is up and running, start up Synaptic Package manager and type in “Apache” in the search box. The current supported Apache variant is Apache 2.

Select it, and all other suggested modules. If you want you can add more modules like Perl and PHP if you want. You can always add them later as you grow more accustomed to this and want to get into more advanced stuff.

Once Apache is set up, you will find it under /etc/apache2 and your web directory will be /var/www

So there, you have a basic web server. Next up, you might want a basic web editor.

Getting a Web Editor.

Back to Synaptic, simply enter “Web Editor” in search and pick one you want. I decided to go with Bluefish. It is a bit more advanced, you could also use OpenOffice Word-Web for basic web editing, but Bluefish suits most needs well.

Right, now you have to get on the internet, here is what we have so far:

  • A PC running Ubuntu.
  • An Apache web server.
  • Bluefish Web editor.

To check if your Apache install is working, you can enter the computers IP address in any web browser – from another computer on the same LAN – and you should either see a blank page with “contents of…” on the top and a blue link to “apache 2 default” or a page that simply says “It Works” on top.

Right, here are the next steps:

  • Make the Web server accessible from the WWW, i.e. from another computer outside of your home LAN.
  • Get a domain name that “points” to your Web Server.
  • Get a nice-looking web page and make it your home page.

Right, now for some technical stuff:

Opening up the Web to your PC

Open your web browser and access your router. The usual way is to type the router’s IP address in the address bar of your web browser. It’s default is usually 192.168.1.1

You should see a log in prompt, if not you should consult your modem/router documentation.

Next up you should enter the port forwarding section, on my router it is under “applications and gaming.” At the end of this section is a link to an excellent resource to help you set up your router.

Under port forwarding you should enter “Apache1″, “80″ under the port number and then your computers IP address. Under that enter “Apache2″, “443″ and then your computers IP address again.

This basically tells the router/modem that all “port 80″ and “port 443″ requests that come from the outside (from the internet) must be directed to the computer hosting the website at the IP address entered.

Go to this link (click here) and select your router from the list for a detailed guide to set up your router for a web server application.

Now, the domain name setup.

This is a two-fold step. First, access your router again, and hunt for a tab that says “DDNS”, on my router it is right on the routers home page.

Select “enable” and hold that page open, next go to dydns.org and set up an account. It is pretty straight forward, once the account as been applied for a confirmation e-mail will be sent to your e-mail inbox. Click on that link to activate your account.

Dydns.org will display your public IP address. Select that as the default option. It worked fine for me.

Next, at dydns.org you need to set up a dns name. This is the domain name that will direct traffic to your home PC.

Back to your router, enter your dydns.org username, password and the hostname (your chosen web address) on the ddns page and save.

If you now enter your web address (as opposed to the IP address of the computer) in your browser anywhere in the world you should see the apache default page.

Get a Home Page.

If you are not a web designer HAVE NO FEAR! Geeks were created by God to make the world wide web a better place for all. Geeks do open source stuff, as opposed to nerds – but I digress.

Point your favourite web browser to www.openwebdesign.org and choose a nifty looking website. Download it to your home folder, and unzip.

You will find a folder. You can open this folder and copy its contents to /var/www

There will now be a brand new “index.html” web page sitting in your web server.

Editing Your Home Page

If you right-lick on the index.html file, you will see an option of “open with” and there you will find your installed web editors. Open the page with said web editor (we installed bluefish, remember) and you will find the source code of your website.

Now without getting into too much hardcore editing, you can just edit the title, body text and the links displayed on your home page. The easiest way to do this is to just highlight and type over whatever you want to edit.

Be careful not to edit out any HTML tags (normally something like < /a >) that will damage the page. In bluefish HTML is displayed blue, and links are displayed red.

Stay away from the blue stuff.

After that is done you can save, and when you type in your web address you will now have your nifty looking personalized web page for all to see.

And it cost you nothing. Well almost nothing.

So let’s recap:

  • Set up a PC, Install Ubuntu, Connect to Internet.
  • Install Apache 2 via Synaptic Package Manager.
  • Install Bluefish web editor via Synaptic Package Manager.
  • Set Up “Port Forwarding” on your Modem or Router.
  • Get a dydns.org account.
  • Set up ddns on your router.
  • Get a web page from openwebdesig.org
  • Edit your Web page to suit your needs.

All too easy. Here are a few more things you might want to consider:

Get firestarter for the PC hosting the web page. Linux is safe and secure, I know, but a good firewall is a must. Setting it up is easy, and will make sure that only web traffic gets to your web page, nothing else.

You will want to know who accesses your page, right? Go to www.statcounter.com and set up an account. Copy the code into your web page html (follow the guide, it’s easy) and hey presto! You can now track who is visiting your site. I use my home site for personal use only, so I do not want other people to visit it, if it were not for South Africa’s bandwidth costs I would not mind, but for now I will keep my website as my own personal plaything.

Finally, if you are so inclined you can register you web page with a search engine. It may cost money – the only money you have spent on this project so far, but if you want to draw traffic this is a necessary step.

Now, go ahead – conquer the world! Or host a home page…

No related posts.