Articles – Running your own home web server

Running your own home web server

This article is in view that I’ve seen quite a few guys asking on how to setup a home web server. This should be a simple article showing you generally how to do this with the Compex N16A wireless router. This router also comes with 4 RJ45 “wired” LAN ports. See mine here.

1.Choose then Setup IIS or Apache.
1.1. Installation IIS
2 Get a name
2.1 Install a dynamic IP updating client
3. Decide on a port now
4. “Listen to another on your router”
5. Redirect IIS/ Apache
5.1 Listen to other port on IIS
5.2 Listen to another port in Apache
6. Putting it all together!
7. Links

1. Choose then Setup IIS or Apache.

You will need to have a web server software installed and running. The 2 most popular ones are Apache and Internet Information Server by Microsoft. You can check out how to install Apache, PHP and mySQL into a Windows based machine here.

The following will show you in a simple manner on how to install IIS on a Windows XP machine.

1.1 Installation IIS

If you have a Windows machine that is already Windows XP or Windows 2000, installing IIS is very simple.

Go to Start > Control Panel > Add Remove Programs > Add/Remove Windows Components

Scroll down till you see Internet Information Services (IIS), tick it and click on Next >


Installing…


Insert Win XP CD when prompted to.


Still installing…


Done.

Some status will appear, it it finish and restart your PC if prompted to and it’s done.

So how do you know if IIS HAS been installed? Go to your Start menu again and under Administrative Tools there’s now a Internet Information Services.

You can also access this option by going to Control Panel > Administrative Tools as some may not have turn on that in their Windows XP start menu. We’ll now start it to see how it looks like:

The above is how the main interface looks like, fairly simple and nice. Another way of knowing if IIS has been installed is by starting Internet Explorer and typing in http://localhost You should see the following:


Welcome to IIS!

OK now, IIS is installed and running. Let’s proceed to the next step.

2. Get a name

Getting a name is simple and there’s tons of those FREE DNS redirection services. I’ll be using DynDNS‘s services. Sign up an account with them. Once you have an account, you’ll need to set up some stuffs like your time zone etc. I’ll jump straight to the adding of a host.

Sign in to your DynDNS page at their site http://www.dyndns.org then go to “Account”. Your page may look empty and not fill in with all the stuffs like the below screenshot as I have already set up mine.

We’ll add a host under Dynamic DNS since our ISP issue us dynamic IP address that changes from time to time. You’ll see the following:


Please ignore the “XXX.XXX” behind as I do not want to review my IP address, it should be fill in with numbers.

Pick a name for yourself, I’ve chosen something generic. It is a dummy one. You can also pick from one of the many domain names available. You can have anything you want. You can leave the tick on Enable Wildcard uncheck and leave the Mail Exchanger blank. Hit Add Host when done.

2.1 Install a dynamic IP updating client

You will need a software to update your WAN IP that is the IP your ISP gives you to DynDNS everytime it changes or else your web server will not load. So install one now, you can choose from a long list here.

I uses DirectUpdate‘s client and it works with most free Dynamic IP services. After installing it, go to Status then click on Create. Choose your account type, “dyndns.org (dynamic)” then domain, what you have keyed in, (note, this is not the webhop URL) then username and password then click OK.

After that, your account will be updated immediately and you’ll see OK as the status.

3. Decide on a port now

Now you will need to think and remember a port that you will use throughout later. This port can be anything other than 80. Some ISP block port 80 as they disallow you from hosting a web server or any server from home as it eats bandwidth and may slow others down but we’re on a learning trip here…Anyway, I’ll be using port 8888.

So what does it mean if I have a port?

1. I can only access my website using http://myhomeserver.gotdns.com:8888
2. Too long to remember.
3. It looks ugly.

So what do you do? DynDNS has another free service call Webhop, it comes free with all accounts sign up.. That’ll help. Click on Add Host under Webhop.

Now isn’t that nice, you get to pick another name! You’ll have to remember this name and nothing else. Of course, don’t forget your password and userID for DynDNS. ha! ok, anyway, here I’ll pick another name:

Cloaking can be ignore. It simply does not show the full URL when anyone visit your site using http://myhomeserver.gotdns.com:8888 even after they click on some links. I left it off as at times, I wanna see where one hyperlink links to which file so I can troubleshoot my codings. OK, now click Add Redirection when done.

So you think that’s it? No no, not yet, you will then have to configure IIS/Apache to “listen” to port 8888 (remember, this depends on what port you have decided at step 3 and lastly setup Port Forwarding.

4. “Listen to another on your router”

As I have said during the start of this article, I am using the Compex N16A wireless router. I’ll only show that here on how to do it.

4.1 Go to http://192.168.168.1 which is the default IP of your Compex wireless router so you can do some administration (port forwarding)

Login:

Then click on NAT from the left menu:

Then Port Forwarding on the right frame,

Then you’ll see the following, yours should be blank, i have block out some stuffs I do not wanna show again. Click on Add.

Next, key in the IP address of the PC in your home network that is running IIS/ Apache’s IP address. You can find this out by typing cmd (if you’re using Windows 98, type in command) in Start > Run then type in ipconfig.


My home server IP address and other information. Some parts have been edited out.

Key in IP address of your IP under Custom Server > Private IP Address, protocol leave it as TCP then the Port should be the port you want as stated above. Click Add on done.

You will then see your list of ports opened and to what home IP address like below.

More information on port forwarding for various other application, what port to open, what settings to change can be found at Practicallynetworked here.

5. Redirect IIS/ Apache

Lastly, you need to tell IIS/ Apache to listen to another port instead of the default port 80.

5.1 Listen to other port on IIS

Start Internet Information Services then Navigate through the trees under your websites > Default website then right click and choose Properties like the screenshot below.

Then, go to Website and change the TCP Port: to the one you have decided at point 3. We’ll use our 8888 example here, key in 8888 and click OK when done.

Then stop and start IIS again for the changes to take effect.

5.2 Listen to another port in Apache

Edit your httpd.conf

Search for the following line then add in the port to listen to as follows:

Restarts your Apache services using rthe Apache Service Monitor in your taskbar tray and you’re done!

Refer to http://httpd.apache.org/docs-2.0/mod/mpm_common.html also on listening to other ports on Apache.

6. Putting all together

Test locally on your network first, try accessing if you can access your home web server that has been redirected to port 8888 first. For example, your web server home IP address is 192.168.168.3 then go to another PC within your home network and type in http://192.168.168.3:8888 remember, you must add in the :8888, if it loads, then you’re all set!


Apache Loads!


IIS Loads!

Now, you need to use a machine outside your home network to test it out using the Webhop URL, if it loads, then you’re done! Enjoy!

Links

DSLWebserver
Praticallynetworked
Compex
SMC
My Compex SKW 811 Wireless Kit
Apache
Internet Information Services
DynDNS
Directupdate Client
ITCoW Articles help Forum

Related Article(s):

Running Apache in Windows

– Contributed by etegration
14 July 2003

Pages

Sidebar Block

* Function Not Configured *

Archives