Install/iRedMail/FreeBSD.Jail

From iRedMail

Revision as of 12:19, 26 August 2012 by ZhangHuangbin (Talk | contribs)
Jump to: navigation, search

Contents



This is a DRAFT, still working in progress. Don't try it on production server.


Summary

Requirements

  • iRedMail-0.8.2 or later releases.

Preparation

  • Prepare IP address used for Jail. Here we use internal IP address 172.16.122.244 for example. We created an alias IP address on network interface em0, so we have below setting in /etc/rc.conf for this IP address:
{{cfg|/etc/rc.conf|
ifconfig_em0_alias0="inet 172.16.122.244 netmask 255.255.255.0"

Prepare Jail

  • Install ezjail:
Terminal:
# cd /usr/ports/sysutils/ezjail/
# make install clean
  • Add below setting in /etc/rc.conf:
File: /etc/rc.conf
# Start ezjail while system start up
ezjail_enable="YES"

# Set security.jail.allow_raw_sockets=1 to allow PostgreSQL initial database.
jail_sysvipc_allow="YES"
  • Rebooting system is required after changing /etc/rc.conf.
Terminal:
# reboot
  • After system start up, create Jail for domain name mx.example.com, bound to internal IP address 172.16.122.244. All files are placed under /jails/mx.example.com:
Terminal:
# ezjail-admin create -r /jails/mx.example.com mx.example.com 172.16.122.244
  • Start Jail.
Terminal:
# /usr/local/etc/rc.d/ezjail restart
  • List all Jails:
Terminal:
# jls
   JID  IP Address      Hostname                      Path
    10  172.16.122.244  mx.example.com              /jails/mx.example.com

It shows JID 10 of our newly created Jail in the command output, we can now enter this Jail with command jexec.

Terminal:
# jexec 10 sh
  • In Jail, update /etc/resolv.conf with valid DNS server address(es). For example:
File: Jail: /etc/resolv.conf
nameserver 172.16.122.2
  • In Jail, install binary package bash. Required by iRedMail.
Terminal:
Jail # pkg_add -r bash-static
  • Start iRedMail installer with your Jail ip address:
Terminal:
Jail # bash
bash # cd /root/iRedMail/
bash # LOCAL_ADDRESS='192.168.1.2' bash iRedMail.sh
Personal tools