How to manage Linux server with GUI

A typical Linux server runs in a command line interface (CLI) environment, preloaded with bare essential tools needed to install and configure various headless services. Compared to a full-blown GUI desktop image, such a minimal setup is advantageous in terms of security, resource consumption and speed.

If you are used to GUI-based environment, however, you may wonder whether there is a GUI for Linux server. A typical Linux desktop environment like GNOME, KDE, etc. will probably be too resource-heavy for what it's worth, and not as secure simply because there will be more code subject to potential security vulnerabilities.

An alternative to a full-blown desktop GUI is to use a web-based server administration tool. There are several web-based system configuration tools, such as Webmin, ISPconfig, Zentyal, etc.

In this tutorial, I will describe how to manage and configure a Linux server with Webmin's web-based GUI.

Webmin is a lightweight (~20 MB) system configuration tool written in Perl. Webmin has a built-in web server, allowing users to configure a Linux server via web interface. One of its strength is its modular architecture where you can load modules to Webmin to extend its functionality.

Install Webmin on Linux Server

To install Webmin on Ubuntu or Debian server, you can use the following commands.

$ sudo apt-get install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl apt-show-versions python
$ wget http://prdownloads.sourceforge.net/webadmin/webmin_1.660_all.deb
$ sudo dpkg -i webmin_1.660_all.deb

To install Webmin on CentOS or RHEL server, use these commands.

$ wget http://prdownloads.sourceforge.net/webadmin/webmin_1.660_all.deb
$ sudo rpm -U webmin-1.660-1.noarch.rpm

Access Webmin Interface

Once you installed Webmin, you can access Webmin by going to https://<HOST_IP>:10000/ on a web browser. If you have a firewall enabled, make sure that TCP 10000 port is not blocked.

Also, note that you should use HTTPS, not HTTP. Otherwise, you will get a redirection error. By default, Webmin runs in SSL mode with a default SSL certificate generated by Webmin.

Once you see Webmin's login page, you can log in as root (with the root password) or as any user who can use sudo on the Linux server. After logging in, you will see the status summary of your Linux server as follows.

Webmin Features

Webmin boasts of an extremely rich set of features that allow you to configure almost every aspect of a given Linux server. In the following, let me give you a glimpse of some of its powerful features.

Enable or disable boot-time services, and show their configuration status.

Monitor the status of server and services in real time, and configure scheduled monitoring and notification emails. Here you can monitor various server daemons such as NFS, MySQL, BIND DNS, Squid proxy, Apache Web server, etc., as well as system resources such as disk storage, memory or network traffic.

Configure iptables-based firewall rules.

Configure local routing table and gateways.

Mount and configure a filesystem.

Access and modify local file system via web-based file manager interface. This requires Java plugin for web browser.

Change Webmin configurations, where you can access-control IP addresses, add/remove Webmin modules, enable two-factor authentication for secure login, set up certificate authority, etc.

Subscribe to Xmodulo

Do you want to receive Linux FAQs, detailed tutorials and tips published at Xmodulo? Enter your email address below, and we will deliver our Linux posts straight to your email box, for free. Delivery powered by Google Feedburner.

The following two tabs change content below.
Dan Nanni is the founder and also a regular contributor of Xmodulo.com. He is a Linux/FOSS enthusiast who loves to get his hands dirty with his Linux box. He likes to procrastinate when he is supposed to be busy and productive. When he is otherwise free, he likes to watch movies and shop for the coolest gadgets.
Your name can also be listed here. Write for us as a freelancer.

24 thoughts on “How to manage Linux server with GUI

  1. Doesn't that take away the whole purpose of security? I and many linux user believe that Window Server GUI is what's letting hackers hack windows.

  2. Webmin is weird, and ooooold. I usually use the commandline, but I have Ajenti for my lesser companions..

    • Command line is more free no miss click or accidental change if you type the wrong thing the terminal will tell you "no bad word am not doing that"

  3. I use webmin mostly for quick and dirty settings. For detailed stuff, terminal and vi. But if there would be a good GUI I would not mind using it.

  4. Webmin is nice except on low resource machines (i.e. nslu2 running debian). We have developed our own bash-cgi scipts with a web front end.

  5. I already do that! If I only have a public IP to work with, I turn Webmin off when not in use. Otherwise, I only access via private IP's.

  6. GUI not only hides the actual processes and working behind the scene but also it opens so many loop holes and it can be a BIG security risk for your production servers.

  7. Do not install webmin if you: 1. have a working system. 2. do not use same setup as their default.
    They say on their website "This will not change your setup". That's a lie.
    I tried it once on a working server with postfix, courier, apache2 and mysql. Very bad result.
    My working courier was changed to a not working dovecot. My postfix "check user" in mysql disappeared. My setup of amavis spamassasin didn't work anymore. After a major reconstruct, I still had bits and pieces of usermin and webmin in the system. And apt-get purge does not remove it properly.
    you are warned now.
    /erling

  8. What can you guys say about ISP Config. Is it safe? I have been running a webserver on an old single core box for over 3 years with zero issues.

  9. Seems like this would bottleneck your access restrictions and security to a single interface. I assume that the admin can be modified. Do you log in with a local user account, or does it have its own table of users? Can you restrict parts of the interface from some users? I'd probably require only a root/admin to be able to install files, but allow a power user at least be able to verify that vital processes are running (or have stopped).

  10. Webmin has its own table of users but you can enable unix auth too, you can most certainly restrict what modules a user is allowed to access.

  11. While ssh and cli is my tool of choice for actively doing stuff on the server, the monitoring aspect of management is another issue. Manually tailing and grepping logfiles is not a replacement for good monitoring and alerting systems.

    Do most people in this group use purpose tools (like logwatch) or prefer custom scripts which are more focused? (I notice webmin, which I haven't looked at for some years, offers some basic monitoring and alerting functionality).

    • yep - logwatch, custom log monitoring, and Nagios.

      I use webmin to gain access to a machine when everything else (ssh) isn't possible.

    • I think many people consider the monitoring tools to be different things from administrative GUIs. The GUI for many of the monitoring tools are simply things like charts, graphs, readable and sortable messages, etc. and don't typically have the tools necessary to admin the server. Even their configuration is often done at a text file or command line level.

      In my experience, Nagios is one of the leading server monitoring and alerting tools, but there are also Munin, Cacti, Ganglia, and a number of other installable tools, and even a few SaaS tools, such as New Relic. There are also built-in monitoring tools that are useful for debugging and digging deeper into issues, such as sar, iostat, free, and vmstat.

  12. Administration is just one aspect of being an sysadmin. The other, much more complex and demanding (in both time and money), is troubleshooting. GUIs leave out a lot of what goes on behind the scenes, ridding you of important learning experiences.
    For example, I've learned a lot more about LVM and Device Mapper / Multipathd by trying to configure it by hand (and creating & solving problems) than I could have by using a GUI that's doing it for me. The result is a collection of scripts all of my colleagues can use to change the SAN layout without a second of downtime.
    IMO, GUIs can be a nice helper for menial, largely automated tasks (eg distributing SSH keys, deploying default configurations, ...), but only if you're already comfortable with what's happening behind the scenes.

  13. I have no experience with running Linux servers; my server experience is Windows Server 2003 and 2008; my Linux experience has been limited to workstations. So my comment is really a question: why is CLI preferred over GUI? I read that the GUIs don't work properly/as expected/as advertised? Are there no developers who make a robust GUI management suite of tools?

    • Why install bloatware to configure a server? Introducing possible additional security holes, using resources you could also use for the primary functions of the server.
      With a GUI you usually need a mouse (windows or linux) to navigate quickly ;-)

      With ssh, cli, vi and puppet you can configure and monitor any amount of servers.

  14. Screw managing systems with command lines. And before anyone gets the idea that I'm some Windows refugee, I've been working on personal computers since 1975, was writing UNIX device drivers in 1981, and consider Windows to be a awkward sort of toy operating system.

    Here's the deal: GUIs work the way your brain does. By presenting a lot of information in parallel, visually, they give you what you want without having to do any translation. You don't have to remember obscure command line options because your options are all presented at once. You don't have to use a command to list things and then check back at the listing to see what you need to change because it's already in front of you. I, and you, can absorb vast amounts of visual information at a glance and that's not what a command line interface gives you. And since I've seen more than fifteen years of new Linux commands, servers, and device naming conventions come and go, I'm pretty tired of having to keep referring to the man pages.

    So, propellor head wanna-bes, get over yourselves and use GUIs where GUIs make sense. Sure, there are bad GUIs that are not better matched to human cognition. Don't use them. And make the good ones better.

  15. I went through the install process and of course it was successful, and says I can log in. But when I attempt to log in using the IP that I was given, the webpage cannot be displayed, and error occurs or nothing occurs at all. Has anybody else had trouble with this or have any idea why this may be occurring?

Leave a comment

Your email address will not be published. Required fields are marked *

Current ye@r *