I have upgraded some of my systems from Centos 6 to Centos 7. There are many new features in Centos 7 that Centos 6 does not have, but the way Centos 7 work is sort of different from Centos 6. Back to our topic, I’m going to show you how to install Webmin on Centos 7 / RHEL 7. Webmin is a great open source web based control panel for Linux. You can pretty much mange everything on your Centos 7 system remotely through Webmin like DNS, Apache, MySQL, DHCP, Network, Iptables, Firewall, Cron, etc… For someone who is new to Linux administration, a control panel like Webmin is a great start.
webminThere are two way to install Webmin on CentOS 7, you can either download and install Webmin’s RPM package or install Webmin using the Webmin YUM repository. Before you install Webmin, there are a few dependencies you should install to your system first
# yum -y install perl perl-Net-SSLeay openssl perl-IO-Tty
Then import Webmin’s PGP key into RPM’s key database
# rpm --import http://www.webmin.com/jcameron-key.asc
Configure firewalld to allow Webmin
CentOS 7 has adopted firewalld by default over the previous iptables, to make firewalld to work with Webmin you will have to configure your firewall to allow webmin.
Create a new firewalld service for webmin
# nano /etc/firewalld/services/webmin.xml
with the content
<?xml version="1.0" encoding="utf-8"?> <service> <short>Webmin</short> <description>web-based interface for system administration for Unix</description> <port protocol="tcp" port="10000"/> </service>
Add Webmin service to public zone
# firewall-cmd --permanent --zone=public --add-service=webmin
Reload firewalld
# firewall-cmd --reload
Once you reloaded firewalld, check to see if webmin is allowed on firewalld
# firewall-cmd --zone=public --list-all
You should see webmin is listed
public (default) interfaces: sources: services: dhcpv6-client http https ssh webmin
Now let’s install Webmin on CentOS 7, I will show you both ways installing the RPM file or using the Webmin YUM repository. Take your pick.
Install Webmin on CentOS 7 with RPM
If you want to install with the RPM file, first you will have to visit http://www.webmin.com/download.html to download the latest Webmin’s RPM file for CentOS 7. Look for “RPM suitable for Redhat, Fedora, CentOS, SuSE or Mandrake Linux”, the file should end with .rpm file extension. At the time I’m writing this tutorial, the latest RPM Webmin file is webmin-1.780-1.noarch.rpm
# cd /tmp # wget http://prdownloads.sourceforge.net/webadmin/webmin-1.780-1.noarch.rpm # rpm -U webmin*.rpm
Install Webmin on CentOS 7 Using the Webmin YUM repository
Create webmin.repo file
# nano /etc/yum.repos.d/webmin.repo
[Webmin] name=Webmin Distribution Neutral #baseurl=http://download.webmin.com/download/yum mirrorlist=http://download.webmin.com/download/yum/mirrorlist enabled=1
# yum install webmin
Using Webmin on CentOS 7
After the installation process is done, you now can use Webmin’s web interface with a web browser. The new default webmin installation will be using port 10000 over https protocol. The URL should be
https://yourhostname.com:10000
or
https://yourserverip:10000
When you go to webmin on your system, you will see warning about “connection is not private” or “Invalid certificate” or “Your connection is not secure” depends on what web browser you are using, since webmin’s default installation will use a self-signed SSL certificate. You can use purchase a signed certificates comodo, geotrust, thawte, godaddy, symantec, etc… and load it to webmin later. Anyway you can ignore the SSL warning for now and go to webmin’s login page.
You can login to your webmin with root user & root’s password.
The first screen after you login to webmin is system information which show you some basic information about your system. On the left hand there are many options for you to control your system with “clicks” if you are not the “terminal” guy.