Attention
Check out the lightweight on-premises email archiving software developed by iRedMail team: Spider Email Archiver.
Paid Remote Upgrade Support
We offer remote upgrade support if you don't want to get your hands dirty, check the details and contact us.
iRedMail stores the release version in /etc/iredmail-release
after
installation, it's recommended to update this file after you upgraded iRedMail,
so that you can know which version of iRedMail you're running. For example:
# File: /etc/iredmail-release
0.8.2
Please follow Roundcube official tutorial to upgrade Roundcube webmail to the latest stable release immediately: How to upgrade Roundcube.
Please follow below tutorial to upgrade iRedAPD to the latest stable release: Upgrade iRedAPD to the latest stable release
Please follow this tutorial to upgrade iRedAdmin open source edition to the latest stable release: Upgrade iRedAdmin to the latest stable release
Please remove below two settings in SpamAssassin config file:
/etc/mail/spamassassin/local.cf
./usr/local/etc/mail/spamassassin/local.cf
.# Part of file: etc/mail/spamassassin/local.cf
score SPF_PASS -10.000
score SPF_FAIL 5.00
NOTE: This is only applicable to OpenBSD.
Please add below two lines in /etc/newsyslog.conf
to rotate Dovecot log
files: /var/log/dovecot.log
, /var/log/sieve.log
.
# Part of file: /etc/newsyslog.conf
/var/log/dovecot.log vmail:vmail 600 7 * 24 Z "doveadm log reopen"
/var/log/sieve.log vmail:vmail 600 7 * 24 Z "doveadm log reopen"
NOTE: This fix is only applicable to FreeBSD.
Please add below two lines in /etc/newsyslog.conf
to rotate Dovecot log
files: /var/log/dovecot.log
, /var/log/sieve.log
.
# Part of file: /etc/newsyslog.conf
/var/log/dovecot.log vmail:vmail 600 7 * 24 Z /var/run/dovecot/master.pid
/var/log/sieve.log vmail:vmail 600 7 * 24 Z /var/run/dovecot/master.pid
NOTE: This fix is only applicable to FreeBSD.
iRedMail-0.8.1 defines incorrectly path of iRedAPD PID file in
/etc/newsyslog.conf
, so please fix it manually by editing /etc/newsyslog.conf
.
/etc/newsyslog.conf
:# Part of file: /etc/newsyslog.conf
/var/log/iredapd.log root:wheel 640 7 * 24 Z /var/run/iredapd.pid
Be careful, don't use quotes around path of pid file.
# /etc/rc.d/syslogd restart
Changes in the newest LDAP schema file shipped in iRedMail-0.8.2:
domainGlobalAdmin
. With this
attribute, you can mark mail user as a global admin to manage mail accounts
with iRedAdmin-Pro.shadowAddress
for alias domain support.To use the newest iRedMail ldap schem file, we have to:
Here we go:
# cd /tmp
# wget https://github.com/iredmail/iRedMail/raw/1.0/samples/iredmail/iredmail.schema
# cd /etc/openldap/schema/
# cp iredmail.schema iredmail.schema.bak
# cp -f /tmp/iredmail.schema /etc/openldap/schema/
# /etc/init.d/slapd restart # <-- Or: /etc/init.d/ldap restart
# cd /tmp
# wget https://github.com/iredmail/iRedMail/raw/1.0/samples/iredmail/iredmail.schema
# cd /etc/ldap/schema/
# cp iredmail.schema iredmail.schema.bak
# cp -f /tmp/iredmail.schema /etc/ldap/schema/
# /etc/init.d/slapd restart
# cd /tmp
# wget https://github.com/iredmail/iRedMail/raw/1.0/samples/iredmail/iredmail.schema
# cd /usr/local/etc/openldap/schema/
# cp iredmail.schema iredmail.schema.bak
# cp -f /tmp/iredmail.schema /usr/local/etc/openldap/schema/
# service slapd restart
virtual
transportPostfix setting virtual_mailbox_maps
doesn't return correct maildir path.
Usually, this is fine because iRedMail uses transport program provided by
Dovecot (command name deliver
). But if you want to use Postfix built-in
transport program virtual
, mails will be delivered to incorrect path.
To fix it, please open /etc/postfix/ldap/virtual_mailbox_maps.cf
(on Linux
and OpenBSD) or /usr/local/etc/postfix/ldap/virtual_mailbox_maps.cf
(on
FreeBSD), append parameter result_format = %s/Maildir/
line after line
result_attribute= mailMessageStore
.
# Part of file: etc/postfix/ldap/virtual_mailbox_maps.cf
result_attribute = mailMessageStore
result_format = %s/Maildir/
Restarting Postfix service is required.
Add below lines in your OpenLDAP config file, slapd.conf
, after the line
suffix dc=xxx,dc=xxx
. Please read comments below for more details about what
it's used for.
* On RHEL/CentOS/Scientific Linux, openSUSE, Gentoo, OpenBSD, it's `/etc/openldap/slapd.conf`.
* On Debian, Ubuntu, it's `/etc/ldap/slapd.conf`.
* On FreeBSD, it's `/usr/local/etc/openldap/slapd.conf`.
# Part of file: slapd.conf
# This directive specifies how often to checkpoint the BDB transaction log.
# A checkpoint operation flushes the database buffers to disk and writes a
# checkpoint record in the log. The checkpoint will occur if either <kbyte>
# data has been written or <min> minutes have passed since the last checkpoint.
# Both arguments default to zero, in which case they are ignored. When the
# <min> argument is non-zero, an internal task will run every <min> minutes
# to perform the checkpoint. See the Berkeley DB reference guide for more
# details.
#
# OpenLDAP default is NO CHECKPOINTING.
#
# whenever 128kb data bytes written or 5 minutes has elapsed
checkpoint 128 5
Restarting OpenLDAP service is required.
New version of iRedAdmin (both open source edition and iRedAdmin-Pro) requires
three new columns: mailbox.isadmin
, mailbox.isglobaladmin
,
mailbox.language
.
* With `mailbox.isadmin=1`, this user is a domain admin.
* With `mailbox.isadmin=1` AND `mailbox.isglobaladmin=1`, this user is a
global admin.
* Column `mailbox.language` is used to store short code of language. e.g.
de_DE for German, cs_CZ for Czech.
Please login to MySQL server as root user, execute SQL commands to add required columns and indexes.
# mysql -uroot -p
mysql> USE vmail;
mysql> ALTER TABLE mailbox ADD COLUMN isadmin TINYINT(1) NOT NULL DEFAULT 0;
mysql> ALTER TABLE mailbox ADD COLUMN isglobaladmin TINYINT(1) NOT NULL DEFAULT 0;
mysql> ALTER TABLE mailbox ADD COLUMN language VARCHAR(5) NOT NULL DEFAULT 'en_US';
mysql> ALTER TABLE mailbox ADD INDEX (isadmin);
mysql> ALTER TABLE mailbox ADD INDEX (isglobaladmin);
New version of iRedAdmin (both open source edition and iRedAdmin-Pro) requires
three new columns: mailbox.isadmin
, mailbox.isglobaladmin
,
mailbox.language
.
* With `mailbox.isadmin=1`, this user becomes a domain admin.
* With `mailbox.isadmin=1` AND `mailbox.isglobaladmin=1`, this user becomes
a global admin.
* Column `mailbox.language` is used to store short code of language. e.g.
de_DE for German, cs_CZ for Czech.
Please switch to PostgreSQL daemon user, then execute SQL commands to add required columns and indexes:
* On Linux, PostgreSQL daemon user is `postgres`.
* On FreeBSD, PostgreSQL daemon user is `pgsql`.
* On OpenBSD, PostgreSQL daemon user is `_postgresql`.
# su - postgres
$ psql -d vmail
sql> ALTER TABLE mailbox ADD COLUMN isadmin INT2 NOT NULL DEFAULT 0;
sql> ALTER TABLE mailbox ADD COLUMN isglobaladmin INT2 NOT NULL DEFAULT 0;
sql> ALTER TABLE mailbox ADD COLUMN language VARCHAR(5) NOT NULL DEFAULT 'en_US';
sql> CREATE INDEX idx_mailbox_isadmin ON mailbox (isadmin);
sql> CREATE INDEX idx_mailbox_isglobaladmin ON mailbox (isglobaladmin);