Обновление iRedMail с версии 0.9.9 до 1.0

Обновлено и опубликовано Опубликовано:

Процесс обновления от версии к версии отличается — чтобы получить подробную информацию об обновлении, заходим на страницу со списком релизов iRedMail и переходим по ссылке для описания обновления соответствующей версии сервера:

Переходим по ссылке для получения подробной инструкции по обновлению iRedMail

Рассмотрим подробнее обновление всех компонентов по шагам:

1. Обновление iRedAPD

Переходим на страницу dl.iredmail.org/yum/misc и копируем ссылку на самую последнюю версию iRedAPD:

Копируем ссылку на последнюю версию iRedAPD

* в данном примере мы скопировали ссылку на iRedAPD 3.5.

Используя ссылку, загружаем пакет на сервер:

wget https://dl.iredmail.org/yum/misc/iRedAPD-3.5.tar.gz

Распаковываем скачанный пакет:

tar zxvf iRedAPD-*.tar.gz

Переходим в папку tools распакованного каталога:

cd iRedAPD-*/tools/

И запускаем скрипт на обновление пакета:

bash upgrade_iredapd.sh

Выходим из каталога:

cd ../../

2. Установка mlmmjadmin версии 2.1

В инструкции указана установка именно версии 2.1 — выполняем следующие команды:

wget https://github.com/iredmail/mlmmjadmin/archive/2.1.tar.gz

tar zxvf 2.1.tar.gz

cd mlmmjadmin-2.1/tools/

bash upgrade_mlmmjadmin.sh

cd ../../

3. Обновление Roundcube

Для iRedMail 0.9.9 используется Roundcube версии 1.3.8. Его необходимо обновить до версии 1.4.1. Сначала нам необходимо выполнить резервное копирование баз данных и файлов, после можно обновлять сам портал.

Резервное копирование

Перед обновление Roundcube сохраняем данные текущей версии. Создадим каталог, куда поместим архивы:

mkdir /backup

Делаем дамп базы следующей командой:

mysqldump -v -uroot -p roundcubemail | gzip > /backup/roundcubemail.sql.gz

Копируем портал:

cp -LR /opt/www/roundcubemail /backup/

Обновление roundcube

Переходим на страницу GitHub для загрузки roundcube версии 1.4.1 — копируем ссылку на загрузку данной версии:

Копируем ссылку на Roundcube версии 1.4.1

Используя скопированную ссылку загружаем на сервер портал:

wget https://github.com/roundcube/roundcubemail/releases/download/1.4.1/roundcubemail-1.4.1-complete.tar.gz

Распаковываем архив:

tar zxvf roundcubemail-1.4.1-complete.tar.gz

Переходим в распакованный каталог:

cd roundcubemail-1.4.1/

Запускаем установку roundcubemail:

bin/installto.sh /opt/www/roundcubemail

* в данном примере мы запускаем скрипт установки новой версии roundcubе в каталог /opt/www/roundcubemail.

Система обнаружит, что в каталоге /opt/www/roundcubemail уже установлен портал другой версии и предложит его обновить — отвечаем утвердительно:

Upgrading from 1.3.8. Do you want to continue? (y/N)
y

Установщик автоматически заменит необходимые файлы и обновит базу данных.

Выходим их каталога:

cd ..

4. Обновление netdata до версии 1.19.0

Переходим на GitHub, страницу netdata 1.19.0 — копируем ссылку на скачивание run-файла:

Копируем ссылку на netdata версии 1.19.0

... и скачиваем пакет на сервер:

wget https://github.com/netdata/netdata/releases/download/v1.19.0/netdata-v1.19.0.gz.run

Разрешаем запуск файла на выполнение:

chmod +x netdata-v1.19.0.gz.run

Выполняем запуск:

./netdata-v1.19.0.gz.run --accept

Запрещаем отправку анонимной статистики:

touch /opt/netdata/etc/netdata/.opt-out-from-anonymous-statistics

5. Вносим правки в Postfix

Открываем конфигурационный файл postfix:

vi /etc/postfix/main.cf

Находим строку:

smtpd_sender_restrictions = 
    reject_unknown_sender_domain
    ...
    check_sender_access pcre:/etc/postfix/sender_access.pcre

... и перемещаем reject_unknown_sender_domain после check_sender_access pcre:/etc/postfix/sender_access.pcre — получаем:

smtpd_sender_restrictions = 
    ...
    check_sender_access pcre:/etc/postfix/sender_access.pcre
    reject_unknown_sender_domain

Открываем файл /etc/postfix/helo_access.pcre:

vi /etc/postfix/helo_access.pcre

Добавляем в самый низ:

/^\d{1,3}-\d{1,3}-\d{1,3}-\d{1,3}\.mail-mail\.facebook\.com$/ DUNNO

Перезапускаем postfix:

systemctl restart postfix

6. Изменение правил Fail2ban

Переходим в каталог с правилами fail2ban

cd /etc/fail2ban/filter.d/

По очереди выполняем команды:

wget -O postfix.iredmail.conf https://github.com/iredmail/iRedMail/raw/1.0/samples/fail2ban/filter.d/postfix.iredmail.conf

wget -O dovecot.iredmail.conf https://github.com/iredmail/iRedMail/raw/1.0/samples/fail2ban/filter.d/dovecot.iredmail.conf

После перезапускаем Fail2ban:

systemctl restart fail2ban

7. Обновление бэкэнда

Далее действия зависят от типа базы данных, которая используется для нашего iRedMail. Есть варианты использования OpenLDAP, MySQL/MariaDB, PostgreSQL. В данной инструкции подробнее затронем только MySQL/MariaDB. Действия по обновлению бэкэнда до версии 1.0 позволят включить проверку состояния квот.

Добавление поля mysql

Скачиваем дамп с новой структурой для базы vmail:

wget -O /tmp/iredmail.mysql https://github.com/iredmail/iRedMail/raw/1.0/update/1.0/iredmail.mysql

Загружаем изменения:

mysql vmail < /tmp/iredmail.mysql

Удаляем скачанный файл:

rm -f /tmp/iredmail.mysql

Настройка Dovecot

Открываем файл /etc/dovecot/dovecot.conf:

vi /etc/dovecot/dovecot.conf

Находим строку plugin:

plugin {
    ...

... и добавляем строки:

plugin {
    ...
    # Used by quota-status service.
    quota_status_success = DUNNO
    quota_status_nouser = DUNNO
    quota_status_overquota = "552 5.2.2 Mailbox is full"
}

Ниже после plugin { ... } добавим:

service quota-status {
    executable = quota-status -p postfix
    client_limit = 1
    inet_listener {
        address = 127.0.0.1
        port = 12340
    }
}

Перезапускаем dovecot:

systemctl restart dovecot

Настройка Postfix

Открываем конфигурационный файл:

vi /etc/postfix/main.cf

Находим:

smtpd_recipient_restrictions =

... и добавляем в конец группы:

smtpd_recipient_restrictions =
    ...
    check_policy_service inet:127.0.0.1:12340

Перезапускаем postfix:

systemctl restart postfix

8. Редактируем номер релиза

Обновление выполнено — меняем версию релиза. Открываем файл:

vi /etc/iredmail-release

Меняем версию на 1.0. В итоге получим:

1.0 MARIADB edition.

* где MARIADB edition в вашем случаем может быть другим значением.

# Linux # Почта # Серверы
Дмитрий Моск — частный мастер
Была ли полезна вам эта инструкция?

Да            Нет