I want to know the requirements to build a web server, I can get a domain name and have it redirected to my IP-Address.

But I want to know the required hardware and software for the server to run.

Is Windows better or Linux? What Server to use? What about the hardware? RAM? Processor? etc...

And I would like to know the steps to install the software step-by-step.


You can slap Apache on any Linux/FreeBSD/Unix type OS, or IIS on any Windows Server 2k/2k3/2k8 OS, running on standard PC hardware, and have a basic web site running in minutes. Both Apache and IIS require a bit of studying to learn how to configure, though.

If you want something really simple to configure for personal use on Windows, try Abyss Web Server.

Now, what I mean by "basic web site" is it will display static HTML pages, do some CGI scripting, and little more. CGI is a simple way for a web page to be translated into calling a program and returning it's output, this is your other option besides your web server just showing you a file on your hard drive.

More advanced web applications use a scripting/execution framework instead of CGI and need a database system which you have to install separately. On the Linux/FreeBSD/Unix side, the PHP framework and MySQL RDBMS is very popular, with PostgreSQL RDBMS also being used quite a bit. On the Windows side, you're talking about installing some version of SQL Server, and for framework choices you have ASP .NET and probably others I'm not familiar with.

Now, if you are trying to run a real web site capable of supporting thousands of concurrent users, you'll need to spread out. You wouldn't run your RDBMS on the same machine as your Web server, and you might even run multiple Web servers that are configured to load balance between themselves. This is very advanced stuff in which I don't have a lot of experience. You also want to run on real server hardware which is built to be run 24/7/365 and in which components can be switched out on the fly, so your website doesn't go down if a hard drive crashes or what not.

Web Servers need a moderate amount of RAM, but RDBMSes can take all they can get. CPU can accelerate execution frameworks but most of a Web server's work is I/O bound, meaning making network and disk faster will help more than installing a faster CPU.

It's not possible to give you a simple step by step list of instructions because there are just too many options. However, if you are looking for something real simple just to start learning, get Abyss Web Server and install it on a Windows system. It's not hard to install.

  1. We have no idea what kind of usage your web site has (the load it generates, concurrent users, storage requirements, uptime requirements, scripting language)
  2. Re: Is Windows better or Linux: Is Toyota better than Ford? Is Apples better than Oranges?
  3. You want us to give you instructions, step-by-step, to how to install an operating system, a web server, a database and a scripting language. How about learning this your self, instead of asking "plzsendtehcode"?
  • 1
    It's a noob question for sure, but maybe a bit less hostility would be nice.
    – seanyboy
    Oct 25 '10 at 11:07
  • 8
    I reserve the right to be a little snotty when people are asking us to give step-by-step instructions. It shows very little respect for professionals. He/she can hire a consultant if there is no interest in learning anything.
    – pauska
    Oct 25 '10 at 11:28

Pretty much any computer or operating system can be used as a web server. To get started, use either Windows with IIS, or Linux with Apache.

For testing and learning, you should be able to use your normal Desktop computer as your web server. You may need to configure your firewall to do this.

To test if that local computer has a web server already installed on it, go to localhost. If a page appears immediately, then you've got a web server installed on that machine.

Not the answer you're looking for? Browse other questions tagged or ask your own question.