This tutorial is available in other languages. Help translate more
Attention
Check out the lightweight on-premises email archiving software developed by iRedMail team: Spider Email Archiver.
mx.example.com
and IP address 172.16.244.254
for our Jail server.Notes:
Warning
Port 25 is required by mail server but many ISPs block it by default.
Port 25 is used for communication between mail servers, it must be open, otherwise your mail server won't be able to receive and send emails. Please contact your ISP to make sure it's not blocked, or ask them to unblock it.
sysutils/ezjail
for FreeBSD.# cd /usr/ports/sysutils/ezjail/
# make install clean
/etc/rc.conf
:# Start ezjail while system start up
ezjail_enable="YES"
# Enable sysvipc. Required by PostgreSQL.
jail_sysvipc_allow="YES"
/etc/sysctl.conf
, this is required if you're
going to install iRedMail with PostgreSQL backend.security.jail.sysvipc_allowed=1
/etc/rc.conf
.# reboot
# ezjail-admin install -p
Create a new jail
mx.example.com
172.16.244.254
to network interface em0
/jails/mx.example.com
# ezjail-admin create -r /jails/mx.example.com mx.example.com 'em0|172.16.244.254'
# service ezjail restart
# ezjail-admin list
STA JID IP Hostname Root Directory
--- ---- ---------------- --------------------------------- ------------------------
DS 1 172.16.244.254 mx.example.com /jails/mx.example.com
We can now enter this Jail with below command:
# ezjail-admin console mx.example.com
/etc/resolv.conf
with valid DNS server address(es). For example:# File: /etc/resolv.conf
nameserver 172.16.244.2
bash-static
, it's required by iRedMail.# pkg install bash-static
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/
# LOCAL_ADDRESS='172.16.244.254' bash iRedMail.sh
/var/vmail/
.Note
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 iRedMail.tips
.
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.
Choose optional components
Attention
Which webmail should you choose? Roundcube or SOGo?
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.
Warning
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.
Read file /root/iRedMail-x.y.z/iRedMail.tips
first, it contains:
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.
Please post all issues, feedbacks, feature requests, suggestions in our online support forum, it's more responsible than you expected.
ping
in Jail/etc/sysctl.conf
to allow to use ping
command
inside Jail:security.jail.allow_raw_sockets=1
/usr/local/etc/ezjail/mx_example_com
to allow ping
inside Jail:export jail_mx_example_com_parameters="allow.raw_sockets=1"
/usr/ports/distfiles
with JailTo 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/mx.example.com/etc/make.conf
by default, you can either use this default setting or change it to/usr/ports
.
# Part of file: /etc/fstab.mx_example.com
/usr/ports/distfiles /jails/mx.example.com/basejail/var/ports/distfiles nullfs rw 0 0
Create directory /usr/jails/basejail/var/ports/distfiles
:
# mkdir /usr/jails/basejail/var/ports/distfiles