iredmail-doc/en_US/installation/0-install.iredmail.on.rhel.md

8.7 KiB

Install iRedMail on Red Hat Enterprise Linux, CentOS

[TOC]

!!! attention

It's recommended to use the new __iRedMail Easy__ deployment and support
platform to deploy and keep your mail server up to date, technical support
is available through the ticket system.

Read more: [iRedMail Easy - Meet our new deployment and support platform](./iredmail-easy.getting.start.html)

System Requirements

!!! 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.
* Amazon AWS EC2 blocks port 25 by default, if you plan to deploy mail
  server with AWS, you need to [remove the throttle on port
  25](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-port-25-throttle/).

To install iRedMail on RHEL or CentOS Linux, you need:

  • A FRESH, working RHEL or CentOS system. Supported releases are listed on Download page.
  • At least 2 GB memory is required for a low traffic production mail server, but 4 GB is strongly recommended to prevent ClamAV eating too much memory for big virus signature database.
  • Make sure 3 UID/GID are not used by other user/group: 2000, 2001, 2002.

Preparations

Set a fully qualified domain name (FQDN) hostname on your server

No matter your server is a testing machine or production server, it's strongly recommended to set a fully qualified domain name (FQDN) hostname.

Enter command hostname -f to view the current hostname:

$ hostname -f
mx.example.com

On RHEL/CentOS/Scientific Linux, hostname is set in two files:

  1. /etc/hostname:

    mx.example.com
    
  2. /etc/hosts: hostname <=> IP address mapping. Warning: List the FQDN hostname as first item.

    127.0.0.1   mx.example.com mx localhost localhost.localdomain
    

Verify the FQDN hostname. If it wasn't changed, please reboot server to make it work.

$ hostname -f
mx.example.com

Disable SELinux.

iRedMail doesn't work with SELinux, so please disable it by setting below value in its config file /etc/selinux/config. After server reboot, SELinux will be completely disabled.

SELINUX=disabled

If you prefer to let SELinux prints warnings instead of enforcing, you can set below value instead:

SELINUX=permissive

Disable it immediately without rebooting your server.

# setenforce 0

Enable yum repositories for installing new packages

  • On CentOS:

    • Enable official yum repositories. On CentOS 8, please make sure repo AppStream and PowerTools are enabled.
    • Enable repo epel.
    • DISABLE all other third-party yum repositories to avoid package conflict.
  • On Red Hat Enterprise Linux:

    • Enable Red Hat Network to install packages, or create a local yum repository with DVD/CD ISO images.
    • Enable epel repo (you can enable it by installing package epel-release)

!!! attention

Since official RHEL/CentOS and EPEL repositories don't have all
required packages with the needed features, iRedMail team has built these
packages and made them available trough the iRedMail repository enabled by
default at installation time. You can view all available packages
[here](https://dl.iredmail.org/yum/rpms/), please check `README` and
`ChangeLog` files under each directory for more details. Source RPMs (srpm)
used by iRedMail team to build the binary packages are available
[here](https://dl.iredmail.org/yum/srpms/).

Download the latest release of iRedMail

  • Visit Download page to get the latest stable release of iRedMail.

  • Upload iRedMail to your mail server via ftp or scp or whatever method you can use, login to the server to install iRedMail. We assume you uploaded it to /root/iRedMail-x.y.z.tar.gz (replace x.y.z by the real version number).

  • Uncompress iRedMail tarball:

# cd /root/
# tar zxf iRedMail-x.y.z.tar.gz

Start iRedMail installer

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

# cd /root/iRedMail-x.y.z/
# bash iRedMail.sh

Screenshots of installation:

  • Welcome and thanks for your use

{: width="700px" }

  • Specify location to store all mailboxes. Default is /var/vmail/.

{: width="700px" }

  • Choose backend used to store mail accounts. You can manage mail accounts with iRedAdmin, our web-based iRedMail admin panel.

!!! 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.

{: width="700px" }

  • If you choose to store mail accounts in OpenLDAP, iRedMail installer will ask to set the LDAP suffix.

{: width="700px" }

!!! note "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`.
  • Add your first mail domain name

{: width="700px" }

  • Set password of admin account of your first mail domain.

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.

{: width="700px" }

  • Choose optional components

{: width="700px" }

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.

{: width="700px" }

Important things you MUST know after installation

!!! 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.

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