This guide will walk you through the steps to install iRedMail on CentOS 7. iRedMail is an easy to deploy, configure and manage Mail solution for Linux, FreeBSD and OpenBSD systems. With iRedMail, it becomes so easy to deploy an opensource, fully fledged, powerful mail server with features only available in commercial mail solutions.

Debian: Install and Setup iRedMail Mail Server on Debian Linux

Features of iRedMail Mail Server

  • Fully Open Source: All iRedMail components are built from open source applications. It has bee certified to run on Red Hat Enterprise Linux, CentOS, Debian, Ubuntu, FreeBSD, OpenBSD.
  • Top Security: All mail services are accessed through secured connections – Use of TLS to access POP3, IMAP and SMTP services. Web portals are access via HTTPS. Emails are encrypted in transit using TLS if possible.
  • Access to Webmail: An intuitive web portal is available for accessing and managing mails, folders, sieve filters – (Roundcube webmail or/and SOGo groupware).
  • Unlimited Accounts: You have the powers to create as many mail accounts (domains, users, mailing lists, admins) as you want.
  • Web Admin Panel: As admin user, you get a web admin panel where you manage mail accounts.
  • Antispam & Antivirus: SpamAssassin, ClamAV, SPF, DKIM, greylisting, whitelisting, blacklisting. Quarantining detected spam into SQL database for further review.
  • Support for OpenLDAP, MySQL, MariaDB, and PostgreSQL backend store for mail accounts. Choose what you like.

Setup requirements

There are few System Requirements which has to be satisfied to get a successful deployment of iRedMail on CentOS 7. The basic requirements are:

  • Fresh Installation of CentOS 7
  • 2 GB of memory required. If you plan to use it in production environment with multiple domains and user accounts, the add more memory – 4 GB+
  • Make sure 3 UID/GID are not used by other user/group: 2000, 2001, 2002.
  • Mail Server domain name
  • A sudo user account – User account added to wheel group or root user access

The next sections will discuss the actual steps to be followed when installing and configuring iRedMail Mail Server on CentOS 7.

Step 1: Add EPEL repository & Update System

Start by adding the EPEL repository and updating your CentOS 7 system.

sudo yum -y install epel-release
sudo yum -y update

After a system upgrade, we recommend doing a reboot.

sudo shutdown -r now

Step 2: Set SELinux in Permissive mode

iRedMail development team doesn’t provide SELinux policies for the service to work when SELinux is enforcing. You need to disable SELinux or configure it to run in Permissive mode.

sudo setenforce 0
sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config

Confirm current SELinux status after making the change.

$ sestatus 
SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   permissive
Mode from config file:          permissive
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Max kernel policy version:      31

Step 3: Set Server hostname

Set server hostname to a subdomain name configured in your DNS server.

export HOSTNAME=""
sudo hostnamectl set-hostname $HOSTNAME --static
sudo hostnamectl set-hostname $HOSTNAME --transient

After updating your hostname, logout and login again to update your working environment.

$ logout

Now add the IP address and DNS name mapping to the /etc/hosts file.

# Example
$ sudo vim /etc/hosts

To confirm DNS resolution, first install bind-utils package.

sudo yum -y install bind-utils

Then use host command for local resolution.

$ host has address

For record in DNS server, use the dig command.

$ dig A

Step 4: Download the latest release of iRedMail

Visit the iRedMail Download page to get the latest stable release of iRedMail for your platform.

install iRedMail CentOS 8 Linux 01

The latest stable release as of this writing is 1.2.

sudo yum -y install wget

Extract the downloaded archive file.

sudo yum -y install tar bzip2
tar xvf 1.2.tar.gz

Step 5: Install iRedMail on CentOS 7

An installer script is provided for automated installation of iRedMail Mail Server on CentOS 7. Change the working directory to the folder created.

cd iRedMail-*/

Start iRedMail installer.

chmod +x
sudo ./

The installer script will install dependencies required then ask you several simple questions required to setup iRedMail mail server on CentOS 7.

1 – Accept installation wizard

The first screen asks you whether to accept or decline installation of iRedMail on CentOS 7.

install iredmail centos 02

2 – Specify directory used to store mailboxes

Make sure you read the NOTES provided before changing default mailboxes store directory.

install iredmail centos 03

3 – Choose web server to use

Go with the default selection of nginx.

install iredmail centos 04

4 – Choose backend used to store mail account

Choose the one you’re familiar with for easier management and maintenance after installation. I’ll go with OpenLDAP.

install iredmail centos 05

5 – Specify LDAP Suffix

If you chose OpenLDAP as default backend for storing mail accounts, provide LDAP suffix. These are just components of your domain name.

install iredmail centos 06

6 – Set MySQL root password

Provide the password for MySQL root user.

install iredmail centos 07

7 – Add your first mail domain name

Provide your Mail domain name – This cannot be the same as server name.

install iredmail centos 08

7 – Provide Password for Mail domain Administrator

Input the mail domain administrator password and tick the features to enable.

install iredmail centos 10

Review provided values and start installation.

***************************** WARNING ***********************************
*                                                                       *
* Below file contains sensitive infomation (username/password), please  *
* do remember to *MOVE* it to a safe place after installation.          *
*                                                                       *
*   * /root/iRedMail-1.2/config
*                                                                       *
********************** Review your settings *****************************

* Storage base directory:               /var/vmail
* Mailboxes:                            
* Daily backup of SQL/LDAP databases:   
* Store mail accounts in:               OpenLDAP
* Web server:                           Nginx
* First mail domain name:     
* Mail domain admin:                    [email protected]
* Additional components:                Roundcubemail netdata iRedAdmin Fail2ban

< Question > Continue? [y|N]y

Type y or Y and press Enter to start installation. The script will install and configure all the packaged required automatically.

Accept Firewall configurations.

[ INFO ] Disable SELinux in /etc/selinux/config.
< Question > Would you like to use firewall rules provided by iRedMail?
< Question > File: /etc/firewalld/zones/iredmail.xml, with SSHD ports: 22. [Y|n]y
[ INFO ] Copy firewall sample rules: /etc/firewalld/zones/iredmail.xml.
< Question > Restart firewall now (with ssh ports: 22)? [y|N]y
[ INFO ] Restarting firewall ...
< Question > Would you like to use MySQL configuration file shipped within iRedMail now?
< Question > File: /etc/my.cnf. [Y|n]y
[ INFO ] Copy MySQL sample file: /etc/my.cnf.
[ INFO ] Enable SSL support for MySQL server.
[ INFO ] Updating ClamAV database (freshclam), please wait ...
ClamAV update process started at Thu Oct 24 20:38:51 2019
Downloading main.cvd [100%]
main.cvd updated (version: 58, sigs: 4566249, f-level: 60, builder: sigmgr)
Downloading daily.cvd [100%]
daily.cvd updated (version: 25612, sigs: 1954294, f-level: 63, builder: raynman)
Downloading bytecode.cvd [100%]
bytecode.cvd updated (version: 331, sigs: 94, f-level: 63, builder: anvilleg)
Database updated (6520637 signatures) from (IP:

Successful installation output:

* URLs of installed web applications:
* - Roundcube webmail:
* - netdata (monitor):
* - Web admin panel (iRedAdmin):
* You can login to above links with below credential:
* - Username: [email protected]
* - Password: password
* Congratulations, mail server setup completed successfully. Please
* read below file for more information:
*   - /root/iRedMail-1.2/
* And it's sent to your mail account [email protected]
********************* WARNING **************************************
* Please reboot your system to enable all mail services.

Reboot your Server to enable mail services.

sudo reboot

Step 6: iRedMail Access Credentials

Your iRedMail Server details & Access credentials are store in the file “/root/iRedMail-1.x/config” if script was run as root user or “./iRedMail-1.x/config” if the script was executed as normal user.

The URLs of installed web applications are shown after a successful installation of iRedMail on CentOS 7.

Login to the portals using the credentials saved.

install iredmail centos 11

Here is the default look of iRedMail Admin dashboard on initial login.

install iredmail centos 12

Step 7: Secure iRedMail With Let’s Encrypt SSL Certificates

iRedMail generates self-signed certificates during installation, you have an option of getting a Commercial certificate or using Let’s Encrypt free SSL Certificates. Refer to our guide below.

Secure iRedMail Server with Let’s Encrypt SSL Certificate

Our next guide below covers addition of domains and users to iRedMail Mail server:

How To Add Domains and User Accounts to iRedMail Mail Server

Related mail guides:

Install Zimbra on Ubuntu 18.04

Install and Configure Postal Mail Server on Ubuntu 18.04 LTS

Your support is our everlasting motivation,
that cup of coffee is what keeps us going!

As we continue to grow, we would wish to reach and impact more people who visit and take advantage of the guides we have on our blog. This is a big task for us and we are so far extremely grateful for the kind people who have shown amazing support for our work over the time we have been online.

Thank You for your support as we work to give you the best of guides and articles. Click below to buy us a coffee.


Please enter your comment!
Please enter your name here