Graphic Administration with Webmin
When you start administering a Linux system, one of the biggest challenges is learning exactly what to do, and how to do it. There simply are too many tools, settings, parameters, configuration files, dæmons and what have you to consider. Obviously, if you ever want to become a full-fledged sysadmin on your own, you have to learn everything. But, until you get to that point, you still need to get things done, and you would do well by installing and using Webmin, a Web-based, comprehensive administration tool for Linux systems.
Webmin runs on your server and presents a Web-based interface, allowing you to do all sorts of system administration tasks—from the very simple to the very complex ones—without ever touching a configuration file or restarting any process or dæmon on your own. As an aside, it isn't just any run-of-the-mill tool. If you mention Webmin at a Linux Users Group reunion, it's guaranteed to raise a lively argument—much akin to the “using closed graphics drivers” or “banning all non-open-source software from distributions” discussions on forums and chat channels.
For some people, the idea of using anything but the command line to manage a server is barely short of heretical, and they believe you should not even consider using Linux if you plan on employing such a tool. (A Linux user I know once said dismissively, “If you want to use graphic tools, use Windows.”) However, for other people, any tool that helps them avoid mistakes or the need to memorize a lot of parameters is a welcome addition to their toolset.
Webmin won't let you avoid actually learning about Linux though. You can't merely start using it and change configuration settings without knowing perfectly well what you are doing. If you know what needs be done and how to do it, Webmin can save you from having to memorize lists of parameters or configuration files, and it will help you get things done quickly and safely. On the other hand, don't ever use Webmin as an experimentation tool. It's quite likely you could really mess things up.
Webmin runs not only on Linux, but on UNIX and FreeBSD as well. Here's a partial list of supported systems and distributions: Asianux, Caldera, Debian, FreeBSD, Gentoo (and Sabayon), HP-UX, IBM AIX, LinuxPPC, Lycoris, Mac OS X, Mandriva (and Mandrake and Conectiva), MEPIS, NetBSD, OpenBSD, PCLinuxOS, PlayStation Linux, Red Hat (and CentOS and Fedora), Scientific Linux, SCO OpenServer and UnixWare, Slackware, Sun Java Desktop System, Sun Solaris, SUSE and OpenSUSE Linux, Turbolinux, Ubuntu (and derivatives like Kubuntu or Xubuntu), Xandros, Yellow Dog Linux and Yoper Linux.
If your favorite distribution isn't included, some Webmin modules might not work, so be careful. If you are using a distribution derived from one that is on the list, it's a fair bet you won't have any problems, but don't say I didn't warn you.
By the way, why this state of affairs? The problem is a lack of standardization. Distributions use different locations for various configuration files, and if Webmin can't find them, it won't be able to function. This may change for the better over time, when (if) all distributions fully embrace the Linux Standard Base (LSB) and comply with the standards related to file placement. But, that certainly hasn't happened yet. To mention a simple example, I'm currently using OpenSUSE, and it uses /srv/www/htdocs as the root for Web sites. Most other distributions use /var/www/html. So, you can see that a configuration module might have serious problems finding Web files if it didn't know about this difference.
What do you need to run Webmin? Just a browser, Perl, a Java Runtime Environment (JRE) for some functions and the root password. After you become familiar with Webmin, you'll be able to forget about ever editing configuration files (like all those in the /etc directory) or starting, stopping and reloading services. If you set up Webmin correctly, you even will be able to administer your server from a remote machine.
Webmin is available under the GPL, so you can get it without any problems. The latest version (as of the time of this writing) is 1.380, and it's being developed actively. The easiest way to install Webmin is with your favorite package manager. Even though I am an OpenSUSE user, I prefer Smart to YaST, so a simple smart install webmin command did the job for me. If you don't get the latest version this way, don't worry. You can fix that just by using Webmin itself; keep reading.
The other method of installation is to go to the download site, download the appropriate version for your system, and follow the instructions on the left side of the page. There are two options here. You can get the full package (with all available modules), or you can get the minimal edition and add the modules you require afterward, using Webmin's own update features.
After installing Webmin, you need to start a service. Working as root (use su), do chkconfig webmin on (to ensure that Webmin starts every time you turn on your machine. Then do /etc/init.d/webmin start to start it immediately. You're all set.
Using Webmin is simple. Open your favorite browser, and navigate to http://localhost:10000 (or the equivalent, http://127.0.0.1:10000), and you'll see Webmin's login page. Next, enter the user name and password for the system administrator (in many distributions, that would be root, but Ubuntu and others grant sysadmin rights to specific users instead), and click the Login button. You could check the Remember login permanently box, but that's a security risk, so I recommend not doing that.
If you want to save yourself some typing, save that address as a bookmark. For example, in Firefox, either press Ctrl-D or go to Bookmarks→Create new bookmark. Alternatively, for even less typing, create a desktop icon. If you use KDE, right-click on your desktop, select Create New→Link to Location (URL), enter the URL above, and click OK. (The process is similar if you use GNOME.) You can make it even snazzier by right-clicking on the newly created icon and changing its image to /usr/libexec/webmin/images/webmin.xpm (this path might be different for distributions other than OpenSUSE).
Free DevOps eBooks, Videos, and more!
Regardless of where you are in your DevOps process, Linux Journal can help!
We offer here the DEFINITIVE DevOps for Dummies, a mobile Application Development Primer, and advice & help from the expert sources like:
- Linux Journal
- Users, Permissions and Multitenant Sites
- New Products
- Flexible Access Control with Squid Proxy
- Security in Three Ds: Detect, Decide and Deny
- High-Availability Storage with HA-LVM
- DevOps: Everything You Need to Know
- Tighten Up SSH
- Solving ODEs on Linux
- Non-Linux FOSS: MenuMeters
- March 2015 Issue of Linux Journal: System Administration