====== [Draft]iRedMail 升級紀錄(0.9.9 - 1.7.3) ====== * 升級目標: - 在原本 CentOS 7 環境由 0.9.9 升級到 1.7.3 - 在 Ubuntu 22.04 環境安裝 1.7.3 (Docker Compose 版本) - 將 CentOS 7 的資料移轉到 Ubuntu 22.04 環境上 ===== from 0.9.9 to 1.0 ===== * https://docs.iredmail.org/upgrade.iredmail.0.9.9-1.0.html - 更新 iRedMail 版本標記 vi /etc/iredmail-release 將內容改成 1.0 - 更新 Fail2ban 過濾器配置文件 cd /etc/fail2ban/filter.d/ mv postfix.iredmail.conf postfix.iredmail.conf.0.9.9 wget -O postfix.iredmail.conf https://github.com/iredmail/iRedMail/raw/1.0/samples/fail2ban/filter.d/postfix.iredmail.conf mv dovecot.iredmail.conf dovecot.iredmail.conf.0.9.9 wget -O dovecot.iredmail.conf https://github.com/iredmail/iRedMail/raw/1.0/samples/fail2ban/filter.d/dovecot.iredmail.conf 重啟 Fail2ban 服務 systemctl restart fail2ban - 配置 Postfix 查詢 Dovecot 郵箱配額狀態 - 確保使用 Dovecot 2.2 或更高版本 dovecot --version - 更新 Dovecot 配置文件 vi /etc/dovecot/dovecot.conf 找到 plugin {} 區塊,添加以下三個參數 plugin { : # 1.0 Add quota_status_success = DUNNO quota_status_nouser = DUNNO quota_status_overquota = "552 5.2.2 Mailbox is full" } 再添加以下配置以啟用配額狀態服務,監聽在 127.0.0.1:12340 : # 1.0 Add service quota-status { executable = quota-status -p postfix client_limit = 1 inet_listener { address = 127.0.0.1 port = 12340 } } !include_try /etc/dovecot/iredmail/*.conf - 重啟 Dovecot 服務 systemctl restart dovecot - 更新 Postfix 配置文件 vi /etc/postfix/main.cf 添加以下配置以啟用配額查詢 : smtpd_recipient_restrictions = ... check_policy_service inet:127.0.0.1:12340 重載 Postfix 服務 postfix reload - 更新 MySQL/MariaDB 數據庫 cd mkdir 1.0 cd 1.0 wget -O iredmail.mysql https://github.com/iredmail/iRedMail/raw/1.0/update/1.0/iredmail.mysql mysql vmail < ./iredmail.mysql - 檢查和重啟服務 systemctl status postfix dovecot fail2ban slapd - 測試寄送與收取新的信件來確認 E-Mail 服務 ===== from 1.0 to 1.1 ===== * https://docs.iredmail.org/upgrade.iredmail.1.0-1.1.html - 更新版本標記 vi /etc/iredmail-release 將版本號改為 1.1 - 更新備份腳本 cd /maildata/backup/ mv backup_mysql.sh backup_mysql.sh.1.0 wget -O backup_mysql.sh https://github.com/iredmail/iRedMail/raw/1.1/tools/backup_mysql.sh chown root backup_mysql.sh chmod 0500 backup_mysql.sh mv backup_sogo.sh backup_sogo.sh.1.0 wget -O backup_sogo.sh https://github.com/iredmail/iRedMail/raw/1.1/tools/backup_sogo.sh chown root backup_sogo.sh chmod 0500 backup_sogo.sh - 修復 CentOS 7 的 rsyslog 配置(僅 CentOS 7) vi /etc/rsyslog.d/1-iredmail-iredapd.conf if $syslogfacility-text == 'local5' and ($syslogtag startswith 'iredapd' or $msg startswith 'iredapd ') then -/var/log/iredapd/iredapd.log 重啟 rsyslog systemctl restart rsyslog - 修復 Postfix 的 Backup MX 配置 perl -pi -e 's#%d#%s#g' /etc/postfix/mysql/relay_domains.cf postfix reload - 檢查和重啟服務 systemctl status postfix dovecot rsyslog - 測試升級結果 ===== from 1.1 to 1.2 ===== * https://docs.iredmail.org/upgrade.iredmail.1.1-1.2.html - 更新版本標記 vi /etc/iredmail-release 將版本號改為 1.2 - 修復 Dovecot 配置文件 vi /etc/dovecot/dovecot.conf 禁用 mailbox_list_index : # 1.2 Add mailbox_list_index = no !include_try /etc/dovecot/iredmail/*.conf 重啟 Dovecot systemctl restart dovecot - 檢查和重啟服務 systemctl status postfix dovecot - 測試升級結果 ===== from 1.2 to 1.2.1 ===== * https://docs.iredmail.org/upgrade.iredmail.1.2-1.2.1.html - 更新版本標記 vi /etc/iredmail-release 將版本號改為 1.2.1 - 更新 iRedAPD cd mkdir 1.2.1 cd 1.2.1 wget -O iRedAPD-5.9.0.tar.gz https://github.com/iredmail/iRedAPD/archive/5.9.0.tar.gz tar zxf iRedAPD-5.9.0.tar.gz cd iRedAPD-5.9.0/tools/ bash upgrade_iredapd.sh - 修正 mlmmj-amime-receive cd /usr/bin/ mv mlmmj-amime-receive mlmmj-amime-receive.1.2 wget -O mlmmj-amime-receive https://github.com/iredmail/iRedMail/raw/1.2/samples/mlmmj/mlmmj-amime-receive chown mlmmj:mlmmj mlmmj-amime-receive chmod 0550 mlmmj-amime-receive - 檢查和重啟服務 systemctl status postfix dovecot - 測試升級結果 ===== 參考網址 ===== * https://docs.iredmail.org/iredmail.releases.html {{tag>iredmail upgrade}}