Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

This is the first time I am setting up servers so I'm unsure where to start. One thing I know is that I have chosen the Linux Operating System.

I want to host my own sites so I have a static IP for my dedicated server. What are the issues I need to consider regarding setting up a server at home? Presently, power and security are low priority but you could comment on them.

I am inexperienced and would be glad to know the A to Z of setting up servers.

share|improve this question

migrated from serverfault.com Sep 27 '09 at 9:32

This question came from our site for professional system and network administrators.

    
Can't understand why so many people stick to apache since it's slowest http server. I would recommend nginx which is easier to configure and faster. –  solusipse Mar 13 '13 at 3:35

6 Answers 6

up vote 12 down vote accepted

More general (home) server concepts.


Since you seem to have a single static IP address from your ISP for setting up this server, DNS may be more about configuring your web domain and server name properly. Even that might be solved by your ISP.

Things get more interesting if you intend to have a small network along with the server.
You then need to protect the network from a potential server compromise too.

Here are a few references for DNS,

share|improve this answer
    
Wow!! This is a fantastic answer!! :) Any Idea how would I set up a DNS server should I do it on the same machine?... again I am a noob here... –  Kevin Boyd Sep 27 '09 at 14:09

I'd recommend choosing a Turnkey Linux appliance. These use Ubuntu Server and are pre-configured to run various applications/servers and are set up to be pretty secure and efficient.

You can run them in a virtual machine or on a physical computer either by installing or just running straight from the CD. The download is much smaller (~150mb) than a full Ubuntu CD too.

They have a nice web-based configuration interface to configure most things, but you can always drop into a shell if and when you need to.

They're a good way to get going quickly and once you learn your way around, you can graduate to building your own server from scratch.

share|improve this answer
1  
Turnkey Linux sounds great! seems to be easy to use also... –  Kevin Boyd Sep 28 '09 at 6:48

first make a choice on what distro you want to use; then search on google.com/linux for that distro's name + LAMP (linux apache mysql php)

before installing it to a real machine, play a few days with that on a vmware guest machine

I would suggest debian, for starters

share|improve this answer
    
Well I googled and found that Debaian and Ubuntu were popular distros for setting up home servers.. Thanks for the tips.. –  Kevin Boyd Sep 27 '09 at 9:23

well; I use ubuntu as server. Static IP is solved by dyndns.org For ftp; proftpd; real simple to use, it even has good gui. For torrents; i've installed wine + utorrents (special partition for downloading stuff, so I always have room at main partition). vnc and ssh for remote deskop and control. I also have few webpages put; just few things for my friends; for that I used apache server; (off all the programs I've mentioned this is only one that needs to be configured without gui).

share|improve this answer
    
What do vnc and ssh do and what about dns server setup? –  Kevin Boyd Sep 27 '09 at 10:12
1  
VNC - graphical remote access. i prefer nx though. SSH is for text mode remote access. you NEED this. –  Journeyman Geek Sep 27 '09 at 10:49
1  
SFTP would be a wiser choice than FTP. –  Cristian Ciupitu Sep 27 '09 at 14:06
    
agreed; SFTP is safer; but I just use it for my LAN network, –  bbaja42 Sep 28 '09 at 7:19

Well, it all depends on what you need as a server. I tend to prefer Ubuntu LTS or debian (though i'm running jaunty at the moment, for various reasons). I favour builiding it off a minimal install or a server cd, but YMMV on either. In any case,save the headache of tweaking more than you need to by deciding what you need.

Assuming you want a LAMP stack, you can install it during installation or with the 'tasksel' command.

Samba is useful for a file server, though you need to look up on how to config it.I also have build-essential since some things i run are compiled and run as a user.

Hardwarewise - pretty much any 'recent' x86 machine probably will do. having as much ram and hard disk as possible is a good idea, though there's no need to overdo it. my LAMP/Fileserver is a PIII 450 with 640 mb of ram, though if i were building new, i might go for a nano or atom based box with as much ram as possible.

You'd be best off running the box headless - set it up on a wired connection, and stick it somewhere- and use SSH for admin.

share|improve this answer
    
If I choose Ubuntu Server Edition how to install the LAMP stack during installation? –  Kevin Boyd Sep 28 '09 at 6:50
    
What does a headless box mean? SSH? –  Kevin Boyd Sep 28 '09 at 6:51

Setting up your own server does require you to decide upon a lot of things. As have been pointed out, pick a good Linux distribution that contains whatever you need. Unfortunately, at that point your work only starts!

When you use a LAMP system, much of the components will already been chosen for you. Linux with Apache is the natural choice. And for a home system an Oracle database is pure overkill so MySQL is a good choice too. Then you have to chose between PHP or Python, which are both used for web development.

When deciding upon which development language to use, you might find more practical advise at StackOverflow. Of course, if you use some ready-to-use product to just install on your system, things will become a bit easier. Will you do the software development yourself or pick some third-party products?

When picking some third-party products, you will have to check what you want to use on your system, exactly. Do you want a forum? A bug reporting system? A blog? A complete CRM system? A photo gallery? So many options to choose from. And whatever distribution you pick, you need to configure it to fully support this product. (Fortunately, almost all products will install nicely on almost all distributions.

And then you have a server, running the software you like. And at first you get 5 visitors per day, and things run fine. Then more visitors will arrive and amongst them, some will be spambots and hackers, who will try to misuse your system. You will need to moderate your server a bit more, especially putting a stop to possible hack attacks. If you run a forum or blog, you'll need to do something about the spam messages and spam comments that will pop up sooner or later. Soon it becomes too much for one person to handle and you will need a few friends to help you to moderate your site's content.

Don't think that you're done once your server is set up. At that point, the work just starts...

share|improve this answer
    
What if? to start off with I am just hosting web sites no forums, no blogs no nothing... just plain websites...and oh a pop3 server also I guess so the email would probably be a target for spam bots etc...does this reduce the work load a bit?... –  Kevin Boyd Sep 27 '09 at 14:20
1  
It depends on the number of visitors you're expecting. If it's only for personal use and the number of visitors will be just you and perhaps a couple of friends, the workload will reduce a lot. (Although it doesn't keep evil-doers away.) Do consider using a robots.txt to keep all search engines away from your site in that case. Basically, anything you run on your server needs to be maintained. The more you install and use, the more that needs to be maintained. –  Wim ten Brink Sep 28 '09 at 11:28

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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