# Upgrade Ubuntu from 18.04 to 20.04

Warning

THIS IS A DRAFT DOCUMENT, DO NOT APPLY IT.

### Upgrade iRedMail to the latest stable release first

Before upgrading server OS, it's better upgrade iRedMail to the latest stable release first. You can find all upgrade tutorials here.

### Upgrade OS

After you have latest iRedMail release running, it's ok to upgrade server OS with command `do-release-upgrade` now.

### Upgrade Dovecot config files

Dovecot 2.3 breaks some configurations used in Dovecot 2.2, please follow our tutorial to upgrade its config files:

- Upgrade Dovecot from 2.2.x to 2.3.x

### Re-upgrade iRedAPD, iRedAdmin(-Pro), mlmmjadmin to the latest release

After upgraded server OS, please re-upgrade iRedAPD, iRedAdmin(-Pro) and mlmmjadmin even you're already running the latest versions before upgrading OS, their upgrade scripts will help fix some issues caused by OS upgrade.

- Upgrade iRedAPD
- Upgrade iRedAdmin(-Pro)
- Upgrade mlmmjadmin

## Configurations

- `/etc/php/7.4/fpm/pool.d/www.conf`

    [inet]
    user = www-data
    group = www-data

    listen = 127.0.0.1:9999
    listen.owner = www-data
    listen.group = www-data
    listen.mode = 0660

    ; IP addresses must be separated by comma, and no space between comma and ip.
    listen.allowed_clients = 127.0.0.1

    pm = dynamic
    pm.max_children = 200
    pm.start_servers = 10
    pm.min_spare_servers = 5
    pm.max_spare_servers = 10
    pm.max_requests = 500

    pm.status_path = /php-fpm-status
    ping.path = /php-fpm-ping

    request_terminate_timeout = 60s

    access.log = /var/log/php-fpm/access.log
    slowlog = /var/log/php-fpm/slow.log
    request_slowlog_timeout = 10s

- `/etc/nginx/conf-available/php-fpm.conf`:

    upstream php_workers {
        server 127.0.0.1:9999;
    }