Running Webmin
Webmin ( href="http://www.webmin.com/webmin/" target="_blank">http://www.webmin.com/webmin/ )
is conceptually similar to Linuxconf in that it's a configuration system that's
designed to operate on a variety of Linux distributions. Webmin explicitly
supports a somewhat broader range of distributions, though, as well as
non-Linux UNIX-like systems such as Solaris, FreeBSD, and MacOS X. (A complete
list is available at target="_blank">http://www.webmin.com/webmin/supportl ). Thus, configuring and using Webmin is similar to configuring and
using Linuxconf. Because Webmin is designed primarily as a network
configuration tool, though, initial configuration to accept remote logins is
somewhat less involved than it is with Linuxconf.
Configuring Webmin
Of the major distributions discussed in this
book, only Mandrake ships with Webmin (it's planned for inclusion with the
upcoming Debian 3.0, though). For other distributions, you can obtain the
package from the Webmin Web site, which hosts the program in RPM and tarball
formats. Installing the RPM is simplest if you're using an RPM-based
distribution, because the RPM includes a script that detects your distribution
type and configures the server appropriately; you do not need to do anything
else to get it running. If you install the tarball, you must run a script and
answer questions about your system to get the program running. The
procedure for doing so is as follows:name=ch16pr02>1. As root , change to a
directory that will host the Webmin subdirectory. The Webmin
documentation suggests /usr/local ,
but other locations work as well. One other logical possibility is /opt .
2. Unpack the Webmin package with a command such as tar xvfz /path/to /webmin-version.tar.gz , where /path/to is the directory in which
you've stored the archive and version
is the version number. This will create a subdirectory called webmin-version in which the Webmin
files reside.
3. Change to the new Webmin directory by typing cd webmin-version .
4. Type ./install.sh
to run the installation script. This script asks you a number of questions
about your system, such as the path to your Perl binary. Of particular
importance is the question of which distribution you're using, followed by the
version number of that distribution. You'll also have to enter an
administrative username and password, which you'll subsequently use to access
the Webmin server. When the script finishes, it starts Webmin so you can begin
using it immediately.
NOTE

Webmin is written entirely in Perl, so there's no need to
compile the program; you can install the same package on any system, no
matter what type of CPU it has. You do need to have a working Perl
installation, though. Perl ships with all major Linux distributions, and is
usually installed by default.
Webmin itself is configured through files that normally reside
in /etc/ webmin (you can change
this directory if you install the tarball). You probably won't need to change
any of these files, but if you do, the ones that are most likely to need
attention are config and miniserv.conf . Both of these files contain
configuration information such as the port number to which Webmin listens by
default, the system name, and the type of the host OS. In addition, the miniserv.users file contains the
administrative username and password. (If you installed from RPM, the system
uses root as the administrative
username and copies the root
password from /etc/passwd or /etc/shadow ; if you installed from the
tarball, you had to enter this information manually.) Subdirectories of /etc/webmin contain information relevant
to specific servers and subsystems that Webmin handles.The standard configuration for Webmin uses a SysV script to
start the server. This script in turn uses the /etc/webmin/start
script to actually call the Webmin Perl scripts.
Using
Webmin
In broad strokes, using Webmin is similar to using Linuxconf;
you enter the URL for the Webmin server (including the 10000 port number) in a
Web browser, which then displays a prompt for a username and password. href="http:// /JVXSL.asp?x=1&mode=section&sortKey=insertDate&sortOrder=desc&view=&xmlid=0-201-77423-2/ch16lev1sec4&open=true&title=New%20This%20Week&catid=&s=1&b=1&f=1&t=1&c=1&u=1#ch16fig05#ch16fig05"> Figure 16.5 shows the resulting Webmin
configuration screen for one system. Like Linuxconf, Webmin organizes its configuration
tools into separate categories, but they don't nest as deeply in Webmin as in
Linuxconf. Chances are most of what you'll do will be in the System and Servers
tabs. The Webmin tab is used to configure Webmin itself, Hardware to adjust
hardware (such as partitions), and Others to set a few miscellaneous items.
Figure 16.5. Webmin's main screen
lets you select the general category and, when that's chosen, the specific
subsystem you want to configure.
you may be greeted by a final configuration screen or by a list of components
of that specific server or subsystem. For instance, the DNS server
configuration provides suboptions for logging, files, and so on, as well as for
each zone served by the DNS server, as shown in href="http:// /JVXSL.asp?x=1&mode=section&sortKey=insertDate&sortOrder=desc&view=&xmlid=0-201-77423-2/ch16lev1sec4&open=true&title=New%20This%20Week&catid=&s=1&b=1&f=1&t=1&c=1&u=1#ch16fig06#ch16fig06"> Figure 16.6 . Such nesting may continue for
several levels. Eventually, you'll reach a screen in which you can alter
specific settings by using text entry boxes, check boxes, lists, and so on, as
shown in href="http:// /JVXSL.asp?x=1&mode=section&sortKey=insertDate&sortOrder=desc&view=&xmlid=0-201-77423-2/ch16lev1sec4&open=true&title=New%20This%20Week&catid=&s=1&b=1&f=1&t=1&c=1&u=1#ch16fig07#ch16fig07"> Figure 16.7 . When you do so, click the Save
button to save your changes. Many server configuration modules include a button
called Apply Changes to force the server to pick up a changed configuration.
Others include a Stop or Start button, depending upon whether the server is
currently running; you can click the Stop button, followed by the Start button,
to activate your changes.
Figure 16.6. Many servers and
subsystems include their own set of links to let you manage a server in
reasonably sized configuration screens.
Figure 16.7. You enter information
in Webmin screens much as you do in Linuxconf screens.
include servers that aren't running, or even installed, on your system. If you
click such a server, you'll receive a message stating that Webmin couldn't find
the configuration file, and suggesting that the module configuration may be
wrong or the server may not be installed. If you've installed a server from an
unusual source, you can click the Module Configuration link in this message to
go to the configuration page for that Webmin module. If you know where the
configuration files actually reside, you can change that information to have
Webmin administer your server.As a general rule, Webmin modules are more
complete than are their Linuxconf counterparts, although there's nothing about
Webmin per se that dictates this. On any given
distribution, you might find Webmin to be better for some things but Linuxconf
better for others. If you're investigating both tools, your best bet is to try
both, at least on a test system.When you're finished using Webmin, you can
click the Logout link on the main page (see href="http:// /JVXSL.asp?x=1&mode=section&sortKey=insertDate&sortOrder=desc&view=&xmlid=0-201-77423-2/ch16lev1sec4&open=true&title=New%20This%20Week&catid=&s=1&b=1&f=1&t=1&c=1&u=1#ch16fig05#ch16fig05"> Figure 16.5 ). This
action terminates your connection to Webmin, so you don't need to close down
your Web browser, as is advisable when you're finished using Linuxconf.