If you work with open source servers (such as the world’s most popular web server, Apache), you know a massive number of tools are available to you. They range from security to functionality to monitoring… to just about anything you can imagine. But if you were to compile a single list of tools to include on your open source server farm, what would that list look like?
My own list tends to fluctuate on any given day. But almost always, certain tools stay on it. Here are the tools I rely on the most. (NOTE: This list does not include such things as basic Apache mod tools or the big four (Linux, Apache, MySQL, PHP– LAMP.)
If you’re looking for a tool to make the management of your MySQL database as easy as possible, phpMyAdmin is what you want. It’s easy to install and use and it takes up little room on your server. With phpMyAdmin you can manage databases, tables, columns, relations, indexes, users, permissions, and much more. phpMyAdmin is a web-based interface, which makes managing your databases as simple as point and click.
Capistrano is a remote server automation and deployment tool that supports scripting and task automation. You can easily deploy web applications to multiple machines simultaneously or in sequence, perform data migrations, run automatic audits, script arbitrary workflows over SSH, and execute any number of other tasks. Capistrano can also be integrated with any Ruby software.
3: MySQL Tuner
MySQL Tuner is a Perl script designed to assist you with the configuration and performance tuning of a MySQL database server. The only caveat to using MySQL Tuner is that it is a read-only script. You don’t run the script and then watch it tune your DB server. This script will examine your MySQL server and then report its findings. You can then make suggested changes to your server to increase performance. With that in mind, you’ll want to have a solid understanding of MySQL before you dive into using the tuner.
4: ConfigServer Security & Firewall
ConfigServer Security & Firewall is a “Stateful Packet Inspection (SPI) firewall, Login/Intrusion Detection and Security application for Linux servers.” It’s made up of a suite of scripts that offer a ton of features: SPI IPTables firewall, login failure checking, POP3/IMAP login failure detection, excessive connection blocking, SU login notification, SSH port auto-configuration, traffic blocking on unused server IP addresses, and much more. ConfigServer also integrates with cPanel, Webmin, and DirectAdmin.
Webmin has been around for a long time–with good reason. As an easy-to-install and simple-to-use GUI tool for server admin, Webmin has proved itself year after year. You can use it to administer every aspect of your server–including Apache, MySQL, DNS, file sharing, users, and firewalls. Webmin is so powerful and flexible, you’ll be hard-pressed to find a GUI better suited to help administer your Linux server (outside of the likes of the Red Hat and SUSE solutions–which require licenses as well as their respective platforms).
VNC is what you need if you want to enable users to log into the server and enjoy a GUI. But this tool isn’t just for allowing users to work with a remote instance of LibreOffice. If you’d rather not work with the likes of Webmin and want to manage your server from a more standard desktop GUI, you can work with VNC. The only issue with adding VNC to your server is deciding which one to choose. I’ve worked with a number of VNC servers and have found tightvnc to be the best of the bunch. Not only is its installation and usage better documented, it offers better compression for enhanced performance.
7: Apache Cloudstack
Apache Cloudstack is designed specifically for the purpose of deploying and managing a large number of virtual machines. This is a turnkey solution that includes all the features you’d require (such as compute orchestration, network-as-a-service, user and account management, a full and open native API, resource accounting, and a first-class User Interface). Cloudstack currently supports the most common hypervisors (VMware, KVM, XenServer, Xen Cloud Platform (XCP), and Hyper-V), and users can manage their clouds with a simple web interface.
OpenLDAP is the open source iteration of LDAP (lightweight directory access protocol). Although it’s powerful and flexible, the biggest issue facing the system is its complexity. This isn’t a point-and-click tool as you’ll find with Windows Active Directory. OpenLDAP is complex. And even though there are GUI tools designed to make the management of OpenLDAP easier, the installation and setup is not for the faint of heart.
MONIT is not just a server-monitoring tool. It will also attempt to resolve problems (when/if they arise) by taking predefined actions for certain situations. Say, for instance, MONIT discovers that Apache is using too many resources. Should this happen, MONIT will attempt to restart the http daemon to resolve the issue. MONIT is easy to deploy. (The site says you can have it up and running in 15 minutes–a claim that is very much true.) And MONIT doesn’t just monitor services; you can also set it up to monitor files, directories, and file systems.
Ganglia is another server monitoring tool, only it’s geared toward high-performance systems, such as clusters and grids. Ganglia uses XML for data representation, XDR for compact and portable data transport, and RRDtool for data storage and visualization. There is no other open source tool better suited for presenting data and information of a cluster in a useable, simplified manner. If you happen to administer such high-performance systems, you’d be remiss if you didn’t at least take a look at Ganglia as your go-to cluster monitor.
The world of open source servers is filled with outstanding and unique tools–not all of which are created equal. The software and systems listed here are best in breed and should be on the short list for inclusion in every open source server admin’s toolkit.
What open source server tools are in your toolkit? Share your recommendations with fellow TechRepublic members.