Marcel's Linux Walkabout: Administrative Heaven -- Livin' in a Webmin World
Today, I'm going to start off with an assumption. Not all of you are Linux gurus who run nothing else. Let me further assume that some readers who are considering deploying Linux systems are likely going to do this with some kind of server task in mind, like uh, for instance, replacing that old NT server with a faster, more reliable Samba server. Understandable. It is also possible that you have a number of systems out there; Solaris systems, AIX boxes, Mac OS X, and HP servers. The only downside to putting yet another OS into this mix even something as downright fantastic as Linux is another administrative learning curve.
In this edition of Marcel's Linux Walkabout, I'm going to help you cut that administrative behemoth down to size. I'm going to show you a way to adopt a single administrative interface to cover just about any server you might have out there, including that shiny new Linux system. Read on, my friends. When it comes to networked systems, the Internet, or the global village, the first picture that comes to mind for many people is a web browser. We're not talking systems or network administrators but the average home user. The web browser, whether it be Netscape, Mozilla, Opera, or Microsoft's Internet Explorer, is ubiquitous. It is the window into the Internet, with its wondrous cornucopia of seemingly boundless information. For many, the web browser is also the newsreader and the email client.
It's everywhere. And that is precisely why a browser-based tool like Jamie Cameron's Webmin should become your best friend when it comes to system administration.
Introducing Webmin
Access to your system's vital resources (not to mention the system's need to its administrator) is just a click away using Webmin's slick interface (see Figure 1). If there's a network connection where you are, then you are already home.
Figure 1 Resource administration with Webmin.
In order to install Webmin, you need to have Perl version 5 installed. That is pretty much the only requirement (other than a UNIX system). Webmin provides its own tiny web server so the installation of a web server such as Apache is not necessary.
Start by visiting the official Webmin website at www.webmin.com. At the time of this writing, the latest version was 0.92. Don't be fooled by the pre-1.0 release number Webmin is ready now. In fact, it has been up to the job for a long time.
Now that I've said that all you need is Perl, let me tell you about the optional prerequisites (can you have optional prerequisites?).
Security Features
For the security conscious in all of us, Webmin can also run its server with SSL. To do that, you will need the Perl Net::SSLeay module (available from ftp.cpan.org). To use the module, you also need OpenSSL version 0.9.6b or better:
tar -xzvf Net_SSLeay.pm-1.09.tar.gz cd Net_SSLeay.pm-1.09 perl Makefile.PL make make test make install
Now that we have the Net::SSLeay module installed, it's time to move on to Webmin proper.
Installing Webmin
Installation is simple. Extract the source into a temporary directory and (as root) run the setup script:
tar -xzvf webmin-0.89.tar.gz cd webmin-0.89 ./setup.sh
As part of the installation, we now go through a little question and answer. I'll take you through the complete process as I saw it on my Thinkpad. That said, you will find that the format is pretty much the same regardless of platform. In fact, I recreated this installation on a Solaris system as well as an AIX system.
The first question has to do with the configuration and log files that Webmin will use. The default is to install configuration files in /etc/webmin and logs in /var/webmin. If you need to place them in different locations, you should change this now otherwise accept the default. After this, you'll be asked for the path to the Perl executable. The script correctly chose /usr/bin/perl.
Did I mention "platforms" a moment ago? The great beauty of Webmin shows itself in the next dialog. You'll get a prompt offering you an amazing collection of choices. Figure 2 is what the 0.92 option list looks like.
Figure 2 Webmin installation dialog.
As you can see, Webmin is designed to provide services for an impressive number of operating systems. Because Webmin has a consistent interface across all of these platforms, it also provides you with the means to easily administer systems that you don't work with quite as often. Printer administration is just as easy on a Linux system as it is under AIX, HPUX, and so on.
Aside from its varied OS support, Webmin also provides extensive and growing language support. Many of the modules have been translated into French, Japanese, Catalan, Italian, German, and several others.
We'll continue with the Linux install for the moment. Choose the number for your specific flavor of Linux, select the release level of your system, and then press Enter to continue. I chose number 4 for RedHat Linux. I was then presented with another menu from which to select the release level of my RedHat system. I chose option 12 for RedHat 7.2. Every OS, of course, has multiple release levels.
A few paragraphs back, I mentioned that Webmin runs its own little web server, the details of which you now get to choose, specifically the port number on which it runs. The default port number is 10000 but you can select something different at this point if you wish. We're almost there. A couple of additional questions follow the login name required to access the web server, a password, and the hostname that Webmin should use:
Web server port (default 10000): Login name (default admin): Login password: Web server hostname (default testsys.mycompany.com): Use SSL (y/n):
The SSL question is only asked if you have the Net::SSLeas.pm modules installed (which I mentioned earlier). Otherwise, the install will inform you that the module is not installed and consequently, SSL cannot be installed. Let me take a moment to lay your fears to rest the Webmin server is protected (as in good cgi scripting), but that doesn't stop somebody from running a sniffer on your network. Consequently, I chose the SSL enabled browser.
Before we finish with Webmin's install phase, we have one final question to answer. Would you like Webmin to start automatically at boot time? The answer here is probably "Yes". While this can all be automatic, you can always start it manually in this way (assuming that you accepted /etc/webmin as the directory for the config files):
/etc/webmin/start
Similarly, you can stop the Webmin server at any time with this command:
/etc/webmin/stop
That's all there is to it. Now, let's take Webmin out for a spin.
Start your favorite browser and connect to the Webmin server using http://your_server:10000. This assumes that we accepted the default port of 10000 and are running without SSL support. Otherwise, try https://your_server:port_no instead.
By the way, this is an all or nothing situation. You are either running the SSL-enabled server or you are running the plain server. If you choose the SSL-enabled server, you cannot use a browser that does not support encryption. The reverse is true as well. You can, however, turn SSL access on and off via the Webmin Configuration menu but I am jumping ahead just a bit.
When you look at that initial screen, take note of the Webmin Log option. Using this option, you can create a report showing you all the actions that have been taken through the interface. If this is your first time, take a moment to turn logging on. It is off by default. You can optionally choose what actions you want tracked I chose all ("Log actions by all users" and "Log actions in all modules"). Furthermore, consider telling Webmin to log the IP addresses of anyone using the interface. Click Save and you are ready to start using Webmin.