About

Usermin is a web-based interface for webmail, password changing, mail filters, fetchmail and much more. It is designed for use by regular non-root users on a Unix system, and limits them to tasks that they would be able to perform if logged in via SSH or at the console.

Most users of Usermin are sysadmins looking for a simple webmail interface to offer their customers. Unlike most other webmail solutions, it can be used to change passwords, read email with no additional servers installed (like IMAP or POP3), and setup users’ configurations for forwarding, spam filtering and autoreponders.

Usermin also provides web interfaces for viewing and managing data in MySQL and PostgreSQL databases, editing Apache .htaccess configuration files, running commands on the server, and full featured File Manager. The administrator has full control over which of these modules are available to users.

Integration

The easiest way to configure Usermin is via the Webmin ⇾ Usermin Configuration module in Webmin.

Repository

Setup

The simplest and best way to get Usermin is to use automatic usermin-setup-repos.sh script to configure repositories on your RHEL or Debian derivative systems. It can be done in two easy steps:

curl -o usermin-setup-repos.sh https://raw.githubusercontent.com/webmin/webmin/master/setup-repos.sh
sh usermin-setup-repos.sh

This script will automatically setup our repository and install our GPG keys on your system, and provide usermin package for installation and easy upgrades in the future. The supported and tested systems are Red Hat Enterprise Linux, Alma, Rocky, Oracle, CentOS Stream, Fedora or Debian, Ubuntu, Kali.

Install

If Usermin repository was setup using our usermin-setup-repos.sh as described earlier then Usermin can be installed as easy as:

RHEL and derivatives

dnf install usermin

Debian and derivatives

apt-get install usermin --install-recommends

Access

After successful Usermin installation, you can access its interface by entering https://<Your-Server-IP>:20000 in your browser. Check that your firewall configuration allows access through port 20000.

Manual

The latest Usermin distribution is available in various package formats for download:

rpmRed Hat Enterprise Linux, Alma, Rocky, Oracle, CentOS Stream, Fedora, openSUSE

debDebian derivatives (Ubuntu, Kali, Parrot, Pop!, Lite, Devuan)

tarFreeBSD or any other Linux distribution

Checksum Verification

To verify that you have downloaded Usermin fully and correctly, you can use the command sha256sum on the downloaded file, and compare it against those listed below:

FileSHA256 Checksum
usermin_2.102_all.deb327fa7e1b42405beb2037349268f65926157163809b33ce580d50ddb20e7ae4b
usermin-2.102-1.noarch.rpm225c32f80221e9134aae0fb37a977131fd4e89ed5df0e5b71e90c6dfd8840cac
usermin-2.102-1.src.rpm7a3d82231b76d401a470205aa6fc66a021762ec784f1e2cdcd79c2e52c1bcc71
usermin-2.102.tar.gze1b3188cb9d2bab39b0e4517767e6e49946fd5d81e35c8e4f8ebbd4b1da41842

Configure

If Usermin package was downloaded manually it can be installed:

RHEL and derivatives

dnf install ./usermin-current.rpm

Debian and derivatives

apt-get install --install-recommends ./usermin-current.deb

FreeBSD and any other Linux installation from source

# Change directory
cd /tmp
# Uncompress
gunzip usermin-current.tar.gz
tar xf usermin-current.tar.gz
cd usermin-current
# Install
./setup.sh /usr/local/usermin
More details for installations from source..

Because it allows logins by any Unix user on your system, Usermin needs some way of checking user passwords. By default, this will be done by just reading the /etc/shadow file directly, but if your system uses NIS this will not work. Instead, you will need to install the Authen::PAM Perl module and configure Usermin a PAM service.

On Linux, this typically involves creating the file /etc/pam.d/usermin containing:

#%PAM-1.0
 auth required pam_unix.so shadow nullok
 account required pam_unix.so
 password required pam_unix.so shadow nullok use_authtok
 session required pam_unix.so

Under macOS, the PAM service file has to be slightly different. If you are running macOS, /etc/pam.d/usermin should instead contain:

# login: auth account password session auth sufficient pam_opendirectory.so try_first_pass auth required pam_deny.so account required pam_permit.so password required pam_deny.so session required pam_permit.so

On FreeBSD, you probably will not need to edit the PAM config file /etc/pam.conf as it is setup to do Unix authentication for unknown services by default.

If you installed it by specifying an installation directory parameter to setup.sh as the instructions above show, i.e. /usr/local/usermin, the original usermin-current directory can now be safely deleted.

The source package can be installed on any of the supported OS, such as FreeBSD, macOS, and all other flavors of Linux. However, if your system supports one of the other package formats like rpm or deb packages, it is recommended to install it from that type of package.

Standard Modules

The standard modules that you may have deleted from Usermin on your system can be re-installed by downloading using this link.

Supported Languages

Translation of Usermin modules into different languages is done by volunteers. The partial module translations made by humans are covered by automated language manager script.

All translated modules have a main language file without extension, i.e. de and automatically translated variant, i.e. de.auto. Volunteers willing to contribute to the translations, should take automatically translated strings from .auto language file (located in lang/ or in ulang/ directory of each module), review, edit and move them to the main language file.

Each .auto file is correctly formatted, and only the language may need adjustments. It's important to maintain the exact formatting of the language strings, including the presence or absence of dots at the beginning or end of strings, as well as other formatting details.

All language files must use utf-8 encoding. The following languages are supported by the current Webmin version:

CodeLanguageHuman TranslatedMachine Translated
enEnglish100%100%
deDeutsch98%100%
cacatalà97%100%
nonorsk91%100%
nlNederlands89%100%
frfrançais65%100%
plpolski65%100%
humagyar53%100%
csčeština62%100%
esespañol58%100%
ja日本語53%100%
ruрусский51%100%
pt_BRportuguês (Brasil)44%100%
ko한국어42%100%
zh中文 (简体)40%100%
ukукраїнська39%100%
ititaliano38%100%
zh_TW中文 (繁體)34%100%
trTürkçe34%100%
svsvenska31%100%
bgбългарски30%100%
faفارسی26%100%
msMelayu16%100%
hrhrvatski13%100%
elΕλληνικά11%100%
skslovenčina11%100%
ptportuguês10%100%
dadansk6%100%
arالعربية3%100%
eueuskara3%100%
fisuomi1%100%
afAfrikaans0%100%
beбеларуская0%100%
heעברית0%100%
ltlietuvių0%100%
lvlatviešu0%100%
mtMalti0%100%
roromână0%100%
slslovenščina0%100%
thไทย0%100%
urاردو0%100%
viTiếng Việt0%100%

Development Builds

There are development pre-release and nightly builds available for testing purposes only. These builds may be unstable or lack certain features. Use them at your own risk!

Pre-release Builds

Pre-release builds can be found on devel.webmin.com page.

Nightly Builds

Nightly builds can be found on builds.webmin.dev page.