How can we help?


ATMAIL SUITE ONLY: Installation Guide

Stewart -

What is atmail suite

The atmail suite is a browser-based email client and comprises of the email client and JMAP API.  This can be integrated with atmail DAV to provide contacts and calendar as well.

Purpose of this guide

The instructions that follow will take you through the installation steps for atmail suite on a single node server.

Pre-installation notes


Before you install the atmail suite, please make sure you meet the minimum system requirements.  

Minimum system software requirements

Operating System - CentOS 7.x and Redhat Enterprise 7.x only.

Host Name - Please enter the FQDN as your host name for the server, once the installation starts you will NOT be able to change it


MariaDB must be installed and configured before installation of atmail suite or atmail mail server software.

yum install mariadb mariadb-server -y -q

Once the installation is complete, enable MariaDB to start on boot and start the service:

systemctl enable mariadb
systemctl start mariadb

Ensure that the MariaDB service is active:

systemctl status mariadb
● mariadb.service - MariaDB database server
 Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
 Active: active (running) since Mon 2019-12-09 16:05:34 AEST; 2s ago
 Process: 18325 ExecStartPost=/usr/libexec/mariadb-wait-ready $MAINPID (code=exited, status=0/SUCCESS)
 Process: 18237 ExecStartPre=/usr/libexec/mariadb-prepare-db-dir %n (code=exited, status=0/SUCCESS)
 Main PID: 18324 (mysqld_safe)
 CGroup: /system.slice/mariadb.service
 ├─18324 /bin/sh /usr/bin/mysqld_safe --basedir=/usr
 └─18487 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/log/mariadb/mariadb.log --pid-file...

Finally, run the mysql_secure_installation script:

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] y
New password: *********
Re-enter new password: *********
Password updated successfully!
Reloading privilege tables..
 ... Success!

By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y
... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] n
 ... skipping.

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!
The root password for mariaDB has been set to none.  If you set a password, you will need to remember to supply it when installing mail server and atmail suite.

 Test if you are able to run mariaDB

mysql -u root -p
Enter password: *********
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 20
Server version: 5.5.64-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> exit


OpenSSL must be installed and configured before installation of atmail suite or atmail mail server software.

yum install openssl openssl-libs -y -q


Ensure you have the appropriate firewalld configuration as this will ensure that the correct ports are opened.  By default, all ports other than 22 will be closed.

Check if firewalld is enabled and started

systemctl is-enabled firewalld

If this command does not return enabled you should perform the next command
systemctl enable firewalld
Created symlink from /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service to /usr/lib/systemd/system/firewalld.service.
Created symlink from /etc/systemd/system/ to /usr/lib/systemd/system/firewalld.service.

Start firewalld

systemctl start firewalld
systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2017-06-27 16:53:32 AEST; 5s ago

List allowed services

firewall-cmd --list-service
dhcpv6-client ssh

Add required services: HTTPS, SMTP, IMAP, POP3, DAV, DHCP (May be required in a testing environment).

firewall-cmd --zone=public --add-service=https --add-service=dhcp --permanent
firewall-cmd --zone=public --add-port=8443/tcp --permanent

Reload firewalld

firewall-cmd --reload

List allowed services and ports. Check for previously added additions. Please note, by default Exim does not have a service running on 587/tcp so this addition is optional.

firewall-cmd --list-all | grep 'services\|ports' | head -n 2
services: dhcp dhcpv6-client https ssh
ports: 8443/tcp

 Further information on the use of firewalld can be seen at on our Help Centre page firewalld.

Extra Packages for Enterprise Linux (EPEL)

Some packages are available from the EPEL repository

yum install epel-release -y

atmail Public Software Repository

 It is now possible to connect to the atmail Public Software Repository and allow yum to install the latest software releases directly.

 To configure your server to use the repository run

bash <(curl -s

This completes the setup of the server and it is now ready for the atmail software.

atmail suite Installation Notes

  • Use yum to install the atmail-common rpm.
yum install atmail-common -y
    Creating group atmail ..... [ OK ]
    Creating user atmail ..... [ OK ]
    Switching SELinux to permissive mode ..... [ OK ]
  • Use yum to install the atmail-api rpm.
yum install atmail-api -y
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
Importing GPG key 0x352C64E5:
 Userid     : "Fedora EPEL (7) <>"
 Fingerprint: 91e9 7d7c 4a5e 96f1 7f3e 888f 6a2f aea2 352c 64e5
 Package    : epel-release-7-11.noarch (@extras)
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
Remove /etc/atmail/api/.master on slave nodes
Created symlink from /etc/systemd/system/ to /usr/lib/systemd/system/apiserver.service.
  • Configure the atmail API server. Please note that your browser will need to resolve the entry placed in the URL Hostname fieldIn the example below, your browser will try to resolve https://atmail8test/login. If testing, the easiest way is to use the servers IP address or check the current server hostname with

Then run the following command using the root password you set in the MariaDB installation

Enter DB Host [ localhost ] :
Enter DB Port [ 3306 ] :
Enter DB user that has create user/grant access [ root ] :
Enter root password [  ] : *********
Enter URL Hostname where atmail services will be found [ atmail8test ] :
Will the API provision contacts/calendars/myfiles [ yes ] :
Enter MAX ZIP DOWNLOAD in bytes [ 32000000 ] :
DAV provisioning has been enabled - you will need to update api.conf with details provided by dav install
Is this a webmail ONLY install ? (ie no mailserver) yes/no [ no ] :
Enter your atmail ID : <atmail ID>
Enter you licence key : <atmail suite licence key>
Configure NginX [ yes ] :

Create the apiadmin profile:

source /etc/profile.d/

Create an admin user by running the following command with your values for username and password

apiadmin user add <username> <password> --role=admin
  • Restart API service
systemctl restart apiserver
  • Check the status of apiserver and ensure it is active and running.
systemctl status apiserver
● apiserver.service - atmail-api - jmap api for atmail webmail
  Loaded: loaded (/usr/lib/systemd/system/apiserver.service; enabled; vendor preset: disabled)
  Drop-In: /etc/systemd/system/apiserver.service.d
  Active: active (running) since Fri 2020-03-20 15:16:40 GMT; 3min 21s ago
 Main PID: 21002 (apiserver)
   CGroup: /system.slice/apiserver.service
           └─21002 /usr/bin/apiserver -config /etc/atmail/api/api.conf

Mar 20 15:16:40 atmail8test systemd[1]: Started atmail-api - jmap api for atmail webmail.
Mar 20 15:16:40 atmail8test apiserver[21002]: apiserver redirecting output to log file: /var/log/atmail/api.log
  • Use yum to install the atmail-webmail rpm.
yum install atmail-webmail -y

Configure the atmail webmail

Enter URL Hostname for atmail services [ atmail8test ] :
Enter brand name for webmail (will be shown in browser tab/title bar) [ ] :
Configure NginX [ yes ] :
  • Restart NGINX
systemctl restart nginx

Use yum to install the atmail-dav rpm.

yum install atmail-dav -y
Generating self-signed cert

Configure the atmail DAV service using the same MariaDB root password

Enter DB Host [ localhost ] :
Enter DB Port [ 3306 ] :
Enter DB user that has create user/grant access [ root ] :
Enter root password [  ] : *********
Configure NginX [ yes ] :
Configure PHP-FPM [ yes ] :
Would you like the api.conf updated to include dav DSN yes/no [ yes ] :
  • Restart services.
systemctl restart php-fpm nginx apiserver

Your atmail suite rpm installation is now complete!

Test your installation by connecting to webmail via your URL

This install uses self-signed certificates, the browser may warn you that the certificate is not trusted, please acknowledge the browser warning and proceed to the site. Configuration of new certificates can be performed after atmail mail server is installed.

Post-installation notes


If installing atmail-dav for contacts and calendars, the invites for an out the box install will not work as the dav sender needs to be set in the dav confilg file. 

Open the config.php file

vi /etc/atmail/dav/config.php

Find the DAV_SENDER value define('DAV_SENDER', 'noreply'); and update this to your email domain

define('DAV_SENDER', '');

Save the update to the config.php file

Now you will be able to send calendar invites.

This completes the atmail suite installation


Contact our support team

+61 (7) 5357 6605