Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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 have a web server and I was wondering if it would be easier to have one at home in which I can control all the of the root access etc. I will be using a computer especially for it. Will this compromise security in anyway?

Also, how much will it slow down my internet connection.

P.S. It's an apache server.


migration rejected from Sep 1 '13 at 5:38

This question came from our site for professional and enthusiast programmers. Votes, comments, and answers are locked due to the question being closed here, but it may be eligible for editing and reopening on the site where it originated.

closed as primarily opinion-based by soandos, Ƭᴇcʜιᴇ007, Breakthrough, random Sep 1 '13 at 5:38

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise.If this question can be reworded to fit the rules in the help center, please edit the question.

you need to have a static ip for your server in order to allow public access (http) – ajreal Dec 11 '10 at 13:23
What kind of connection do you have at home? – Pekka 웃 Dec 11 '10 at 13:23
@ajreal not necessarily - there are dynamic IP providers like dynDNS. You can even bind a dynDNS address to a full domain name using CNAME records – Pekka 웃 Dec 11 '10 at 13:24
I have a dynamic IP but I do use my computer as a Minecraft server for me and my friends. – GingerBill Dec 11 '10 at 13:29
sound nice, no stability concern? – ajreal Dec 11 '10 at 13:29

Without more information it's hard to provide concrete answers, but:

  • Any outward-facing service (e.g. an HTTP server open to the internet) is a potential entry point for malicious (or curious) people. Securing any server can be a full time job, depending on how much you want it to do. A simple static-page server is far less prone to security issues than one hosting HTTP+MySQL+PHP+Ruby+JavaEE+Drupal+ThatNiceForum+YourOwnCode.

  • Segregating that server to a different LAN segment or VLAN and having your other systems treat it as any other web server would provide a degree of security for them.

  • A compromised server can do a lot of damage, nevertheless, by e.g. being used to spam people, causing your IP address to be black-listed for a long time. It can also be a source of a lot of frustration and anger if you have to deal with a compromise e.g. at Christmas Eve.

  • As far as your Internet connection goes, the problem with servers is that you don't fully control what comes down the pipe. You can throttle it, of course, but if you upload a fascinating piece of code and 100,000 people try to download it at the same time, those requests will still come down your connection, even if your server does not serve them all.

Thank you for your help. This has helped me answer the question. – GingerBill Dec 11 '10 at 16:09
I don't think segregating to another segment helps much, you really need to firewall/DMZ it. Also, spamming is bad, but having evil code on your internal network can do more damage than that. – Rich Homolka Mar 22 '11 at 22:23
@Rich Homolka: Using a separate segment protects the rest of the internal network. Without such a separation, a compromised serever can be used to e.g. sniff every machine on the same segment with an ARP poisoning tool such as ettercap. – thkala Mar 22 '11 at 23:35

There are significant security implications when hosting a web server. You should make sure you know what you're doing: read up on things like running the server process in a chroot jail, firewall rules etc.

If it's a dedicated machine (i.e. not your personal desktop machine) then you can mitigate damage potential by not allowing that machine to talk to the rest of your home network. Look up Demilitarised zones (DMZs).

Your internet connection will have a fixed maximum bandwidth. The amount available will be reduced by whatever the web server is using, e.g. if you have a 10 megabit connection and the server has a sustained throughput of 2 megabit then you effectively have reduced your available bandwidth to 8 megabit.

Long story short, read as much as you can about how to secure a web server before you make it available. And be paranoid: an attacker can do a lot of damage in a short time.


Also I'd suggest nginx over apache as a webserver. Take a look at

In my opinion it's easier to setup and uses less memory.