Update file location of dovecot log file (new in iRedMail-0.9.6).

Update iRedAdmin-Pro RESTful API (able to manage standalone domain admins).
Update iRedMail upgrade tutorial.
This commit is contained in:
Zhang Huangbin 2017-01-13 10:39:04 +08:00
parent 9107eac2fc
commit b0ba1dbcf9
6 changed files with 177 additions and 15 deletions

View File

@ -69,9 +69,10 @@ Additional config files under `/etc/dovecot/`:
* `/var/log/dovecot.log`: main log file.
* Since iRedMail-0.9.6, on Linux:
* `/var/log/dovecot-imap.log`: IMAP related log.
* `/var/log/dovecot-pop3.log`: POP3 related log.
* `/var/log/dovecot-lda.log`: sieve and LMTP related log.
* `/var/log/dovecot-imap.log`: IMAP service related log.
* `/var/log/dovecot-pop3.log`: POP3 service related log.
* `/var/log/dovecot-sieve.log`: Managesieve service related log.
* `/var/log/dovecot-lda.log`: Local mail delivery related log, including both sieve and LMTP.
* In iRedMail-0.9.5 and earlier versions, all Linux and BSD system:
* `/var/log/dovecot-sieve.log`: sieve LDA (Local Delivery Agent) related log.

View File

@ -149,6 +149,42 @@ Notes:
</div>
### Domain Admin {: .toggle }
!!! attention
* This is standalone domain admin account, not mail user with admin privileges.
* Only global admin can access these APIs.
!!! api "`GET`{: .get } `/api/admin/<mail>`{: .url } `Get profile of an existing domain admin`{: .comment } `upcoming`{: .upcoming }"
!!! api "`POST`{: .post } `/api/admin/<mail>`{: .url } `Create a new domain admin`{: .comment } `upcoming`{: .upcoming } `Parameters`{: .has_params }"
<div class="params params_admin">
Parameter Name | Summary | Sample Usage
--- |--- |---
`name` | Display name | `name=My Admin Name`
`password` | Password| `password=AsTr0ng@`
`language` | Preferred language of iRedAdmin web UI | `language=en_US`
`domainGlobalAdmin` | Mark this admin as global admin | `domainGlobalAdmin=yes`
</div>
!!! api "`DELETE`{: .delete } `/api/admin/<mail>`{: .url } `Delete an existing domain admin`{: .comment } `upcoming`{: .upcoming }"
!!! api "`POST`{: .post } `/api/verify_password/admin/<mail>`{: .url } `Verify given (plain) password against the one stored in SQL/LDAP`{: .comment } `upcoming`{: .upcoming } `Parameters`{: .has_params} "
<div class="params params_admin">
!!! attention
Password verification is limited to global domain admin.
Parameter Name | Summary | Sample Usage
--- |--- |---
`password` | Plain password | `password=u0tBF82cIV@vi8Gme`
</div>
### Mail User {: .toggle }
!!! api "`GET`{: .get } `/api/user/<mail>`{: .url } `Get profile of an existing mail user`{: .comment } `upcoming`{: .upcoming }"
@ -204,6 +240,10 @@ Notes:
<div class="params params_user">
!!! attention
Password verification is limited to global domain admin.
Parameter Name | Summary | Sample Usage
--- |--- |---
`password` | Plain password | `password=u0tBF82cIV@vi8Gme`

View File

@ -11,12 +11,9 @@
We offer remote upgrade support if you don't want to get your hands dirty,
check [the details](../support.html) and [contact us](../contact.html).
## TODO
* Separated SOGo address book for LDAP backend.
## ChangeLog
* Jan 13, 2016: Fixed: Awstats is world-accessible with Apache.
* Jan 8, 2016: Fixed: missing cron job used to clean up old Roundcube temporary files.
* Dec 27, 2016: Add more banned file types/extensions in Amavisd.
* Dec 12, 2016: Improve Fail2ban filter regular expression to catch more POP3/IMAP spams
@ -361,6 +358,26 @@ Then restart memcached service:
rcctl restart memcached
```
### Fixed: Awstats is world-accessible with Apache
> This is not applicable on OpenBSD system, because we don't have Apache nor Awstats installed.
With iRedMail-0.9.5-1 and earlier release, Awstats was incorrectly configured
and accessible without authentication. Please follow steps below to fix it.
* Open Awstats config file for Apache, find below lines:
* On RHEL/CentOS, it's `/etc/httpd/conf.d/awstats.conf`
* On Debian/Ubuntu, it's `/etc/apache2/conf-available/awstats.conf`
* On FreeBSD, it's `/usr/local/etc/apache2?/Includes/awstats.conf`
```
Require all granted
Require valid-user
```
* Remove `Require all granted`, keep `Require valid-user`.
* Restart Apache service.
### Improve Fail2ban filter regular expression to catch more POP3/IMAP spams
> This step is applicable to Linux system.

View File

@ -127,9 +127,10 @@
<li>
<p>Since iRedMail-0.9.6, on Linux:</p>
<ul>
<li><code>/var/log/dovecot-imap.log</code>: IMAP related log.</li>
<li><code>/var/log/dovecot-pop3.log</code>: POP3 related log.</li>
<li><code>/var/log/dovecot-lda.log</code>: sieve and LMTP related log.</li>
<li><code>/var/log/dovecot-imap.log</code>: IMAP service related log.</li>
<li><code>/var/log/dovecot-pop3.log</code>: POP3 service related log.</li>
<li><code>/var/log/dovecot-sieve.log</code>: Managesieve service related log.</li>
<li><code>/var/log/dovecot-lda.log</code>: Local mail delivery related log, including both sieve and LMTP.</li>
</ul>
</li>
<li>

View File

@ -31,6 +31,7 @@
<li><a href="#sample-code-to-interact-with-iredadmin-pro-restful-api">Sample code to interact with iRedAdmin-Pro RESTful API</a></li>
<li><a href="#apis">APIs</a><ul>
<li><a href="#domain">Domain</a></li>
<li><a href="#domain-admin">Domain Admin</a></li>
<li><a href="#mail-user">Mail User</a></li>
<li><a href="#mailing-list">Mailing List</a></li>
<li><a href="#mail-alias">Mail Alias</a></li>
@ -361,6 +362,85 @@ to be a domain admin.</p>
</table>
</div>
</div>
<h3 class="toggle" id="domain-admin">Domain Admin</h3>
<div class="admonition attention">
<p class="admonition-title">Attention</p>
<ul>
<li>This is standalone domain admin account, not mail user with admin privileges.</li>
<li>Only global admin can access these APIs.</li>
</ul>
</div>
<div class="admonition api">
<p class="admonition-title"><code class="get">GET</code> <code class="url">/api/admin/&lt;mail&gt;</code> <code class="comment">Get profile of an existing domain admin</code> <code class="upcoming">upcoming</code></p>
</div>
<div class="admonition api">
<p class="admonition-title"><code class="post">POST</code> <code class="url">/api/admin/&lt;mail&gt;</code> <code class="comment">Create a new domain admin</code> <code class="upcoming">upcoming</code> <code class="has_params">Parameters</code></p>
<div class="params params_admin">
<table>
<thead>
<tr>
<th>Parameter Name</th>
<th>Summary</th>
<th>Sample Usage</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>name</code></td>
<td>Display name</td>
<td><code>name=My Admin Name</code></td>
</tr>
<tr>
<td><code>password</code></td>
<td>Password</td>
<td><code>password=AsTr0ng@</code></td>
</tr>
<tr>
<td><code>language</code></td>
<td>Preferred language of iRedAdmin web UI</td>
<td><code>language=en_US</code></td>
</tr>
<tr>
<td><code>domainGlobalAdmin</code></td>
<td>Mark this admin as global admin</td>
<td><code>domainGlobalAdmin=yes</code></td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="admonition api">
<p class="admonition-title"><code class="delete">DELETE</code> <code class="url">/api/admin/&lt;mail&gt;</code> <code class="comment">Delete an existing domain admin</code> <code class="upcoming">upcoming</code></p>
</div>
<div class="admonition api">
<p class="admonition-title"><code class="post">POST</code> <code class="url">/api/verify_password/admin/&lt;mail&gt;</code> <code class="comment">Verify given (plain) password against the one stored in SQL/LDAP</code> <code class="upcoming">upcoming</code> <code class="has_params">Parameters</code> </p>
<div class="params params_admin">
<div class="admonition attention">
<p class="admonition-title">Attention</p>
<p>Password verification is limited to global domain admin.</p>
</div>
<table>
<thead>
<tr>
<th>Parameter Name</th>
<th>Summary</th>
<th>Sample Usage</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>password</code></td>
<td>Plain password</td>
<td><code>password=u0tBF82cIV@vi8Gme</code></td>
</tr>
</tbody>
</table>
</div>
</div>
<h3 class="toggle" id="mail-user">Mail User</h3>
<div class="admonition api">
@ -520,6 +600,10 @@ to be a domain admin.</p>
<p class="admonition-title"><code class="post">POST</code> <code class="url">/api/verify_password/user/&lt;mail&gt;</code> <code class="comment">Verify given (plain) password against the one stored in SQL/LDAP</code> <code class="upcoming">upcoming</code> <code class="has_params">Parameters</code> </p>
<div class="params params_user">
<div class="admonition attention">
<p class="admonition-title">Attention</p>
<p>Password verification is limited to global domain admin.</p>
</div>
<table>
<thead>
<tr>

View File

@ -19,7 +19,6 @@
<div class="toc">
<ul>
<li><a href="#upgrade-iredmail-from-095-1-to-096">Upgrade iRedMail from 0.9.5-1 to 0.9.6</a><ul>
<li><a href="#todo">TODO</a></li>
<li><a href="#changelog">ChangeLog</a></li>
<li><a href="#general-all-backends-should-apply-these-steps">General (All backends should apply these steps)</a><ul>
<li><a href="#update-etciredmail-release-with-new-iredmail-version-number">Update /etc/iredmail-release with new iRedMail version number</a></li>
@ -39,6 +38,7 @@
<li><a href="#fixed-nginx-doesnt-forward-real-client-ip-address-to-sogo">Fixed: Nginx doesn't forward real client IP address to SOGo</a></li>
<li><a href="#fixed-sogo-313-and-later-releases-changed-argument-used-by-sogo-tool-command">Fixed: SOGo-3.1.3 (and later releases) changed argument used by sogo-tool command</a></li>
<li><a href="#fixed-memcached-listens-on-all-available-ip-addresses-instead-of-127001">Fixed: Memcached listens on all available IP addresses instead of 127.0.0.1</a></li>
<li><a href="#fixed-awstats-is-world-accessible-with-apache">Fixed: Awstats is world-accessible with Apache</a></li>
<li><a href="#improve-fail2ban-filter-regular-expression-to-catch-more-pop3imap-spams">Improve Fail2ban filter regular expression to catch more POP3/IMAP spams</a></li>
<li><a href="#add-more-banned-file-typesextensions-in-amavisd">Add more banned file types/extensions in Amavisd.</a></li>
</ul>
@ -70,12 +70,9 @@
<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="todo">TODO</h2>
<ul>
<li>Separated SOGo address book for LDAP backend.</li>
</ul>
<h2 id="changelog">ChangeLog</h2>
<ul>
<li>Jan 13, 2016: Fixed: Awstats is world-accessible with Apache.</li>
<li>Jan 8, 2016: Fixed: missing cron job used to clean up old Roundcube temporary files.</li>
<li>Dec 27, 2016: Add more banned file types/extensions in Amavisd.</li>
<li>Dec 12, 2016: Improve Fail2ban filter regular expression to catch more POP3/IMAP spams</li>
@ -387,6 +384,28 @@ to the IP address of your jail.</p>
<pre><code>rcctl restart memcached
</code></pre>
<h3 id="fixed-awstats-is-world-accessible-with-apache">Fixed: Awstats is world-accessible with Apache</h3>
<blockquote>
<p>This is not applicable on OpenBSD system, because we don't have Apache nor Awstats installed.</p>
</blockquote>
<p>With iRedMail-0.9.5-1 and earlier release, Awstats was incorrectly configured
and accessible without authentication. Please follow steps below to fix it.</p>
<ul>
<li>Open Awstats config file for Apache, find below lines:<ul>
<li>On RHEL/CentOS, it's <code>/etc/httpd/conf.d/awstats.conf</code></li>
<li>On Debian/Ubuntu, it's <code>/etc/apache2/conf-available/awstats.conf</code></li>
<li>On FreeBSD, it's <code>/usr/local/etc/apache2?/Includes/awstats.conf</code></li>
</ul>
</li>
</ul>
<pre><code> Require all granted
Require valid-user
</code></pre>
<ul>
<li>Remove <code>Require all granted</code>, keep <code>Require valid-user</code>.</li>
<li>Restart Apache service.</li>
</ul>
<h3 id="improve-fail2ban-filter-regular-expression-to-catch-more-pop3imap-spams">Improve Fail2ban filter regular expression to catch more POP3/IMAP spams</h3>
<blockquote>
<p>This step is applicable to Linux system.</p>