270 lines
14 KiB
HTML
270 lines
14 KiB
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="/index.html" target="_blank">
|
|
<img alt="iRedMail web site"
|
|
src="./images/logo-iredmail.png"
|
|
style="vertical-align: middle; height: 30px;"
|
|
/>
|
|
<span>iRedMail</span>
|
|
</a>
|
|
// <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="../support.html">the details</a> and <a href="../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="http://trac.roundcube.net/wiki/Howto_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>/dev/null` 2> /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://bitbucket.org/zhb/iredmail/raw/f0e7e84c4b8a/extra/update/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 = (&(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> USE vmail;
|
|
mysql> ALTER TABLE mailbox ADD COLUMN enabledoveadm TINYINT(1) NOT NULL DEFAULT 1;
|
|
</code></pre><p style="text-align: center; color: grey;">All documents are available in <a href="https://bitbucket.org/zhb/iredmail-docs/src">BitBucket repository</a>, and published under <a href="http://creativecommons.org/licenses/by-nd/3.0/us/" target="_blank">Creative Commons</a> license. If you found something wrong, please do <a href="http://www.iredmail.org/contact.html">contact us</a> to fix it.<script>
|
|
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
|
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
|
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
|
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
|
|
|
ga('create', 'UA-3293801-21', 'auto');
|
|
ga('send', 'pageview');
|
|
</script>
|
|
</body></html> |