Operating systems optimize

DIY: Let Webmin handle all your UNIX administration tasks

Jack Wallen thinks Webmin is still one of the most powerful administration tools you'll find for a UNIX environment. See what the admin tool has to offer.

Webmin is a web-based interface for system administration on any UNIX machine. The interface can be used with any modern web browser. As long as you have access to the server Webmin is installed on, you can administer that machine.

When Webmin was released years ago, it filled the spot of the Linuxconf tool that was being phased out, and the tool was a smash hit. Webmin is still one of the most powerful administration tools you will find for a UNIX environment.

Built-in modules and features

Webmin includes built-in modules for the following and more:

  • ADSL
  • Apache
  • DNS
  • Firewall
  • Backup
  • Bandwidth Monitoring
  • CD Burner
  • CVS
  • Clustering
  • DHCP
  • Disks and network filesystems
  • IMAP/POP3
  • Fetchmail
  • File manager
  • Mail filter/forwarder
  • FTP Proxy
  • Boot loader
  • HTTP Tunnel
  • IPsec VPN
  • Jabber
  • Kerberos5
  • LDAP
  • RAID
  • Log filesystems
  • LVM
  • MIME Types
  • MON Service
  • Majordomo
  • MySQL
  • NFS

For a complete list of services available to Webmin, check out the Standard Modules page.

Webmin also features:

  • A built-in update tool
  • Quick access to system information
  • An easy to use interface
  • Expansion via easy to install modules

Installation

It's incredibly easy to install Webmin. Binary packages have been created and are available for download on the Webmin download page, where you will find the following packages:

  • RPM -- for RedHat, Fedora, CentOS, SUSE, or Mandrake Linux
  • DEB -- for Debian, Ubuntu, and other derivatives
  • PKG -- for Solaris
  • TAR -- for UNIX
  • ZIP -- for Windows

After you download the file you need for your platform, you need to issue the command associated with the installation. For example, the installation command for the DEB package on a Ubuntu machine is sudo dpkg -i webmin-XXX_all.deb (XXX is the release number).

On the Ubuntu installation (installed on an 11.10 machine), there was an issue with a missing dependency. To resolve this issue, it was just a matter of following these steps:

  1. Open Synaptic.
  2. Go to Edit | Fix Broken Packages.
  3. Click Apply.

After Webmin is installed, it can be reached by pointing a browser to the https://ADDRESS_TO_SERVER:10000 address (ADDRESS_TO_SERVER is the address of the machine Webmin is installed on).

Logging in and security issues

To log in, you need to use credentials that have administrative rights. This can cause problems on a Ubuntu machine because anyone with sudo permissions can log in. To avoid this issue, you can configure only a specific user's permission to log in. Here's how:

  1. Expand the Webmin menu in the left nav.
  2. Click the Webmin user's entry.
  3. Click Unix User Authentication.
  4. On the resulting page, click the checkbox for Allow Unix Users Listed Below To Log In (Figure A).
  5. From the Allow drop-down, select Unix User.
  6. In the User text area, enter the username.
  7. In the As Webmin User drop-down, select root.

Figure A

For added security, in the lower section of the page, you can deny users permission to log in to Webmin. (Click the image to enlarge.)

Using a module

From the left navigation, you can expand a section to reveal the delights Webmin has to offer. I encourage you to expand each section to get familiar with what each one offers. Most sections are fairly easy to find. For instance, you will find Apache, SSH, and MySQL Server under Servers, and Bandwidth Monitoring and Firewalls are under Networking.

To configure any aspect of the Webmin system, look under the Webmin entry in the navigation. Webmin | Webmin Configuration holds the majority of the configuration options for the Webmin application (Figure B). From this page you can Upgrade Webmin, Manage Blocked Hosts And Users, Control Access Via IP Address, and Add New Modules. Figure B

Below this section, you will find options to set Webmin to start at boot, as well as a button to restart the Webmin daemon. (Click the image to enlarge.)

Installing modules

From the Webmin Configuration panel, it is possible to install new modules for Webmin. (You can find plenty of third-party modules on the Webmin page.) This is the process for installing new modules:

  1. Download the .wbm.gz file you want to install.
  2. Go to the Webmin Modules page (click Webmin Configuration | Webmin Modules).
  3. From the Webmin Modules page, check From Local File (Figure C).
  4. Click the "..." button associated with From Local File.
  5. Navigate to the file just downloaded.
  6. Click OK in the navigation window.

Figure C

You can also install from a remote source if you have the address of the .wbm.gz file. (Click the image to enlarge.)

After you installed a module, you'll receive an installation success notification and instructions on where to locate the new module.

Stay tuned

In future DIY posts, I'll dig deeper into how to use some of Webmin's various modules. Until then, I hope you enjoy familiarizing yourself with your new administration tool.

About

Jack Wallen is an award-winning writer for TechRepublic and Linux.com. He’s an avid promoter of open source and the voice of The Android Expert. For more news about Jack Wallen, visit his website getjackd.net.

6 comments
pgit
pgit

I've used webmin from it's inception. I tell people it's not only a great config tool but a great platform for learning. For example just poking around the samba config pages can teach someone what samba is up to and how it can be configured. The 2 points: 1) First thing I do on a new install is change the theme from the one shown above to the "classic" theme. Much better physical layout. The new theme often throws 404 errors for some reason. 2) For most any distro you can solve dependencies by adding wherever you unpacked webmin as a media source in whatever package manager you are using. (not all have a "fix broken package" button) With the ~/username/Downloads folder as a media source, any missing dependencies will be automatically calculated by the package manager. You should get some kind of "additional packages are needed" message to OK.

seannyob
seannyob

Sean O'Brien thinks BASH is still one of the most powerful administration tools you???ll find for a UNIX environment. To install bash... Sit down in front of a *nix computer that has been updated in this decade. Then...learn shit you need to know in order to administer *nix computers. Webmin. Really, Jack? Come on.

tbmay
tbmay

Actually...it's been around for years. A very active project. I've put it on every Linux server I deployed for clients and employers because most of them don't know the command line. You can do some very rich things with things like custom commands .... providing very specific rights. Same is true for most modules. Very useful tool.

tbmay
tbmay

...we can go back to the days before BASH and argue you should use Bourne...or korn...or if you are a REAL guy...the c shell.... or if you really knew what the heck you were doing you should do everything in assembly. The CLI is necessary for those of us who have to set things up to begin with, and fix stuff. The average administrator doesn't need to know it.

seannyob
seannyob

..as a *nix administrator, I learned early that the CLI (whichever flavor you prefer) is where final power is...and that everything has the potential to break, including the application, database and web server layers upon which Webmin relies. Therefore, I respectfully disagree. Even today, I think the "average" Linux or UNIX administrator should know their way around the command line, although I grant that in some cases (such as minor web applications deployed on remote servers administered by other companies) it may not be necessary.

pgit
pgit

The point of webmin is putting a logical overlay on the config files, usually the stuff under /etc, for the unfamiliar. As I mentioned in my post below webmin is a great tool for learning what makes various systems tick. It also makes it easy for beginners to make changes (perhaps while troubleshooting) that are easily reversible if they prove to be wrong. I guess this point is an adjunct of learning the ropes. I never administer a running system with webmin, that's for the command line. (tcsh seems to offer the most options) Webmin makes for a very fast, easily verifiable configuration during initial setup. Bonus is you don't have to remember/look up syntax you're only vaguely familiar with. (eg procmail) Parameters in webmin are aware of all that and 'translate' simple check boxes, radio buttons and text windows to whatever form is needed by a given config.