Webmin Administration Tool

Graphical Systems Administration Tool for Linux

What is Webmin?


Webmin is a web-based interface for the system administration of Linux/Unix type operating systems. Webmin uses a web browser as its graphical user interface. Webmin allows you to manage user accounts, Apache, DNS, file sharing and much more all from a simple web interface. Webmin eliminates the need for manually editing complex configuration files.



An official wiki page has been created containing useful information regarding installation, configuration and tutorials. This can be found here: Webmin Wiki Page


Downloading Webmin


Webmin is available for many different operating systems. In the examples that follow I will use the rpm files for a CentOS/RHEL installation and the Debian packages for a Debian/Ubuntu installation. The packages can be manually downloaded for the relevant architecture from the following links:

Download rpm Packages
Download Debian Packages

All other Operating Systems can be found under the main Download page Downloads Page



Install Webmin on Ubuntu 14.04 LTS


To install webmin on an Ubuntu 14.04 LTS system simply follow the process below:


Add the Webmin repository to your repository source list


Issue the following command to edit your source.list file:



sudo vi /etc/apt/sources.list

You will be prompted to enter your password. In the example command I have used "vi" as my editor, you can use any editor of your choice. Once the file has opened, add the following lines to the bottom of the file and save your changes:



## Webmin Official Repo
deb http://download.webmin.com/download/repository sarge contrib

Now run the following command to add a new key:



wget -q http://www.webmin.com/jcameron-key.asc -O- | sudo apt-key add -

Now we can install webmin by issuing the following commands:



$ sudo apt-get update
$ sudo apt-get install webmin

At the end of the installation, you should see a message indicating that webmin has been successfully installed.


Accessing webmin via your browser


You may login to your server via your internet browser using the IP address of your server followed by the default port of 10000

https://192.168.0.18:10000

In the above example, the IP address of my Ubuntu system is "192.168.0.18".

First you will need to enter a userid and password of an account that can run sudo commands as root.


Webmin login screen

Once you have entered your credentials you should now see a screen similar to the one below:


Webmin login screen

For an overview of the Administration Categories, see "Overview" section towards the bottom of this page.



Installing Webmin on a Red Hat based distribution (CentOS/Fedora)


Issue the following commands to download the rpm packages and verification keys:

Before we issue the command "wget" to retrieve our files. You may need to install the "wget" utility first. To do this simply issue the following commands:



# yum list installed | grep wget

If you receive no output back from this command, then you will need to install "wget" with the following command.



# yum install wget -y

Now if we run the "yum list installed" command again for wget, we can now see that this utility has been installed:



# yum list installed | grep wget
wget.x86_64                       1.14-10.el7                          @base

Next we need to change to our "/tmp" directory and issue the following "wget" commands to retrieve our files.



# cd /tmp
# wget http://www.webmin.com/jcameron-key.asc
# wget http://prdownloads.sourceforge.net/webadmin/webmin-1.690-1.noarch.rpm


Install Perl


Before we install our downloaded packages, we must verify that "perl" has been installed. To check if you have perl installed on your system simply issue the following command:



# rpm -qa perl

If you do not see any output back from this command, then you will need to install this component. This is easily done by using the following "yum install" command:



# yum install perl -y

You can verify that perl is now installed by issuing the command "perl -v". This will report back that perl is installed and its version number.



# perl -v

This is perl 5, version 16, subversion 3 (v5.16.3) built for x86_64-linux-thread-multi

Next we need to verify the integrity of our rpm download by verifying the PGP information. You will need to import the key into your RPM's key database with the command:



rpm --import jcameron-key.asc

Now issue the following rpm command to install our package:



# rpm -ihv webmin-1.690-1.noarch.rpm

The output from the above command should be similar to the following output:



[root@centos07a tmp]# rpm -ihv webmin-1.690-1.noarch.rpm
Preparing...                          ################################# [100%]
Operating system is CentOS Linux
Updating / installing...
   1:webmin-1.690-1                   ################################# [100%]
Webmin install complete. You can now login to http://centos07a:10000/
as root with your root password.

webmin config file


If you need to manually edit your webmin configuration file, this can be found at the following location:
/etc/webmin/miniserv.conf


Firewall Entry for Port 10000


Before we attempt to access the graphical interface using our browser, you may need to add a new rule to open port "10000" on your firewall. Port 10000 is the default port used by webmin. To do this simply add the following line to your firewalls configuration, normally after the line for ssh on port 22 and port 80:



-A INPUT -p tcp -m tcp --dport 10000 -j ACCEPT

The configuration file for your firewall is located at: /etc/sysconfig/iptables

For further information regarding working with firewalls see our Iptables Guide


Accessing webmin via your browser


To access the webmin interface, you will need to type either the IP address of your system or its hostname into your browser along with the associated port (10000): http://192.168.0.16:10000

In this example I have used the IP address of my CentOS server.

Once you have entered your IP/Hostname information, you should now see a screen similar to the one below:


Webmin login screen

In this example, I have logged in using the "root" account along with its associated password. If you receive an error on screen "Require package-updates/install_check.pl failed", I fixed this by installing the following component: "perl-Data-Dumper.x86_64. This can be installed with the following command:



yum install perl-Data-Dumper.x86_64

Now if you refresh your browser, you should see a screen similar to the one below:


Webmin Home screen

Overview of Administration Categories


The left hand screen covers the following categories: Webmin, System, Servers, Others, Networking, Hardware, Cluster, Modules and System Information. By clicking on each heading a sub menu will open allowing you to carry out many different administration tasks. Below is a quick overview of some of the sub-headings.


Webmin


Under this heading you can make backups of your webmin configuration files, modify configuration, modify webmin Language settings and themes and create webmin users.


System


Under the "System" heading you can control which services start at boot, change or reset user's passwords, View Disk and Network filesystems, create scheduled backups in a TAR format, restore backups, manage log file rotation, Add new PAM services, display running processes, schedule cron jobs to run, check for updated packages, view system documentation, view system logs and manage users and groups.


Servers


Under servers you can manage your email servers and SSH Servers.


Others


Under this section you can execute commands directly, create custom commands, manage files, view http Tunnels, view and install perl modules, create protected web directories, manage ssh logins, monitor critical services and send alerts, terminal login, Upload and Download files to server.


Networking


From the Networking heading you can monitor your systems bandwidth, manage your firewall, Modify Network Configuration settings, manage NIS client and Server settings, manage TCP wrappers (hosts.allow/hosts.deny)


Hardware


From the Hardware heading you can manage LVM (Logical Volume Management) settings such as Volume Groups, Physical Volumes and Logical Volumes. Basic partition management can also be carried out. Manage printers that utilise CUPS. Manage System and Hardware clock times.


Cluster


Under the Cluster option you are allowed to manage multiple servers.


System Information


This heading displays hostname, OS information, Kernel and CPU information, Load, CPU Usage, Number of running processes, physical and virtual memory utilization, Disk information and package updates.