Set up your very own Web server! by CalcProgrammer1
Ever wanted to have a place where you could keep your files and access them anywhere you get an Internet connection? Say you wanted to have your music library available in case you wanted to give a song to one of your friends, or maybe you wanted to let your relatives download your entire library of vacation photos, or maybe you need a place to host programs you write or maps you make. How about a Web page? Ever wanted to have your own Web page? All of these can be accomplished with a home Web server...and more!

It's actually really simple to set up a Web server at home. I'm going to use this while I'm away at college to host game servers, have an offsite file backup, and share files with friends. Since the PC hosting the server will be at my house and I will be in my dorm room, obviously I can't just walk over and start changing system settings, so we'll need some kind of remote access.

Also, obviously, you'll need a dedicated PC, one you can leave running and leave connected at all times. What good is a server that goes down all the time? This PC doesn't have to be great, but remember, the more you run on it, the faster the PC needs to be to not lag (duh).
 
Remove these adsRemove these ads by Signing Up

Step 1: Acquire a dedicated PC

IMG_2345.JPG
This step may be easy for some and hard for others. I already had a PC that I wasn't really using (it originally was my parents old PC, but then it died and I rebuilt it with cheap parts, but since I already had a PC I didn't really use it much).

System specs:

AMD Sempron 64 2600+ (overclocked to 1.85 GHz)
1.5GB DDR RAM
nVidia GeForce4 MX420 64MB (GPU really not important, servers don't need good video cards, even integrated is plenty)
60GB hard drive (IDE) (not that good for a server, but good enough, I didn't want to spend any money on this)
DVD and CD drive (you'll need at least a CD drive to install the OS, other than that, not necessary)
3 Ethernet cards (you'll need at least 1)

This system performs very well as a server, so anything over this would perform even better. This PC cost about $100 to rebuild (already had RAM, case, optical drives, and hard drive though) and that was late 2007 that I rebuilt it.
1-40 of 208Next »
the doctor who says: Feb 1, 2013. 7:12 AM
hi great instructable you it helped me greatly
thesush says: Jan 2, 2013. 11:29 AM
Hi great instructable !! I just have a question about trouble shooting. When I try to search my internet ip it says my internet server can not be found. I suppose this means my port forwarding isn't working however I trying to troubleshoot this and nothing seems to be working :(. Any suggestions? Thanks!
offtherails2010 says: Oct 24, 2012. 7:49 PM
WTF - WHY WASNT THIS INSTRUCTABLE FEATURED ?!!?!!?!!?

Such a great instructable !

I really want to make a home web server too but will wait until you make an upto date windows server as i only know windows 1 !!!

Many thanks in advance for the Up and Coming Updated Windows Server for Home users-hack-thing-instructable, lol !!!
An_Amateur622 says: Aug 18, 2012. 6:48 PM
I have one question before I attempt this. Does the size of the hard drive matter?
I notice in your specs it says a 60 GB HDD, but is that enough to hold all of the data that your server is going to handle? I only ask because the PC I want to do this with has an 80 GB HDD
blazed01 says: Jan 20, 2012. 7:28 AM
Hello, I'll try to set-up a web hosting using ubuntu server 11.10 but, when i try do the step a got error also when i try install apache2, and the GUI. I don't what to do....please help me. thanks!
techboy411 says: Dec 19, 2011. 2:39 PM
Well........SmootWall?
harias says: Nov 28, 2010. 2:45 PM
I got an error message when trying to activate:
-Fatal: TLSRSACertificateFile:'etc/garmin-proftpd/certs/cert.pem' does not exist online 57 of '/etc/proftpd/proftpd.conf'
I am using Ubuntu 10.10, nd I have the feeling this tutorial is for a lower version...
computerlover says: Jun 23, 2011. 11:11 AM
I'm using Kubuntu 11.04 and I got the same issue. Try filling in the info. fields on the certificate section, then click apply. (scroll down a bit) It worked for me!
maxpower49 says: Nov 5, 2008. 3:50 PM
how can you tell if your processor is 64 bit compatable
Q-ro says: Apr 6, 2011. 7:57 AM
If you are using Linux you could run the following command on a terminal (command line):

uname -m

if you get a i386 or i686 response then it is 32 bit, a x86_64 response means its a 64bit.


Also if you get the 2 editions (64 and 32), and try to get the 64 bits version running on your pc it won't work at all so you will know you pc is not meant for 64 bits .

Another method would be to check the processor manufacturer webpage.
CalcProgrammer1 (author) says: Nov 10, 2008. 10:21 AM
If you're in Windows, you can use PC Wizard 2008 (free app, google it) and check for "AMD64" technology or "IA_64" or something like that. If you're unsure, you can use the 32 bit edition on any PC (64 or 32 bit processors both run 32 bit programs, only 32 bit processors can't run 64 bit programs). You probably won't notice a major performance difference between the two versions, so just go with 32 if you are unsure.
Q-ro says: Apr 6, 2011. 7:52 AM
One question ¿is it possible to set a GUI on a server edition? i was just wandering, i believe i can just install the genome-desktop package from aptitude, but don't wanna try it out to discover it mess up my server.

Thanks in advance.
high_man4202003 says: Mar 25, 2011. 10:15 AM
You can try checking the computer properties by right clicking on my computer and clicking on properties or try going to your run program in the start menu and type dxdiag click ok and click yes on the popup window.
CalcProgrammer1 (author) says: Dec 2, 2010. 9:47 PM
This tutorial is over 2 years old, I wrote it in 2008 for Ubuntu 8.04 LTS which is now very outdated. The packages have changed and it looks like gadmin-proftpd does not work the same way as it did in 8.04. Unfortunately I do not have time to create a new Instructable, also I switched my server to Windows XP Pro because I needed to run some Windows stuff that Wine couldn't handle.
shaqadim says: Feb 19, 2010. 2:50 PM
 mine keeps on coming up saying that my computer can only be reached on a local network but i have a ethernet cable connected y wont it connect to the internet
pspuria says: Nov 13, 2010. 10:31 AM
you need to go into your router and configure port forwarding
web port is 80 and set the address as the webserver and you should be able to access it from the EXTERNAL ip address that your network sits behind
Knuxz says: Oct 17, 2010. 11:15 AM
You probably need to open the correct ports on your router so that when other computers are trying to remotely access it they can have a path to follow.
Computothought says: Nov 11, 2010. 12:06 PM
may also want to set up ddns.
Computothought says: Nov 11, 2010. 12:06 PM
Once you start using a web server, you will wonder why you never used one before. I run my private apache web server on an old an old pII. It is currently running Ubuntu though I prefer debian when I am not running centos. I had it on I think ubuntu server 6.x and have done in-place upgrades as they came along the way to 9.x. (i.e. no reformatting or disk wiping). This is an example of the actual web pages i run on it. http://www.instructables.com/id/Uses-for-your-own-private-cloud/ I have since added doing home automation on it. Keep finding uses for that legacy computer. Microsoft Windows Supporters said I should have thrown away a long time ago. It is not what you use, but how you use it.
BitFiber says: Jan 4, 2010. 6:47 PM
 I have a problem.  I forwarded my ports correctly, and I can't access the 'It Works!' page from my internet ip.  I can access it from my local ip.  What could be wrong?
Computothought says: Nov 11, 2010. 11:53 AM
Your internet address will be differrent from your local address. ddns is a way around that. There are several free servers to allow to do that. web search free ddns.
CalcProgrammer1 (author) says: Jan 5, 2010. 12:06 AM
If you can't access the page from your Internet IP it may mean that your Internet Service Provider (ISP) blocks port 80 (the HTTP port that web pages use).  This is more common than I would like to believe for home ISP's and they'll use some lame excuse like "security" to back up their business-greed-minded decision (they unblock port 80 at the "professional level" for an additional $20 because monopolies will do anything to force the extra buck sometimes).  I would try serving on different ports until you find one that your ISP doesn't block.  I'm not sure how to change the port for Apache (probably a setting file that you'll have to edit at the terminal) but to access HTTP sites at non-80 ports you tack the port number on to the IP or web address such as http://192.168.1.1:210 (connecting to IP 192.168.1.1 [the standard router local IP] on port 210 [the alternative port I usually use for FTP at school]).  I like to use ports that are similar to the correct port, such as using 210 for FTP (which is normally 21) or 800 for HTTP (normally 80).  If these don't work, I also like ports 1337 and 31337 for obvious reasons.
Dms12444 says: Jan 29, 2010. 7:30 PM
Pardon my asking, but in Windows couldn't you just use IIS (internet information services), It's free (I think), and runs on Windows.
Computothought says: Nov 11, 2010. 11:51 AM
I will take xampp or wampserver (both free) over iis anyday. Besides iis does not come wih mysql or php. MsSQL is not free last I heard. Have not programmed is asp.
Zicologo says: Jan 21, 2010. 9:19 PM
CalcProgrammer, is IE the only way you can use to upload files to the server?
Computothought says: Nov 11, 2010. 11:48 AM
I Install ssh and and openssh-server and then use WINSCP on mswindows to transfer files.
CalcProgrammer1 (author) says: Jan 21, 2010. 10:55 PM
Certainly not!  My favorite is FileZilla Client, it's an open-source program that is designed for uploading and downloading from FTP servers.  It is available for Windows, Linux, and Mac and it's in the repository of most Linux distributions so installing it shouldn't be an issue.

If you're using Windows to host a server, I also recommend the (Windows only) FileZilla Server, it is a solid FTP server that is probably the best FTP server I've used on any OS.  However, Windows isn't free and Linux is a stable server platform, but I switched my server to XP because of other things I needed to run on it.
lilpepsikraker says: Feb 12, 2010. 7:47 PM
I'll give a thumbs up for FireFTP, it runs on any computer than can run Firefox 2 or higher (Win, Lin, OSX, whatever) and it pretty fast, being that it's basically a plugin for Firefox.
ddvniek says: Dec 31, 2009. 4:55 AM
But what if you don't have Linux?????? What do you do then?? I have Microsoft Windows 7.
Computothought says: Nov 11, 2010. 11:45 AM
You can try something like wanp (wampserver). I am a linux person, but I had to set up a web server on windows xp to do a home automation demo for friends.

http://www.instructables.com/id/Quicky-web-server-for-MSWindows-XP/
http://www.instructables.com/id/Home-Automation-MSWindows-XP/
There is also xampp for windows.

As soon as I have access to w7, I will do a couple of update instructables.
CalcProgrammer1 (author) says: Jan 1, 2010. 2:00 PM
This Instructable covers setting up a Linux Server, thus it mentions Linux programs.  However, if you want to use Windows for a server there are plenty of great apps.  I recommend FileZilla Server for FTP, Apache for HTTP, and TightVNC for remote access.  I actually switched my Ubuntu server to Windows XP after I wanted to use it to stream music to my Xbox 360, I have TVersity running to stream media and with Windows you can also share your files locally on the LAN easily.
CyberJacob says: Aug 21, 2010. 9:06 AM
you can stream media from Ubuntu to an xbox, just find out what protocols it supports and install some daemons for them. hey LMGTFY - http://adf.ly/5WP9
computerlover says: Oct 2, 2010. 11:50 AM

I am running Ubuntu 10.04 Lts. In the VNC, there is no option to make it public. how do I make screen sharing public?
declanthedork says: Feb 19, 2009. 7:09 AM
So far, this is a great Instructable. I just have a small problem. When I click apply changes, I get this. Error: user not found, couldnt change its settings. Could you possibly tell me what it means? Thanks
declanthedork says: Feb 19, 2009. 7:13 AM
never mind! I did it! you have to click add, user, not apply. Stupid me! btw, awesome instructable!
harry599 says: Aug 24, 2010. 2:50 PM
wheres that??
account3r2 says: Aug 23, 2010. 5:22 PM
so........ this is just like a website?
account3r2 says: Aug 23, 2010. 5:20 PM
Google: http://72.14.204.104 or http://66.249.90.104
CyberJacob says: Aug 21, 2010. 9:11 AM
easy way to solve it, just tell them to go f**k themselves and open the port or you'll go somewhere else for your 'net connection
Lord_Drogoth says: Jun 3, 2010. 7:55 PM
i have a unknown error   - Fatal: TLSRSACertificateFile: '/etc/gadmin-proftpd/certs/cert.pem' does not exist on line 56 of '/etc/proftpd/proftpd.conf' dunno whats wrong but it says this every time i try to activate the ftp server any ideas?
1-40 of 208Next »
Pro

Get More Out of Instructables

Already have an Account?

close

PDF Downloads
As a Pro member, you will gain access to download any Instructable in the PDF format. You also have the ability to customize your PDF download.

Upgrade to Pro today!