iredmail-doc/html_bk/upgrade.iredmail.0.7.4-0.8....

251 lines
14 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Upgrade iRedMail from 0.7.4 to 0.8.0</title>
<link rel="stylesheet" type="text/css" href="./css/markdown.css" />
</head>
<body>
<div id="navigation">
<a href="https://www.iredmail.org" target="_blank">
<img alt="iRedMail web site"
src="./images/logo-iredmail.png"
style="vertical-align: middle; height: 30px;"
/>&nbsp;
<span>iRedMail</span>
</a>
&nbsp;&nbsp;//&nbsp;&nbsp;<a href="./index.html">Document Index</a></div><h1 id="upgrade-iredmail-from-074-to-080">Upgrade iRedMail from 0.7.4 to 0.8.0</h1>
<div class="toc">
<ul>
<li><a href="#upgrade-iredmail-from-074-to-080">Upgrade iRedMail from 0.7.4 to 0.8.0</a><ul>
<li><a href="#changelog">ChangeLog</a></li>
<li><a href="#general-all-backends-should-apply-these-upgrade-steps">General (All backends should apply these upgrade steps)</a><ul>
<li><a href="#update-etciredmail-release-with-iredmail-version-number">Update /etc/iredmail-release with iRedMail version number</a></li>
<li><a href="#upgrade-roundcube-webmail-to-the-latest-stable-release">Upgrade Roundcube webmail to the latest stable release</a></li>
<li><a href="#upgrade-iredapd-postfix-policy-server-to-the-latest-stable-release">Upgrade iRedAPD (Postfix policy server) to the latest stable release</a></li>
<li><a href="#upgrade-iredadmin-open-source-edition-to-the-latest-stable-release">Upgrade iRedAdmin (open source edition) to the latest stable release</a></li>
<li><a href="#set-strict-file-permission-for-dovecot-config-files">Set strict file permission for Dovecot config files</a></li>
<li><a href="#enable-greylist-opt-in-and-opt-out-in-policyd">Enable greylist opt in and opt out in Policyd</a></li>
<li><a href="#enable-case-insensitive-user-authentication-in-roundcube-webmail">Enable case insensitive user authentication in Roundcube webmail</a></li>
<li><a href="#fix-logrotate-setting-of-dovecot-log-files">Fix logrotate setting of Dovecot log files</a></li>
<li><a href="#optional-enforce-connections-over-https-in-roundcube-webmail">[OPTIONAL] Enforce connections over HTTPS in Roundcube webmail</a></li>
<li><a href="#optional-enforce-connections-over-pop3simaps-in-dovecot">[OPTIONAL] Enforce connections over POP3S/IMAPS in Dovecot</a></li>
</ul>
</li>
<li><a href="#openldap-backend-special">OpenLDAP backend special</a><ul>
<li><a href="#add-internal-service-required-by-doveadm">Add internal service required by Doveadm</a></li>
</ul>
</li>
<li><a href="#mysql-backend-special">MySQL backend special</a><ul>
<li><a href="#add-internal-service-required-by-doveadm_1">Add internal service required by Doveadm</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="admonition note">
<p class="admonition-title">Paid Remote Upgrade Support</p>
<p>We offer remote upgrade support if you don't want to get your hands dirty,
check <a href="https://www.iredmail.org/support.html">the details</a> and
<a href="https://www.iredmail.org/contact.html">contact us</a>.</p>
</div>
<h2 id="changelog">ChangeLog</h2>
<ul>
<li>2012-07-12: [OPTIONAL] Enforce connections over HTTPS in Roundcube webmail</li>
<li>2012-07-12: [OPTIONAL] Enforce connections over POP3S/IMAPS in Dovecot</li>
<li>2012-05-10: Initial release.</li>
</ul>
<h2 id="general-all-backends-should-apply-these-upgrade-steps">General (All backends should apply these upgrade steps)</h2>
<h3 id="update-etciredmail-release-with-iredmail-version-number">Update /etc/iredmail-release with iRedMail version number</h3>
<p>iRedMail stores the release version in <code>/etc/iredmail-release</code> after
installation, it's recommended to update this file after you upgraded iRedMail,
so that you can know which version of iRedMail you're running. For example:</p>
<pre><code># File: /etc/iredmail-release
0.8.0
</code></pre>
<h3 id="upgrade-roundcube-webmail-to-the-latest-stable-release">Upgrade Roundcube webmail to the latest stable release</h3>
<p>Please follow Roundcube official tutorial to upgrade Roundcube webmail to the
latest stable release immediately: <a href="https://github.com/roundcube/roundcubemail/wiki/Upgrade">How to upgrade Roundcube</a>.</p>
<h3 id="upgrade-iredapd-postfix-policy-server-to-the-latest-stable-release">Upgrade iRedAPD (Postfix policy server) to the latest stable release</h3>
<p>Please follow below tutorial to upgrade iRedAPD to the latest stable release:
<a href="./upgrade.iredapd.html">Upgrade iRedAPD to the latest stable release</a></p>
<h3 id="upgrade-iredadmin-open-source-edition-to-the-latest-stable-release">Upgrade iRedAdmin (open source edition) to the latest stable release</h3>
<p>Please follow this tutorial to upgrade iRedAdmin open source edition to the
latest stable release: <a href="./migrate.or.upgrade.iredadmin.html">Upgrade iRedAdmin to the latest stable release</a></p>
<h3 id="set-strict-file-permission-for-dovecot-config-files">Set strict file permission for Dovecot config files</h3>
<p>There's one world-readable Dovecot config file, we should set strict file
owner and permission on it so that it won't leak SQL server infomation.</p>
<p>Please execute below command to fix it, then restart Dovecot service:</p>
<p><strong>NOTE</strong>: The file name on different Linux/BSD distributions may be different,
it should be <code>dovecot-used-quota.conf</code> or <code>used-quota.conf</code>.</p>
<ul>
<li>On RHEL/CentOS/Scientific Linux 5.x:</li>
</ul>
<pre><code># chown dovecot:dovecot /etc/dovecot-used-quota.conf
# chmod 0500 /etc/dovecot-used-quota.conf
</code></pre>
<ul>
<li>On RHEL/CentOS/Scientific Linux 6.x, Debian, Ubuntu, openSUSE:</li>
</ul>
<pre><code># chown dovecot:dovecot /etc/dovecot/used-quota.conf
# chmod 0500 /etc/dovecot/used-quota.conf
</code></pre>
<ul>
<li>On FreeBSD:</li>
</ul>
<pre><code># chown dovecot:dovecot /usr/local/etc/dovecot-used-quota.conf
# chmod 0500 /usr/local/etc/dovecot-used-quota.conf
</code></pre>
<h3 id="enable-greylist-opt-in-and-opt-out-in-policyd">Enable greylist opt in and opt out in Policyd</h3>
<p>Note: If you're running Ubuntu 11.10 or later releases, there's no Policyd
(v1.8) installed at all, it's replaced by Cluebringer, a.k.a. Policyd v2. So
it's safe to skip this step.</p>
<p>Some people are fairly irate when it comes to mail and
refuse wanting to have any type of delay. this feature
enables each and every person the ability to not subject
themselves to greylisting. this feature is also VERY
usefull when you dont want to subject EVERY person to
greylisting at once but instead allows you to enable
it in batches/groups of users so you get a feel on the
type of complaints or praise from your users.</p>
<p>Please update Policyd setting <code>OPTINOUT</code> and <code>OPTINOUTALL=1</code> to 1 to enable
greylist opt-in/opt-out:</p>
<pre><code>* On RHEL/CentOS/Scientific Linux, it's set in file `/etc/policyd.conf`.
* On Debian/Ubuntu, it's set in file `/etc/postfix-policyd.conf`.
* On openSUSE, it's set in file `/etc/policyd.conf`.
* On FreeBSD, it's set in file `/usr/local/etc/postfix-policyd-sf.conf`.
</code></pre>
<pre><code># Part of file: policyd.conf
OPTINOUT=1
OPTINOUTALL=1
</code></pre>
<p>Restarting Policyd service is required to make it work.</p>
<p><strong>Notes</strong>:</p>
<ul>
<li>iRedAdmin-Pro customers can manage greylist opt-in with one lick with the
latest iRedAdmin-Pro releases, in domain profile page or user profile page,
under tab <code>Advanced</code>.</li>
<li>For more details about how to set greylist opt-in manually with MySQL command
line or phpMyAdmin, please refer to Policyd official document:
http://policyd.sourceforge.net/readme.html (Section "Greylist Opt-in / Opt-out")</li>
</ul>
<h3 id="enable-case-insensitive-user-authentication-in-roundcube-webmail">Enable case insensitive user authentication in Roundcube webmail</h3>
<p>Please change below setting to <code>true</code> in Roundcube webmail config file
'config/main.inc.php' to enable case insensitive user authentication. The
config file should be:</p>
<pre><code>* `/var/www/roundcubemail/config/main.inc.php` on RHEL/CentOS/Scientific Linux
* `/usr/share/apache2/roundcubemail/config.inc.php` on Debian/Ubuntu
* `/srv/www/roundcubemail/config/main.inc.php` on openSUSE
* `/usr/local/www/roundcubemail/config/main.inc.php` on FreeBSD
</code></pre>
<pre><code># Part of file: config/main.inc.php
$rcmail_config['login_lc'] = false;
</code></pre>
<h3 id="fix-logrotate-setting-of-dovecot-log-files">Fix logrotate setting of Dovecot log files</h3>
<p>Open <code>/etc/logrotate.d/dovecot</code> and <code>/etc/logrotate.d/sieve</code>, update postrotate commands:</p>
<ul>
<li>If you're running Dovecot-1.x, please update postrotate command with below value:</li>
</ul>
<pre><code># Part of file: /etc/logrotate.d/dovecot and /etc/logrotate.d/sieve
postrotate
/bin/kill -USR1 `cat /var/run/dovecot/master.pid 2&gt;/dev/null` 2&gt; /dev/null || true
endscript
</code></pre>
<ul>
<li>If you're running Dovecot-2.x, please update postrotate command with below value:</li>
</ul>
<pre><code># Part of file: /etc/logrotate.d/dovecot, /etc/logrotate.d/sieve
postrotate
doveadm log reopen
endscript
</code></pre>
<h3 id="optional-enforce-connections-over-https-in-roundcube-webmail">[OPTIONAL] Enforce connections over HTTPS in Roundcube webmail</h3>
<p>This step is optional but highly recommended for better security.</p>
<p>Please update below parameter in Roundcube config file
<code>roundcubemail/config/main.inc.php</code> to enforce connections over https for
better security. With this option enabled, all non-secure connections will be
redirected to httpS://.</p>
<pre><code>* On RHEL/CentOS/Scientific Linux, Gentoo, OpenBSD, it's `/var/www/roundcubemail/config/main.inc.php`.
* On Debian/Ubuntu, it's `/usr/share/apache2/roundcubemail/config/main.inc.php`.
* On openSUSE, it's `/srv/www/roundcubemail/config/main.inc.php`.
* On FreeBSD, it's `/usr/local/www/roundcubemail/config/main.inc.php`.
</code></pre>
<pre><code># Part of file: roundcubemail/config/main.inc.php
$rcmail_config['force_https'] = true;
</code></pre>
<p>Restarting Apache web server is required.</p>
<h3 id="optional-enforce-connections-over-pop3simaps-in-dovecot">[OPTIONAL] Enforce connections over POP3S/IMAPS in Dovecot</h3>
<p>This step is OPTIONAL but highly recommended for better security. Since it may
requires update on your mail users' MUA (e.g. Thunderbird, Outlook), please
notify your mail users before this change.</p>
<p>Since iRedMail-0.8.0, all clients are forced to use IMAPS and POPS (via
STARTTLS) for better security by default. To enable this feature, please update
below parameters in your Dovecot config file, <code>dovecot.conf</code>.</p>
<pre><code>* On RHEL/CentOS/Scientific Linux 5.x, it's `/etc/dovecot.conf`.
* On RHEL/CentOS/Scientific Linux 6.x, it's `/etc/dovecot/dovecot.conf`.
* On Debian/Ubuntu, it's `/etc/dovecot/dovecot.conf`.
* On openSUSE, it's `/etc/dovecot/dovecot.conf`.
* On FreeBSD, it's `/usr/local/etc/dovecot/dovecot.conf`.
</code></pre>
<pre><code># Part of file: dovecot.conf
ssl = required
disable_plaintext_auth = yes
</code></pre>
<p>Restarting Dovecot service is required.</p>
<h2 id="openldap-backend-special">OpenLDAP backend special</h2>
<h3 id="add-internal-service-required-by-doveadm">Add internal service required by Doveadm</h3>
<p><strong>NOTE</strong>: This step is applicable to both Dovecot-1.x and Dovecot-2.x.</p>
<p>To use <code>doveadm</code> command provided by Dovecot-2, please add one more value of
attribute 'enabledService' for mail user.</p>
<ul>
<li>Download python script used to adding missing values.</li>
</ul>
<pre><code># cd /root/
# wget https://github.com/iredmail/iRedMail/raw/1.0/update/ldap/updateLDAPValues_074_to_080.py
</code></pre>
<ul>
<li>Open <code>updateLDAPValues_074_to_080.py</code>, config LDAP server related settings in
file head. e.g.</li>
</ul>
<pre><code># Part of file: updateLDAPValues_074_to_080.py
uri = 'ldap://127.0.0.1:389'
basedn = 'o=domains,dc=example,dc=com'
bind_dn = 'cn=vmailadmin,dc=example,dc=com'
bind_pw = 'passwd'
</code></pre>
<p>You can find required LDAP credential in iRedAdmin config file or <code>iRedMail.tips</code>
file under your iRedMail installation directory. Using either
<code>cn=Manager,dc=xx,dc=xx</code> or <code>cn=vmailadmin,dc=xx,dc=xx</code> as bind dn is ok.</p>
<ul>
<li>Execute this script, it will add missing values for mail accounts:</li>
</ul>
<pre><code># python updateLDAPValues_074_to_080.py
</code></pre>
<p>It will print progress message in the terminal, just be patient.</p>
<p>If you're running Dovecot-2, please add below lines in <code>dovecot-ldap.conf</code> to
make command <code>doveadm mailbox</code> work as expected:</p>
<pre><code># Part of file: dovecot-ldap.conf
iterate_attrs = mail=user
iterate_filter = (&amp;(objectClass=mailUser)(accountStatus=active)(enabledService=mail))
</code></pre>
<h2 id="mysql-backend-special">MySQL backend special</h2>
<h3 id="add-internal-service-required-by-doveadm_1">Add internal service required by Doveadm</h3>
<p>To use doveadm command provided by Dovecot-2, please add one more column in
MySQL table <code>vmail.mailbox</code> with below command:</p>
<pre><code># mysql -uroot -p
mysql&gt; USE vmail;
mysql&gt; ALTER TABLE mailbox ADD COLUMN enabledoveadm TINYINT(1) NOT NULL DEFAULT 1;
</code></pre><div class="footer">
<p style="text-align: center; color: grey;">All documents are available in <a href="https://github.com/iredmail/docs/">GitHub repository</a>, and published under <a href="http://creativecommons.org/licenses/by-nd/3.0/us/" target="_blank">Creative Commons</a> license. You can <a href="https://github.com/iredmail/docs/archive/master.zip">download the latest version</a> for offline reading. If you found something wrong, please do <a href="https://www.iredmail.org/contact.html">contact us</a> to fix it.</p>
</div></body></html>