Install iRedMail on FreeBSD inside Jail (with ezjail)



System Requirements

IMPORTANT WARNING: iRedMail is designed to be deployed on a FRESH server system, which means your server does NOT have mail related components installed, e.g. MySQL, OpenLDAP, Postfix, Dovecot, Amavisd, etc. iRedMail will install and configure them for you automatically. Otherwise it may override your existing files/configurations althought it will backup files before modifying, and it may not be working as expected.


Install sysutils/ezjail and add required settings

# cd /usr/ports/sysutils/ezjail/
# make install clean
# Start ezjail while system start up

# Enable sysvipc. Required by PostgreSQL.
# reboot

Create Jail

# ezjail-admin install -p
# ezjail-admin create -r /jails/ 'em0|'
# service ezjail restart
# ezjail-admin list
STA JID  IP               Hostname                          Root Directory
--- ---- ---------------- --------------------------------- ------------------------
DS  1                    /jails/

Install iRedMail

We can now enter this Jail with below command:

# ezjail-admin console
# File: /etc/resolv.conf
# -- For FreeBSD 10 or later releases --
# pkg install bash-static

# -- For FreeBSD 9 or earlier releases --
# pkg_add -r bash-static

Start iRedMail installer

It's now ready to start iRedMail installer inside Jail, it will ask you several simple questions, that's all required to setup a full-featured mail server.

# bash          # <- start bash shell, REQUIRED
# cd /root/iRedMail/

Note to Chinese users

Our domain name has been blocked in mainland China for years (since Jun 04, 2011), please run command below to finish the installation:


Screenshots of installation:


There's no big difference between available backends, so it's strongly recommended to choose the one you're familiar with for easier management and maintenance after installation.

To MySQL/MariaDB/PostgreSQL users

If you choose to store mail accounts in MySQL/MariaDB/PostgreSQL, iRedMail installer will generate a random, strong password for you. You can find it in file

Note: This account is an admin account and a mail user. That means you can login to webmail and admin panel (iRedAdmin) with this account, login username is full email address.

After answered above questions, iRedMail installer will ask you to review and confirm to start installation. It will install and configure required packages automatically. Type y or Y and press Enter to start.

Important things you MUST know after installation


The weakest part of a mail server is user's weak password. Spammers don't want to hack your server, they just want to send spam from your server. Please ALWAYS ALWAYS ALWAYS force users to use a strong password.

Access webmail and other web applications

After installation successfully completed, you can access web-based programs if you choose to install them. Replace your_server below by your real server hostname or IP address.

Get technical support

Please post all issues, feedbacks, feature requests, suggestions in our online support forum, it's more responsible than you expected.

Some Tips for FreeBSD Jail

Allow ping in Jail

export jail_mx_example_com_parameters="allow.raw_sockets=1"

Share /usr/ports/distfiles with Jail

To share /usr/ports/distfiles/ with Jail, please append below line in /etc/fstab.mx_example_com:

Jail will set ports tree directory to /var/ports instead of /usr/ports in /jails/ by default, you can either use this default setting or change it to /usr/ports.

# Part of file: /etc/
/usr/ports/distfiles /jails/ nullfs rw 0 0

Create directory /usr/jails/basejail/var/ports/distfiles:

# mkdir /usr/jails/basejail/var/ports/distfiles