How To Install Webmin on FreeBSD 12|FreeBSD 13

Posted on 133 views

How can I install Webmin on FreeBSD 12|FreeBSD 13?. Webmin is a popular open source web-based system configuration tool for Linux and Unix systems. With Webmin you can set up user accounts, manager Apache web server, DNS Server, samba and File configuration, email servers, package management, manage database servers e.t.c.

It is easy to install Webmin on FreeBSD 12|FreeBSD 13. The package can be installed from binary repository or by building Webmin from source. The choice is yours, but in this tutorial, we’ll go with binary installation of Webmin on FreeBSD 12|FreeBSD 13.

Install Webmin on FreeBSD 12|FreeBSD 13

FreeBSD ship with package manager called pkg which we’ll use to install Webmin.

First update your FreeBSD package index

# pkg update
 Updating FreeBSD repository catalogue…
 Fetching meta.txz: 100%    944 B   0.9kB/s    00:01    
 Fetching packagesite.txz: 100%    6 MiB 668.1kB/s    00:10    
 Processing entries: 100%
 FreeBSD repository update completed. 32049 packages processed.
 All repositories are up to date.

Once the update returns a success, install Webmin on FreeBSD 12 by running the command below:

# pkg install webmin
 Updating FreeBSD repository catalogue…
 FreeBSD repository is up to date.
 All repositories are up to date.
 The following 8 package(s) will be affected (of 0 checked):
 New packages to be INSTALLED:
     webmin: 1.900
     p5-Net-SSLeay: 1.85
     perl5: 5.28.1
     p5-Authen-PAM: 0.16_2
     python27: 2.7.15
     readline: 7.0.5
     libffi: 3.2.1_3
     p5-IO-Tty: 1.12_2
 Number of packages to be installed: 8
 The process will require 210 MiB more space.
 42 MiB to be downloaded.
 Proceed with this action? [y/N]: y
 [1/8] Fetching webmin-1.900.txz: 100%   16 MiB   1.2MB/s    00:15    
 [2/8] Fetching p5-Net-SSLeay-1.85.txz: 100%  253 KiB 258.8kB/s    00:01    
 [3/8] Fetching perl5-5.28.1.txz: 100%   14 MiB 183.5kB/s    01:20    
 [4/8] Fetching p5-Authen-PAM-0.16_2.txz: 100%   21 KiB  21.3kB/s    00:01    
 [5/8] Fetching python27-2.7.15.txz: 100%   11 MiB 291.0kB/s    00:38    
 [6/8] Fetching readline-7.0.5.txz: 100%  332 KiB 113.4kB/s    00:03    
 [7/8] Fetching libffi-3.2.1_3.txz: 100%   34 KiB  35.0kB/s    00:01    
 [8/8] Fetching p5-IO-Tty-1.12_2.txz: 100%   30 KiB  30.5kB/s    00:01    
 Checking integrity… done (0 conflicting)
 [1/8] Installing perl5-5.28.1…
 [1/8] Extracting perl5-5.28.1: 100%
 [2/8] Installing readline-7.0.5…
 [2/8] Extracting readline-7.0.5: 100%
 [3/8] Installing libffi-3.2.1_3…
 [3/8] Extracting libffi-3.2.1_3: 100%
 [4/8] Installing p5-Net-SSLeay-1.85…
 [4/8] Extracting p5-Net-SSLeay-1.85: 100%
 [5/8] Installing p5-Authen-PAM-0.16_2…
 [5/8] Extracting p5-Authen-PAM-0.16_2: 100%
 [6/8] Installing python27-2.7.15…
 [6/8] Extracting python27-2.7.15: 100%
 [7/8] Installing p5-IO-Tty-1.12_2…
 [7/8] Extracting p5-IO-Tty-1.12_2: 100%
 [8/8] Installing webmin-1.900…
 [8/8] Extracting webmin-1.900: 100%

After installing Webmin for the first time you should configure Webmin by running the following command as root:

# /usr/local/lib/webmin/
 Welcome to the Webmin setup script, version 1.900        * 
 Webmin is a web-based interface that allows Unix-like operating
 systems and common Unix services to be easily administered.
 Installing Webmin in /usr/local/lib/webmin …
 Webmin uses separate directories for configuration files and log files.
 Unless you want to run multiple versions of Webmin at the same time
 you can just accept the defaults.
 Log file directory [/var/log/webmin]: 
 Webmin is written entirely in Perl. Please enter the full path to the
 Perl 5 interpreter on your system.
 Full path to perl (default /usr/local/bin/perl): 
 Testing Perl …
 Perl seems to be installed ok
 Operating system name:    FreeBSD
 Operating system version: 12.0
 Webmin uses its own password protected web server to provide access
 to the administration programs. The setup script needs to know :
 What port to run the web server on. There must not be another
 web server already using this port.
 The login name required to access the web server.
 The password required to access the web server.
 If the webserver should use SSL (if your system supports it).
 Whether to start webmin at boot time. 
 Web server port (default 10000): 
 Login name (default admin): 
 Login password: 
 Password again: 
 Use SSL (y/n): y
 Creating web server config files..
 Creating access control file..
 Creating start and stop scripts..
 Copying config files..
 Changing ownership and permissions ..
 Running postinstall scripts ..
 Enabling background status collection ..

Ensure you set

  • Config file directory
  • Log file directory
  • Full path to Perl
  • Web server port (default 10000)
  • Login name (default admin)
  • Login password
  • SSL option (Yes/No)

Start Webmin service on FreeBSD 12|FreeBSD 13

We have installed and configured Webmin on FreeBSD 12|FreeBSD 13. The last step is to set Webmin service to start on boot and start the service.

Set Webmin service to start on system boot:

# sysrc webmin_enable="YES"
webmin_enable:  -> YES

The above command will add the line webmin_enable="YES" to your /etc/rc.conf

To start Webmin for the first time, run:

# service webmin start
 Starting webmin.
 Cron 15469220631494 missing any time spec

The service should be listening on port 10000

# sockstat -4 -6 |grep 10000
 root     perl       1536  5  tcp4   *:10000               *:*
 root     perl       1536  6  udp4   *:10000               *:*

Access Webmin Interface

open your server URL/IP address port 10000, e.g

If you get “Invalid Certificate”  warning, click Continue Anyway


Login with username specified during installation and its password.


You now have Webmin installed on FreeBSD 12. Enjoy easy administration of your FreeBSD server from a web interface.



Gravatar Image
A systems engineer with excellent skills in systems administration, cloud computing, systems deployment, virtualization, containers, and a certified ethical hacker.