Home Web Servers, Part 2: Software and Maintenance
(Page 1 of 7 )
When setting up a home Web server, one of the most important things you must consider is what software you will run. The software you run on your server will determine the types of services you can access or offer other people. It also affects the security of your system--and whether you become a victim of spammers. Michael Swanson explains the different kinds of software you need to run, and how to avoid the pitfalls.
Introduction
In the previous article for this series, I described some of the basic networking and pre-setup work that you should do when setting up a home Web server. I went over some considerations regarding firewalls, network hardware, computer hardware, and domain name information that you should plan prior to setting up a server. These are all very important, but I left out one important area: software. The software you run on your server will determine the types of services you can access or offer to other people. After you set up your server, proper maintenance of the software you choose to install is the single most important factor in keeping you server secure. You can have as many firewalls running as you want, and filter the traffic entering your server as much as you want, but old, out of date software will still be susceptible to attacks and could compromise your entire system.
I chose not to include software because the choices you have regarding software are much more complicated, and are worth an article all by themselves. So, this entire article will be devoted to it.
Basics
The first thing to decide regarding software is which services you want to offer. There are many choices of services, and most of them require setting up and maintaining some sort of server or daemon process on the server. For instance, you will want to think ahead of time and decide whether running a mail server is important, and if so, what type of mail server you want to use. Some servers you may want to run or software you may want to install include:
- Operating system
- Web server (obviously, the whole point of this)
- Database (for persistent data storage for scripts)
- Email
- FTP
- Telnet or SSH
- Remote desktop (Terminal Services)
- Firewall
- Performance monitoring software
- Script processing software (PHP, .NET Framework, Perl, Python, etc.)
Each one of these requires its own setup, configuration, testing and maintenance. Most of this article will be concerned with a few of these areas and some things to think about for each as well as some possible free or low cost software packages in each category.
Next: Operating Systems >>
More Web Hosting How-Tos Articles
More By Michael Swanson