119 lines
3.8 KiB
Markdown
119 lines
3.8 KiB
Markdown
# 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/](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 with `ldap_`.
|
|
* In old version, all parameters under `[sql]` (or `[mysql]`) section are
|
|
now new parameters start with `sql_`.
|
|
|
|
* 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 service `iredapd-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 parameter `plugins = `.
|
|
|
|
```
|
|
# /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.
|