How can I install Webmin on FreeBSD 12?. 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. 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.

Install Webmin on FreeBSD 12

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/setup.sh

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: <Enter admin Password>
Password again: <Conform admin Password>
Use SSL (y/n): y

Creating web server config files..
..done
Creating access control file..
..done
Creating start and stop scripts..
..done
Copying config files..
..done
Changing ownership and permissions ..
..done
Running postinstall scripts ..
..done
Enabling background status collection ..
..done

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

We have installed and configured Webmin on FreeBSD 12. 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 https://192.168.122.197:10000

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.

Also check:

How to Install Node.js 10 LTS & NPM on FreeBSD 12

How to Install MariaDB 10.3 on FreeBSD 12

How to Install PHP 7.2 on FreeBSD 12