This is an extremely good tutorial I found for people who are not too good with computers on how to set up your own webserver on your own home computer.
All credit for this guide goes
here.
If anyone needs extra help, post here and we'll help you out.
---------------------------------------------------------------------
This tutorial will teach you how to setup an Apache webserver. It assumes you have the requirements and programs listed below. For domain hosting there are two options. The free way and the pay way. Use whichever you prefer.
This tutorial assumes that you are running Windows, preferably a Server OS, but it is not required. The following Operating Systems are supported in this tutorial:
- Windows 2000/XP/Server
As a point of reference, I use Windows Server 2003 Enterprise.
Although you don't actually need a domain name or really even a DNS server to run an http server, you wouldn't want to have to use your IP address to let people access your server, mainly because your IP might not be static and because it just looks ****ty.
The Requirements
Requirements:
1) High Speed Internet Connection. (DSL or better)
2) Ability to forward ports through a router, if you have one.
3) Operating System mentioned above.
4) General computer knowledge.
List of Required Programs:
1) HTTP Server (Apache 2.x) ? Download Win32 Installer (
http://www.mirrormonster.com/apache....x86-no_ssl.msi)
Get your Internal and External IP addresses
You will be required to know both your Internal IP address (LAN) and your External IP address (WAN). To find these, do the following (remove quotes where they are added):
Start -> Run -> type "cmd" and press Enter -> type "ipconfig" and press Enter
To get your External IP go to
http://www.whatismyip.com. It should be fairly obvious where to find the address.
Ensure your Internal IP is Static
You must make sure your IP address is static. Luckily, it doesn't cost money to do this.
Control Panel -> Network Connections -> Right-click to Properties on Local Area Network (you may have more than one, choose the one that is Enabled) -> Click Internet Protocol and click Properties -> Choose "Use The Following IP Address" -> Fill in the information based on the IP config we ran above (Your preferred DNS is always your default gateway)-> Click OK.
It might look something like this:
http://www.binjured.com/tut/apache_2.png
Setting Up Your Domain - The Pay Way
First, purchase a domain name.
Domain Names:
1)
http://www.hostway.com (my preference, cheap and reliable)
2)
http://www.godaddy.com (popular, also cheap)
Second, obtain a DNS server.
DNS Services:
1)
http://www.zoneedit.com (FREE DNS service, great for static IPs. Not many people know about this place, but I?ve been using it for quite some time.)
2)
http://www.no-ip.com ($24.95 (USD)/yr DNS service, great for dynamic IPs)
If you do not know whether you have a static IP or not, chances are you do not. I have been lucky in that I do not pay for a static IP, but I've used the same ISP for over 4 years and my IP has never changed. I suggest the safe route if you do not know whether or not your IP is static. If you go this route I suggest you use No-IP+ (
http://www.no-ip.com/services.php/page/plus) and register a domain through them as well. The reason behind this is that it costs only $7 to register a domain with No-IP+ and it will allow you to have both your DNS and your domain hosted with the same company, making it easier to manage.
If you choose to register a domain with a different company than your DNS service you will need to access your domain name account and find the "nameservers" or "DNS servers" option. You will need to change the primary and secondary name servers to those given to you by the DNS host. Setup of these two services is generally straight forward and should prove easy as long as you know how to use the internet.
Setting Up Your Domain - The Free Way
No-IP has a service that you can get for free where you signup for a free subdomain (yourname.no-ip.com) and they handle the DNS stuff for you. Along with this they provide a rather neat little program. Basically, as long as you keep it running, it will ensure that anytime your IP changes the DNS information for your server is updated within seconds. While I do not completely trust it, it's the best solution for those with a dynamic IP address who don't want to pay for anything.
1) Get a FREE account:
http://www.no-ip.com/services.php/page/free
2) For People with Dynamic IP's, Download Auto-Update software:
http://www.no-ip.com/downloads.php?page=win
Note: I do not provide support for this software nor am I going to go through how to set it up. See the No-IP site and the software documentation. I am sure it's very straight forward and simple.
Note: There are numerous companies that offer free services like this, but No-IP is by far my favorite, so if you don't use it it's your own fault when your computer explodes, sending thousands of small, burning hot pieces of metal and plastic into your face and body.
Forward Your Port
If you are running a router you must forward TCP/UDP Port 80 to the internal IP of the machine Apache will be running on. Your router documentation should provide information on how to do this. Basically, you access your router via a browser and setup the forward using the router's software. If you don't know how to do this with your specific router I suggest googling it or visiting the router manufacterer's website.
Common Access URLs:
- 192.168.0.1
- 192.168.1.1
Common User / Pass:
- admin / pass
- admin / password
- admin / [No Pass]
- [No User] / admin
Installing Apache
Remember that Apache installer you downloaded earlier? No? Well, run it. The initial install should be rather simple. Just choose where you want to install the software and setup your server settings (don't worry, the installer has examples for you). If you don't have a domain name yet you are SOL and will have to edit the server settings later. I will not cover extraneous editing; you should have followed the tutorial in the order which it's meant!
Note: If you are going "hardcore" and not getting a domain or DNS, just put your External IP in place of the domain stuff.
Editing Apache
Congratulations stupid genius, you're nearly done! Go here:
http://www.binjured.com/tut/apache_3.png
Find this:
#
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "C:/Program Files/Apache Group/Apache2/htdocs"Change "C:/Program Files/Apache Group/Apache2/htdocs" to wherever you want to host your files from. This is the top directory that is on the internet. If I type in yourname.com, I get to whatever is in here. This is how you share files with the vast internets, etc. etc. I hope you get the picture. I suggest hosting from a seperate drive, or at least a seperate partition. If you can't do that then you can always just leave the directory where it is or change it to wherever the hell you want. I don't ****in' care.
Find this:
#
# This should be changed to whatever you set DocumentRoot to.
#
<Directory "C:/Program Files/Apache Group/Apache2/htdocs">I think you can figure this out from the comment. If you can't, light your computer on fire and walk away.
Find this:
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
#
http://httpd.apache.org/docs-2.0/mod/core.html#options
# for more information.
#
Options Indexes FollowSymLinks If you wish to make it so that indexing is disabled on your server, change Options Indexes FollowSymLinks to Options Indexes None. Indexing means when I go to yourname.com and you don't have an index.html page there, I can see everything on your server and download all the crap that I want. I highly suggest turning this off. Indexing is evil. This is an optional step.
There are a lot more options that you may delve into at your leisure. Consult the Apache documentation for more info.
Dear God Are We Done
After editing the config file, you must restart Apache. Look in your system tray. You should see a little icon that looks like a feather with a green arrow in a circle. Left click it, go to Apache2, and click Reset. If your arrow does not become green again, or it never was green, you ****ed something up. In the event that you have ****ed something up horribly, double click that icon and see what it says under "Status", that will give you a place to start. Next, consult the Apache documentation and the links found in the Apache start menu folder.
Want to test your server? Throw a webpage into your DocRoot and browse to it using your browser of choice (choice being anything but IE, please). Is your domain name not up yet? No biggy, just replace yourname.com with your IP address and off you go.
There are many errors you can run into and some might puzzle you so much that you want to kill yourself. In that event, hop on over to
http://www.apache.org and start looking through the documentation, FAQ, tutorials, and etc. A couple of these can be found in the Start -> Programs -> Apache folder, I suggest you consult them if you've ****ed up.
Further Reading:
http://httpd.apache.org/docs-2.0/