Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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.

share|improve this question

migrated from Oct 25 '10 at 10:29

This question came from our site for professional and enthusiast programmers.

closed as off topic by pauska, jscott, Zypher Oct 25 '10 at 11:40

Questions on Server Fault are expected to relate to server, networking, or related infrastructure administration within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

up vote 1 down vote accepted

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.

share|improve this answer
  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"?
share|improve this answer
It's a noob question for sure, but maybe a bit less hostility would be nice. – seanyboy Oct 25 '10 at 11:07
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.

share|improve this answer

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