In part one, we looked at some of the bare essentials for getting started with your new server. The following are a few others that are sometimes essential, depending on what you want to do.
Server-side Scripting – If you are going to run dynamic websites, which you almost certainly will, you will need some type of scripting language. This is truly only limited by your programming skills and/or the third-party web applications you want to install. Popular choices include PHP, Python, Ruby, and Java. If you intend to offer web hosting services, you may find yourself installing as many solutions as possible.
Web security – Once you open your server up to the web, you invite attackers who can get in and do damage no matter how tightly you have configured your firewall. Therefore, you need an extra layer of security. Solutions like ModSecurity, an open source web application firewall, can prevent nasty attacks like XSS (cross-site scripting) and SQL injection.
Hosting automation – This may not seem like an essential server component, but in modern times, it can greatly simplify your life, especially if you intend to offer hosting to others. There are free options like Webmin and Virtualmin, and there are also commercial options like WHM and cPanel.
In part three of this exploration of Linux and Unix server tools, we will look at some smaller tools that can help you with day-to-day tasks.