3.8 KiB
Upgrade iRedAPD from v1.3.x or earlier versions to latest release
!!! attention
* If you're trying to upgrade iRedAPD-1.4.0 or later releases to the latest
iRedAPD, please check this tutorial instead: [Upgrade iRedAPD](./upgrade.iredapd.html)
* We provide remote upgrade service, check
[the price](https://www.iredmail.org/support.html) and
[contact us](https://www.iredmail.org/contact.html).
This tutorial describes how to upgrade iRedAPD from v1.3.x or earlier versions to the later releases, it's applicable on all Linux/BSD distributions supported by iRedMail.
!!! note "Important Notes"
* Since iRedAPD-`1.4.0`, we use Python source file as config file, not
`.ini` format anymore.
* We don't need second instance `iredapd-rr` anymore (it listens on port
`7778`), just one instance, one listen port `7777` is required.
Steps to upgrade iRedAPD-1.3.x or earlier versions:
- Download the latest stable release here: https://dl.iredmail.org/yum/misc/ For example, iRedAPD-1.4.4.tar.bz2.
- Upload it to your iRedMail server. Assume it's
/root/iRedAPD-1.4.4.tar.bz2
on the server. - Extract downloaded package and move to
/opt/
, set correct owner and permission:
# tar xjf /root/iRedAPD-1.4.4.tar.bz2 -C /opt/
# cd /opt
# chown -R iredapd:iredapd iRedAPD-1.4.4
# chmod -R 0700 iRedAPD-1.4.4
- Generate new config file from sample file, and set correct file owner and permission.
# cd /opt/iRedAPD-1.4.4/
# cp settings.py.sample settings.py
# chown -R iredapd:iredapd settings.py
# chmod -R 0400 settings.py
WARNING: Config file /opt/iredapd/settings.py
contains sensitive infomation
(username, password), please don't make it world-readable. Permission 0400 is
the best.
-
Open iRedAPD config file
/opt/iredapd/settings.py
, and sync settings with old iRedAPD config file/opt/iRedAPD-[OLD-VERSION]/etc/iredapd.ini
.- In old version, parameters under
[ldap]
section are now new parameters start withldap_
. - In old version, all parameters under
[sql]
(or[mysql]
) section are now new parameters start withsql_
.
- In old version, parameters under
-
Remove symbol link of old release:
# rm -i /opt/iredapd # <- Don't not end with '/'.
-
Copy new RC script. We have scripts for different Linux/BSD distributions, please copy the correct one for your distribution:
/opt/iredapd/rc_scripts/iredapd.rhel
: For Red Hat, CentOS, Scientific Linux./opt/iredapd/rc_scripts/iredapd.debian
: For Debian and Ubuntu./opt/iredapd/rc_scripts/iredapd.freebsd
: For FreeBSD. Please copy to/usr/local/etc/rc.d/
./opt/iredapd/rc_scripts/iredapd.openbsd
: For OpenBSD. Please copy to/etc/rc.d/
.
# cp /opt/iredapd/rc_scripts/iredapd.rhel /etc/init.d/iredapd
# chmod +x /etc/init.d/iredapd
- Create symbol link to the latest release:
# cd /opt/
# ln -s iRedAPD-1.4.4 iredapd
- Restart iRedAPD service:
#
# ---- On Linux ----
#
# /etc/init.d/iredapd restart
#
# ---- On FreeBSD ----
#
# /usr/local/etc/rc.d/iredapd restart
#
# ---- On OpenBSD ----
#
# /etc/rc.d/iredapd restart
- If you don't have file
/etc/init.d/iredapd-rr
(on Linux), or/etc/rc.d/iredapd-rr
(on OpenBSD), or/usr/local/etc/rc.d/iredapd-rr
(on FreeBSD), it's safe to ignore below steps. But if you have it, please stop serviceiredapd-rr
, then move all enabled plugin names listed in/opt/iRedAPD-[OLD_VERSION]/etc/iredapd-rr.ini
to new config file/opt/iredapd/settings.py
, in parameterplugins =
.
# /etc/init.d/iredapd-rr stop
# rm /etc/init.d/iredapd-rr
Check whether you have check_policy_service inet:127.0.0.1:__7778__
in Postfix
config file /etc/postfix/main.cf
(Linux/OpenBSD) or
/usr/local/etc/postfix/main.cf
(FreeBSD), if you have it, please remove it,
then restart Postfix service.