http://git-wip-us.apache.org/repos/asf/james-site/blob/c03e4dfc/content/server/manage-cli.html ---------------------------------------------------------------------- diff --git a/content/server/manage-cli.html b/content/server/manage-cli.html new file mode 100644 index 0000000..d3a1438 --- /dev/null +++ b/content/server/manage-cli.html @@ -0,0 +1,499 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<!-- Generated by Apache Maven Doxia at 2017-06-14 --> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <title>Apache James Project - </title> + <style type="text/css" media="all"> + @import url("../css/james.css"); + @import url("../css/maven-base.css"); + @import url("../css/maven-theme.css"); + @import url("../css/site.css"); + @import url("../js/jquery/css/custom-theme/jquery-ui-1.8.5.custom.css"); + @import url("../js/jquery/css/print.css"); + @import url("../js/fancybox/jquery.fancybox-1.3.4.css"); + </style> + <script type="text/javascript" src="../js/jquery/js/jquery-1.4.2.min.js"></script> + <script type="text/javascript" src="../js/jquery-ui-1.9.2.custom.min.js"></script> + <script type="text/javascript" src="../js/fancybox/jquery.fancybox-1.3.4.js"></script> + <link rel="stylesheet" href="../css/print.css" type="text/css" media="print" /> + <meta name="Date-Revision-yyyymmdd" content="20170614" /> + <meta http-equiv="Content-Language" content="en" /> + +<link title="DOAP" rel="meta" type="application/rdf+xml" href="http://james.apache.org//doap_james-project.rdf"/> + + <!-- Google Analytics --> + <script type="text/javascript"> + + var _gaq = _gaq || []; + _gaq.push(['_setAccount', 'UA-1384591-1']); + _gaq.push(['_trackPageview']); + + (function() { + var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; + ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; + var s = document.getElementsByTagName('script').item(0); s.parentNode.insertBefore(ga, s); + })(); + + </script> + </head> + <body class="composite"> + <div id="banner"> + <a href="../index.html" id="bannerLeft" title="james-logo.png"> + + + <img src="../images/logos/james-logo.png" alt="James Project" /> + </a> + <a href="http://www.apache.org/index.html" id="bannerRight"> + + + <img src="images/logos/asf_logo_small.png" alt="The Apache Software Foundation" /> + </a> + <div class="clear"> + <hr/> + </div> + </div> + <div id="breadcrumbs"> + + + <div class="xleft"> + <span id="publishDate">Last Published: 2017-06-14</span> + </div> + <div class="xright"> <a href="../index.html" title="Home">Home</a> + | + <a href="../documentation.html" title="James">James</a> + | + <a href="../mime4j/index.html" title="Mime4J">Mime4J</a> + | + <a href="../jsieve/index.html" title="jSieve">jSieve</a> + | + <a href="../jspf/index.html" title="jSPF">jSPF</a> + | + <a href="../jdkim/index.html" title="jDKIM">jDKIM</a> + | + <a href="../hupa/index.html" title="Hupa">Hupa</a> + + + </div> + <div class="clear"> + <hr/> + </div> + </div> + <div id="leftColumn"> + <div id="navcolumn"> + + + <h5>James components</h5> + <ul> + <li class="collapsed"> + <a href="../documentation.html" title="About James">About James</a> + </li> + <li class="expanded"> + <a href="../server/index.html" title="Server">Server</a> + <ul> + <li class="none"> + <a href="../server/advantages.html" title="Advantages">Advantages</a> + </li> + <li class="none"> + <a href="../server/objectives.html" title="Objectives">Objectives</a> + </li> + <li class="expanded"> + <a href="../server/quick-start.html" title="User Manual">User Manual</a> + <ul> + <li class="collapsed"> + <a href="../server/features.html" title="1. Features">1. Features</a> + </li> + <li class="none"> + <a href="../server/packaging.html" title="2. Packaging">2. Packaging</a> + </li> + <li class="none"> + <a href="../server/install.html" title="3. Install James">3. Install James</a> + </li> + <li class="collapsed"> + <a href="../server/config.html" title="4. Configure James">4. Configure James</a> + </li> + <li class="expanded"> + <a href="../server/manage.html" title="5. Manage">5. Manage</a> + <ul> + <li class="none"> + <a href="../server/manage-webadmin.html" title="WebAdmin">WebAdmin</a> + </li> + <li class="none"> + <strong>Command line</strong> + </li> + <li class="none"> + <a href="../server/metrics.html" title="Metrics">Metrics</a> + </li> + </ul> + </li> + <li class="collapsed"> + <a href="../server/monitor.html" title="6. Monitor">6. Monitor</a> + </li> + <li class="collapsed"> + <a href="../server/upgrade.html" title="7. Upgrade">7. Upgrade</a> + </li> + <li class="collapsed"> + <a href="../server/dev.html" title="8. Developers Corner">8. Developers Corner</a> + </li> + </ul> + </li> + <li class="none"> + <a href="../mail.html#James_Mailing_lists" title="Mailing Lists">Mailing Lists</a> + </li> + <li class="none"> + <a href="../server/release-notes.html" title="Release Notes">Release Notes</a> + </li> + <li class="none"> + <a href="../server/apidocs/index.html" title="Javadoc">Javadoc</a> + </li> + <li class="none"> + <a href="https://issues.apache.org/jira/browse/JAMES" title="Issue Tracker">Issue Tracker</a> + </li> + <li class="none"> + <a href="https://github.com/apache/james-project" title="Sources">Sources</a> + </li> + <li class="none"> + <a href="../server/rfcs.html" title="RFCs">RFCs</a> + </li> + <li class="none"> + <a href="../other-versions.html" title="Other versions">Other versions</a> + </li> + <li class="none"> + <a href="../download.cgi#Apache_James_Server" title="Download releases">Download releases</a> + </li> + </ul> + </li> + <li class="collapsed"> + <a href="../mailet/index.html" title="Mailets">Mailets</a> + </li> + <li class="collapsed"> + <a href="../mailbox/index.html" title="Mailbox">Mailbox</a> + </li> + <li class="collapsed"> + <a href="../protocols/index.html" title="Protocols">Protocols</a> + </li> + <li class="collapsed"> + <a href="../mpt/index.html" title="MPT">MPT</a> + </li> + </ul> + <h5>Apache Software Foundation</h5> + <ul> + <li> + <strong> + <a title="ASF" href="http://www.apache.org/">ASF</a> + </strong> + </li> + <li> + <a title="Get Involved" href="http://www.apache.org/foundation/getinvolved.html">Get Involved</a> + </li> + <li> + <a title="FAQ" href="http://www.apache.org/foundation/faq.html">FAQ</a> + </li> + <li> + <a title="License" href="http://www.apache.org/licenses/" >License</a> + </li> + <li> + <a title="Sponsorship" href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> + </li> + <li> + <a title="Thanks" href="http://www.apache.org/foundation/thanks.html">Thanks</a> + </li> + <li> + <a title="Security" href="http://www.apache.org/security/">Security</a> + </li> + </ul> + <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"> + <img class="poweredBy" alt="Built by Maven" src="../images/logos/maven-feather.png" /> + </a> + + + </div> + </div> + <div id="bodyColumn"> + <div id="contentBox"> + <h1>Manage James via the Command Line</h1> +<p>With any packaging, James is packed with a command line client.</p> +<p>To use it enter, for Spring distrubution:</p> + +<div class="source"> +<pre>./bin/james-cli.sh -h 127.0.0.1 -p 9999 COMMAND +</pre></div> +<p>And for Guice distributions:</p> + +<div class="source"> +<pre>java -jar /root/james-cli.jar -h 127.0.0.1 -p 9999 COMMAND +</pre></div> +<p>The following document will explain you which are the available options for <b>COMMAND</b>.</p> +<p>Note: the command line before <b>COMMAND</b> will be documente as <i>{cli}</i>.</p> +<div class="section"> +<h2>Manage Domains<a name="Manage_Domains"></a></h2> +<p>Domains represent the domain names handled by your server.</p> +<p>You can add a domain:</p> + +<div class="source"> +<pre>{cli} AddDomain domain.tld +</pre></div> +<p>You can remove a domain:</p> + +<div class="source"> +<pre>{cli} RemoveDomain domain.tld +</pre></div> +<p>(Note: associated users are not removed automatically)</p> +<p>Check if a domain is handled:</p> + +<div class="source"> +<pre>{cli} ContainsDomain domain.tld +</pre></div> +<p>And list your domains:</p> + +<div class="source"> +<pre>{cli} ListDomains +</pre></div></div> +<div class="section"> +<h2>Managing users<a name="Managing_users"></a></h2> +<p>Note: the following commands are explained with virtual hosting turned on.</p> +<p>Users are accounts on the mail server. James can maintain mailboxes for them.</p> +<p>You can add a user:</p> + +<div class="source"> +<pre>{cli} AddUser [email protected] password +</pre></div> +<p>Note: the domain used should have been previously created.</p> +<p>You can delete a user:</p> + +<div class="source"> +<pre>{cli} RemoveUser [email protected] +</pre></div> +<p>(Note: associated mailboxes are not removed automatically)</p> +<p>And change a user password:</p> + +<div class="source"> +<pre>{cli} SetPassword [email protected] password +</pre></div> +<p>Note: All these write operations can not be performed on LDAP backend, as the implementation is read-only.</p> +<p>Finally, you can list users:</p> + +<div class="source"> +<pre>{cli} ListUsers +</pre></div> +<div class="section"> +<h3>Virtual hosting<a name="Virtual_hosting"></a></h3> +<p>James supports virtualhosting.</p> + +<ul> + +<li>If set to true in the configuration, then the username is the full mail address.</li> +</ul> +<p>The domains then become a part of the user.</p> +<p><i><a class="externalLink" href="mailto:[email protected]">[email protected]</a> and</i> *<a class="externalLink" href="mailto:[email protected]*">[email protected]*</a> on a mail server with <i>domaina.com</i> and <i>domainb.com</i> configured are mail addresses that belongs to different users.</p> + +<ul> + +<li>If set to false in the configurations, then the username is the mail address local part.</li> +</ul> +<p>It means that a user is automatically created for all the domains configured on your server.</p> +<p><i><a class="externalLink" href="mailto:[email protected]">[email protected]</a> and</i> *<a class="externalLink" href="mailto:[email protected]*">[email protected]*</a> on a mail server with <i>domaina.com</i> and <i>domainb.com</i> configured are mail addresses that belongs to the same users.</p> +<p>Here are some sample commands for managing users when virtual hosting is turned off:</p> + +<div class="source"> +<pre>{cli} AddUser user password +{cli} RemoveUser user +{cli} SetPassword user password +</pre></div></div></div> +<div class="section"> +<h2>Managing mailboxes<a name="Managing_mailboxes"></a></h2> +<p>An administrator can perform some basic operation on user mailboxes.</p> +<p>Note on mailbox formatting: mailboxes are composed of three parts.</p> + +<ul> + +<li>The namespace, indicating what kind of mailbox it is. (Shared or not?). The value for users mailboxes is #private . Note that for now no other values are supported as James do not support shared mailboxes.</li> + +<li>The username as stated above, depending on the virtual hosting value.</li> + +<li>And finally mailbox name. Be aware that ‘.’ serves as mailbox hierarchy delimiter.</li> +</ul> +<p>An administrator can delete all of the mailboxes of a user, which is not done automatically when removing a user (to avoid data loss):</p> + +<div class="source"> +<pre>{cli} DeleteUserMailboxes [email protected] +</pre></div> +<p>He can delete a specific mailbox:</p> + +<div class="source"> +<pre>{cli} DeleteMailbox #private [email protected] INBOX.toBeDeleted +</pre></div> +<p>He can list the mailboxes of a specific user:</p> + +<div class="source"> +<pre>{cli} ListUserMailboxes [email protected] +</pre></div> +<p>And finally can create a specific mailbox:</p> + +<div class="source"> +<pre>{cli} CreateMailbox #private [email protected] INBO.newFolder +</pre></div></div> +<div class="section"> +<h2>Managing mappings<a name="Managing_mappings"></a></h2> +<p>A mapping is a recipient rewritting rule. There is several kind of rewritting rules:</p> + +<ul> + +<li>address mapping: rewrite a given mail address into an other one.</li> + +<li>regex mapping.</li> +</ul> +<p>You can manage address mapping like (redirects email from <a class="externalLink" href="mailto:[email protected]">[email protected]</a> to <a class="externalLink" href="mailto:[email protected]">[email protected]</a>, then deletes the mapping):</p> + +<div class="source"> +<pre>{cli} AddAddressMapping redirected domain.new [email protected] +{cli} RemoveAddressMapping redirected domain.new [email protected] +</pre></div> +<p>You can manage regex mapping like this:</p> + +<div class="source"> +<pre>{cli} AddRegexMapping redirected domain.new .*@domain.tld +{cli} RemoveRegexMapping redirected domain.new .*@domain.tld +</pre></div> +<p>You can view mapping for a mail address:</p> + +<div class="source"> +<pre>{cli} ListUserDomainMappings user domain.tld +</pre></div> +<p>And all mappings defined on the server:</p> + +<div class="source"> +<pre>{cli} ListMappings +</pre></div></div> +<div class="section"> +<h2>Manage quotas<a name="Manage_quotas"></a></h2> +<p>Quotas are limitations on a group of mailboxes. They can limit the <b>size</b> or the <b>messages count</b> in a group of mailboxes.</p> +<p>James groups by defaults mailboxes by user (but it can be overridden), and labels each group with a quotaroot.</p> +<p>To get the quotaroot a given mailbox belongs to:</p> + +<div class="source"> +<pre>{cli} GetQuotaroot #private [email protected] INBOX +</pre></div> +<p>Then you can get the specific quotaroot limitations.</p> +<p>For the number of messages:</p> + +<div class="source"> +<pre>{cli} GetMessageCountQuota quotaroot +</pre></div> +<p>And for the storage space available:</p> + +<div class="source"> +<pre>{cli} GetStorageQuota quotaroot +</pre></div> +<p>You see the maximum allowed for these values:</p> +<p>For the number of messages:</p> + +<div class="source"> +<pre>{cli} GetMaxMessageCountQuota quotaroot +</pre></div> +<p>And for the storage space available:</p> + +<div class="source"> +<pre>{cli} GetMaxStorageQuota quotaroot +</pre></div> +<p>You can also specify maximum for these values.</p> +<p>For the number of messages:</p> + +<div class="source"> +<pre>{cli} SetMaxMessageCountQuota quotaroot value +</pre></div> +<p>And for the storage space available:</p> + +<div class="source"> +<pre>{cli} SetMaxStorageQuota quotaroot value +</pre></div> +<p>With value being an integer. Please note the use of units for storage (K, M, G). For instance:</p> + +<div class="source"> +<pre>{cli} SetMaxStorageQuota [email protected] 4G +</pre></div> +<p>Moreover, James allows to specify defaults maximum values, at the server level. Note: syntax is similar to what was exposed previously.</p> + +<div class="source"> +<pre>{cli} SetDefaultMaxMessageCountQuota value +{cli} GetDefaultMaxMessageCountQuota +{cli} SetDefaultMaxStorageQuota value +{cli} GetDefaultMaxStorageQuota +</pre></div></div> +<div class="section"> +<h2>Re-indexing<a name="Re-indexing"></a></h2> +<p>James allow you to index your emails in a search engine, for making search faster. Both ElasticSearch and Lucene are supported.</p> +<p>For some reasons, you might want to re-index your mails (inconsistencies across datastore, migrations).</p> +<p>To re-index all mails of all mailboxes of all users, type:</p> + +<div class="source"> +<pre>{cli} ReindexAll +</pre></div> +<p>And for a precise mailbox:</p> + +<div class="source"> +<pre>{cli} Reindex #private [email protected] INBOX +</pre></div></div> +<div class="section"> +<h2>Sieve scripts quota<a name="Sieve_scripts_quota"></a></h2> +<p>James implements Sieve (RFC-5228). Your users can then writte scripts and upload them to the server. Thus they can define the desired behavior upon email reception. James defines a Sieve mailet for this, and stores Sieve scripts. You can update them via the ManageSieve protocol, or via the ManageSieveMailet.</p> +<p>You can define quota for the total size of Sieve scripts, per user.</p> +<p>Syntax is similar to what was exposed for quotas. For defaults values:</p> + +<div class="source"> +<pre>{cli} GetSieveQuota +{cli} SetSieveQuota value +{cli} RemoveSieveQuota +</pre></div> +<p>And for specific user quotas:</p> + +<div class="source"> +<pre>{cli} GetSieveUserQuota [email protected] +{cli} SetSieveQuota [email protected] value +{cli} RemoveSieveUserQuota [email protected] +</pre></div></div> +<div class="section"> +<h2>Switching of mailbox implementation<a name="Switching_of_mailbox_implementation"></a></h2> +<p>Migration is experimental for now. You would need to customize <b>Spring</b> configuration to add a new mailbox manager with a different bean name.</p> +<p>You can then copy data accross mailbox managers using:</p> + +<div class="source"> +<pre>{cli} CopyMailbox srcBean dstBean +</pre></div> +<p>You will then need to reconfigure James to use the new mailbox manager.</p></div> + </div> + </div> + <div class="clear"> + <hr/> + </div> + <div id="footer"> + <div class="xright">Copyright © 2006-2017 + <a href="https://www.apache.org/">The Apache Software Foundation</a>. + All Rights Reserved. + + </div> + <div class="clear"> + <hr/> + </div> + </div> + </body> +</html>
http://git-wip-us.apache.org/repos/asf/james-site/blob/c03e4dfc/content/server/manage-jmx.html ---------------------------------------------------------------------- diff --git a/content/server/manage-jmx.html b/content/server/manage-jmx.html new file mode 100644 index 0000000..5866394 --- /dev/null +++ b/content/server/manage-jmx.html @@ -0,0 +1,298 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<!-- Generated by Apache Maven Doxia at 2017-06-14 --> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <title>Apache James Project - + Apache James Server 3 - Manage Domains</title> + <style type="text/css" media="all"> + @import url("../css/james.css"); + @import url("../css/maven-base.css"); + @import url("../css/maven-theme.css"); + @import url("../css/site.css"); + @import url("../js/jquery/css/custom-theme/jquery-ui-1.8.5.custom.css"); + @import url("../js/jquery/css/print.css"); + @import url("../js/fancybox/jquery.fancybox-1.3.4.css"); + </style> + <script type="text/javascript" src="../js/jquery/js/jquery-1.4.2.min.js"></script> + <script type="text/javascript" src="../js/jquery-ui-1.9.2.custom.min.js"></script> + <script type="text/javascript" src="../js/fancybox/jquery.fancybox-1.3.4.js"></script> + <link rel="stylesheet" href="../css/print.css" type="text/css" media="print" /> + <meta name="Date-Revision-yyyymmdd" content="20170614" /> + <meta http-equiv="Content-Language" content="en" /> + +<link title="DOAP" rel="meta" type="application/rdf+xml" href="http://james.apache.org//doap_james-project.rdf"/> + + <!-- Google Analytics --> + <script type="text/javascript"> + + var _gaq = _gaq || []; + _gaq.push(['_setAccount', 'UA-1384591-1']); + _gaq.push(['_trackPageview']); + + (function() { + var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; + ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; + var s = document.getElementsByTagName('script').item(0); s.parentNode.insertBefore(ga, s); + })(); + + </script> + </head> + <body class="composite"> + <div id="banner"> + <a href="../index.html" id="bannerLeft" title="james-logo.png"> + + + <img src="../images/logos/james-logo.png" alt="James Project" /> + </a> + <a href="http://www.apache.org/index.html" id="bannerRight"> + + + <img src="images/logos/asf_logo_small.png" alt="The Apache Software Foundation" /> + </a> + <div class="clear"> + <hr/> + </div> + </div> + <div id="breadcrumbs"> + + + <div class="xleft"> + <span id="publishDate">Last Published: 2017-06-14</span> + </div> + <div class="xright"> <a href="../index.html" title="Home">Home</a> + | + <a href="../documentation.html" title="James">James</a> + | + <a href="../mime4j/index.html" title="Mime4J">Mime4J</a> + | + <a href="../jsieve/index.html" title="jSieve">jSieve</a> + | + <a href="../jspf/index.html" title="jSPF">jSPF</a> + | + <a href="../jdkim/index.html" title="jDKIM">jDKIM</a> + | + <a href="../hupa/index.html" title="Hupa">Hupa</a> + + + </div> + <div class="clear"> + <hr/> + </div> + </div> + <div id="leftColumn"> + <div id="navcolumn"> + + + <h5>James components</h5> + <ul> + <li class="collapsed"> + <a href="../documentation.html" title="About James">About James</a> + </li> + <li class="collapsed"> + <a href="../server/index.html" title="Server">Server</a> + </li> + <li class="collapsed"> + <a href="../mailet/index.html" title="Mailets">Mailets</a> + </li> + <li class="collapsed"> + <a href="../mailbox/index.html" title="Mailbox">Mailbox</a> + </li> + <li class="collapsed"> + <a href="../protocols/index.html" title="Protocols">Protocols</a> + </li> + <li class="collapsed"> + <a href="../mpt/index.html" title="MPT">MPT</a> + </li> + </ul> + <h5>Apache Software Foundation</h5> + <ul> + <li> + <strong> + <a title="ASF" href="http://www.apache.org/">ASF</a> + </strong> + </li> + <li> + <a title="Get Involved" href="http://www.apache.org/foundation/getinvolved.html">Get Involved</a> + </li> + <li> + <a title="FAQ" href="http://www.apache.org/foundation/faq.html">FAQ</a> + </li> + <li> + <a title="License" href="http://www.apache.org/licenses/" >License</a> + </li> + <li> + <a title="Sponsorship" href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> + </li> + <li> + <a title="Thanks" href="http://www.apache.org/foundation/thanks.html">Thanks</a> + </li> + <li> + <a title="Security" href="http://www.apache.org/security/">Security</a> + </li> + </ul> + <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"> + <img class="poweredBy" alt="Built by Maven" src="../images/logos/maven-feather.png" /> + </a> + + + </div> + </div> + <div id="bodyColumn"> + <div id="contentBox"> + <!-- Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. --> + + + + <div class="section"> +<h2>Manage via JMX<a name="Manage_via_JMX"></a></h2> + + +<p>James can be managed via JMX.</p> + + +<p>The managed objects are exposed from localhost only (for security reasons) on the following URL:</p> + + +<p><tt>service:jmx:rmi://localhost/jndi/rmi://localhost:999/jmxrmi </tt></p> + + +<p>Simply launch jconsole to access the exposed attributes and methods.</p> + + +<p>If you want a remote access, change 'localhost' to your server hostname in the previous URL:</p> + + +<p><tt>service:jmx:rmi://localhost/jndi/rmi://localhost:999/jmxrmi </tt></p> + + +<p>To manage through a firewall, you will have to take care to random ports creation (read + <a class="externalLink" href="http://docs.oracle.com/javase/6/docs/technotes/guides/management/agent.html">JMX agent</a> + , + <a class="externalLink" href="http://olegz.wordpress.com/2009/03/23/jmx-connectivity-through-the-firewall">JMX through firewall</a> + and + <a class="externalLink" href="http://blogs.law.harvard.edu/hoanga/2006/07/07/getting-java-jmx-to-work-through-firewalls-properly">Getting Java JMX to work through firewalls properly</a>. + </p> + + +<p>You can install a web application management tool such as jmanage. + You will get screens such as the following one.</p> + + +<p><img src="images/jmx-management/jmx-domainlist.png" alt="" /></p> + + </div> + + +<div class="section"> +<h2>Manage Domains via JMX<a name="Manage_Domains_via_JMX"></a></h2> + + +<p>Use a JMX client to access the DomainList management function.</p> + + +<p>The managed objects are exposed from localhost only (for security reasons) on the following URL:</p> + + +<p><tt>service:jmx:rmi:///jndi/rmi://localhost:9999/jmxrmi</tt></p> + + +<p>If you want a remote access, you can install a web application management tool such as jmanage. + You will get screens such as the following one.</p> + + +<p><img src="images/jmx-management/jmx-domainlist.png" alt="" /></p> + + </div> + + +<div class="section"> +<h2>Manage Users via JMX<a name="Manage_Users_via_JMX"></a></h2> + + +<p>Use and JMX client to access the Users management function.</p> + + +<p>The managed objects are exposed from localhost only (for security reasons) on the following URL:</p> + + +<p><tt>service:jmx:rmi:///jndi/rmi://localhost:9999/jmxrmi</tt></p> + + +<p>If you want a remote access, you can install a web application management tool such as jmanage. + You will get screens such as the following one.</p> + + +<p><img src="images/jmx-management/jmx-user.png" alt="" /></p> + + </div> + + +<div class="section"> +<h2>Manage Virtual Users via JMX<a name="Manage_Virtual_Users_via_JMX"></a></h2> + + +<p>Use and JMX client to access the Virtual User management function.</p> + + +<p>The managed objects are exposed from localhost only (for security reasons) on the following URL:</p> + + +<p><tt>service:jmx:rmi:///jndi/rmi://localhost:9999/jmxrmi</tt></p> + + </div> + + + + + </div> + </div> + <div class="clear"> + <hr/> + </div> + <div id="footer"> + <div class="xright">Copyright © 2006-2017 + <a href="https://www.apache.org/">The Apache Software Foundation</a>. + All Rights Reserved. + + </div> + <div class="clear"> + <hr/> + </div> + </div> + </body> +</html> http://git-wip-us.apache.org/repos/asf/james-site/blob/c03e4dfc/content/server/manage-webadmin.html ---------------------------------------------------------------------- diff --git a/content/server/manage-webadmin.html b/content/server/manage-webadmin.html new file mode 100644 index 0000000..ffa3da9 --- /dev/null +++ b/content/server/manage-webadmin.html @@ -0,0 +1,634 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<!-- Generated by Apache Maven Doxia at 2017-06-14 --> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <title>Apache James Project - </title> + <style type="text/css" media="all"> + @import url("../css/james.css"); + @import url("../css/maven-base.css"); + @import url("../css/maven-theme.css"); + @import url("../css/site.css"); + @import url("../js/jquery/css/custom-theme/jquery-ui-1.8.5.custom.css"); + @import url("../js/jquery/css/print.css"); + @import url("../js/fancybox/jquery.fancybox-1.3.4.css"); + </style> + <script type="text/javascript" src="../js/jquery/js/jquery-1.4.2.min.js"></script> + <script type="text/javascript" src="../js/jquery-ui-1.9.2.custom.min.js"></script> + <script type="text/javascript" src="../js/fancybox/jquery.fancybox-1.3.4.js"></script> + <link rel="stylesheet" href="../css/print.css" type="text/css" media="print" /> + <meta name="Date-Revision-yyyymmdd" content="20170614" /> + <meta http-equiv="Content-Language" content="en" /> + +<link title="DOAP" rel="meta" type="application/rdf+xml" href="http://james.apache.org//doap_james-project.rdf"/> + + <!-- Google Analytics --> + <script type="text/javascript"> + + var _gaq = _gaq || []; + _gaq.push(['_setAccount', 'UA-1384591-1']); + _gaq.push(['_trackPageview']); + + (function() { + var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; + ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; + var s = document.getElementsByTagName('script').item(0); s.parentNode.insertBefore(ga, s); + })(); + + </script> + </head> + <body class="composite"> + <div id="banner"> + <a href="../index.html" id="bannerLeft" title="james-logo.png"> + + + <img src="../images/logos/james-logo.png" alt="James Project" /> + </a> + <a href="http://www.apache.org/index.html" id="bannerRight"> + + + <img src="images/logos/asf_logo_small.png" alt="The Apache Software Foundation" /> + </a> + <div class="clear"> + <hr/> + </div> + </div> + <div id="breadcrumbs"> + + + <div class="xleft"> + <span id="publishDate">Last Published: 2017-06-14</span> + </div> + <div class="xright"> <a href="../index.html" title="Home">Home</a> + | + <a href="../documentation.html" title="James">James</a> + | + <a href="../mime4j/index.html" title="Mime4J">Mime4J</a> + | + <a href="../jsieve/index.html" title="jSieve">jSieve</a> + | + <a href="../jspf/index.html" title="jSPF">jSPF</a> + | + <a href="../jdkim/index.html" title="jDKIM">jDKIM</a> + | + <a href="../hupa/index.html" title="Hupa">Hupa</a> + + + </div> + <div class="clear"> + <hr/> + </div> + </div> + <div id="leftColumn"> + <div id="navcolumn"> + + + <h5>James components</h5> + <ul> + <li class="collapsed"> + <a href="../documentation.html" title="About James">About James</a> + </li> + <li class="expanded"> + <a href="../server/index.html" title="Server">Server</a> + <ul> + <li class="none"> + <a href="../server/advantages.html" title="Advantages">Advantages</a> + </li> + <li class="none"> + <a href="../server/objectives.html" title="Objectives">Objectives</a> + </li> + <li class="expanded"> + <a href="../server/quick-start.html" title="User Manual">User Manual</a> + <ul> + <li class="collapsed"> + <a href="../server/features.html" title="1. Features">1. Features</a> + </li> + <li class="none"> + <a href="../server/packaging.html" title="2. Packaging">2. Packaging</a> + </li> + <li class="none"> + <a href="../server/install.html" title="3. Install James">3. Install James</a> + </li> + <li class="collapsed"> + <a href="../server/config.html" title="4. Configure James">4. Configure James</a> + </li> + <li class="expanded"> + <a href="../server/manage.html" title="5. Manage">5. Manage</a> + <ul> + <li class="none"> + <strong>WebAdmin</strong> + </li> + <li class="none"> + <a href="../server/manage-cli.html" title="Command line">Command line</a> + </li> + <li class="none"> + <a href="../server/metrics.html" title="Metrics">Metrics</a> + </li> + </ul> + </li> + <li class="collapsed"> + <a href="../server/monitor.html" title="6. Monitor">6. Monitor</a> + </li> + <li class="collapsed"> + <a href="../server/upgrade.html" title="7. Upgrade">7. Upgrade</a> + </li> + <li class="collapsed"> + <a href="../server/dev.html" title="8. Developers Corner">8. Developers Corner</a> + </li> + </ul> + </li> + <li class="none"> + <a href="../mail.html#James_Mailing_lists" title="Mailing Lists">Mailing Lists</a> + </li> + <li class="none"> + <a href="../server/release-notes.html" title="Release Notes">Release Notes</a> + </li> + <li class="none"> + <a href="../server/apidocs/index.html" title="Javadoc">Javadoc</a> + </li> + <li class="none"> + <a href="https://issues.apache.org/jira/browse/JAMES" title="Issue Tracker">Issue Tracker</a> + </li> + <li class="none"> + <a href="https://github.com/apache/james-project" title="Sources">Sources</a> + </li> + <li class="none"> + <a href="../server/rfcs.html" title="RFCs">RFCs</a> + </li> + <li class="none"> + <a href="../other-versions.html" title="Other versions">Other versions</a> + </li> + <li class="none"> + <a href="../download.cgi#Apache_James_Server" title="Download releases">Download releases</a> + </li> + </ul> + </li> + <li class="collapsed"> + <a href="../mailet/index.html" title="Mailets">Mailets</a> + </li> + <li class="collapsed"> + <a href="../mailbox/index.html" title="Mailbox">Mailbox</a> + </li> + <li class="collapsed"> + <a href="../protocols/index.html" title="Protocols">Protocols</a> + </li> + <li class="collapsed"> + <a href="../mpt/index.html" title="MPT">MPT</a> + </li> + </ul> + <h5>Apache Software Foundation</h5> + <ul> + <li> + <strong> + <a title="ASF" href="http://www.apache.org/">ASF</a> + </strong> + </li> + <li> + <a title="Get Involved" href="http://www.apache.org/foundation/getinvolved.html">Get Involved</a> + </li> + <li> + <a title="FAQ" href="http://www.apache.org/foundation/faq.html">FAQ</a> + </li> + <li> + <a title="License" href="http://www.apache.org/licenses/" >License</a> + </li> + <li> + <a title="Sponsorship" href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> + </li> + <li> + <a title="Thanks" href="http://www.apache.org/foundation/thanks.html">Thanks</a> + </li> + <li> + <a title="Security" href="http://www.apache.org/security/">Security</a> + </li> + </ul> + <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"> + <img class="poweredBy" alt="Built by Maven" src="../images/logos/maven-feather.png" /> + </a> + + + </div> + </div> + <div id="bodyColumn"> + <div id="contentBox"> + <h1>Web administration for JAMES</h1> +<p>The web administration supports for now the CRUD operations on the domains,the users, their mailboxes and their quotas, as described in the following sections.</p> +<p><b>WARNING</b>: This API allow authentication only via the use of JWT. If not configured with JWT, an administrator should ensure an attacker can not use this API.</p> +<p>Please also note <b>webadmin</b> is only enabled with <b>Guice</b>. You can not use it when using James with <b>Spring</b>, as the required injections are not implemented.</p> +<div class="section"> +<h2>Administrating domains<a name="Administrating_domains"></a></h2> +<div class="section"> +<h3>Create a domain<a name="Create_a_domain"></a></h3> + +<div class="source"> +<pre>curl -XPUT http://ip:port/domains/domainToBeCreated +</pre></div> +<p>Resource name domainToBeCreated:</p> + +<ul> + +<li>can not be null or empty</li> + +<li>can not contain ‘@’</li> + +<li>can not be more than 255 characters</li> + +<li>can not contain ‘/’</li> +</ul> +<p>Response codes:</p> + +<ul> + +<li>204: The domain was successfully added</li> + +<li>400: The domain name is invalid</li> + +<li>500: Internal error while adding the domain</li> +</ul></div> +<div class="section"> +<h3>Delete a domain<a name="Delete_a_domain"></a></h3> + +<div class="source"> +<pre>curl -XDELETE http://ip:port/domains/domainToBeDeleted +</pre></div> +<p>Response codes:</p> + +<ul> + +<li>204: The domain was successfully removed</li> + +<li>500: Internal error while removing the domain</li> +</ul></div> +<div class="section"> +<h3>Test if a domain exists<a name="Test_if_a_domain_exists"></a></h3> + +<div class="source"> +<pre>curl -XGET http://ip:port/domains/domainName +</pre></div> +<p>Response codes:</p> + +<ul> + +<li>204: The domain exists</li> + +<li>404: The domain does not exist</li> + +<li>500: Internal error while accessing the domains</li> +</ul></div> +<div class="section"> +<h3>Get the list of domains<a name="Get_the_list_of_domains"></a></h3> + +<div class="source"> +<pre>curl -XGET http://ip:port/domains +</pre></div> +<p>Possible response:</p> + +<div class="source"> +<pre>{"domains":["domain1", "domain2"]} +</pre></div> +<p>Response codes:</p> + +<ul> + +<li>200: The domain list was successfully retrieved</li> + +<li>500: Internal error while accessing the domains</li> +</ul></div></div> +<div class="section"> +<h2>Administrating users<a name="Administrating_users"></a></h2> +<div class="section"> +<h3>Create a user<a name="Create_a_user"></a></h3> + +<div class="source"> +<pre>curl -XPUT http://ip:port/users/usernameToBeUsed -d '{"password":"passwordToBeUsed"}' +</pre></div> +<p>Resource name usernameToBeUsed:</p> + +<ul> + +<li>can not be null or empty</li> + +<li>can not be more than 255 characters</li> + +<li>can not contain ‘/’</li> +</ul> +<p>Response codes:</p> + +<ul> + +<li>204: The user was successfully created</li> + +<li>400: The user name or the payload is invalid</li> + +<li>409: Conflict: A concurrent modification make that query to fail</li> + +<li>500: Internal error while adding the user</li> +</ul> +<p>Note: if the user is already, its password will be updated.</p></div> +<div class="section"> +<h3>Updating a user password<a name="Updating_a_user_password"></a></h3> +<p>Same than Create, but a user need to exist.</p> +<p>If the user do not exist, then it will be created.</p></div> +<div class="section"> +<h3>Deleting a user<a name="Deleting_a_user"></a></h3> + +<div class="source"> +<pre>curl -XDELETE http://ip:port/users/userToBeDeleted +</pre></div> +<p>Response codes:</p> + +<ul> + +<li>204: The user was successfully deleted</li> + +<li>500: Internal error while deleting the user</li> +</ul></div> +<div class="section"> +<h3>Retrieving the user list<a name="Retrieving_the_user_list"></a></h3> + +<div class="source"> +<pre>curl -XGET http://ip:port/users +</pre></div> +<p>The answer looks like:</p> + +<div class="source"> +<pre>[{"username":"[email protected]"},{"username":"[email protected]"}] +</pre></div> +<p>Response codes:</p> + +<ul> + +<li>200: The user name list was successfully retrieved</li> + +<li>500: Internal error while retrieving the users</li> +</ul></div></div> +<div class="section"> +<h2>Administrating user mailboxes<a name="Administrating_user_mailboxes"></a></h2> +<div class="section"> +<h3>Creating a mailbox<a name="Creating_a_mailbox"></a></h3> + +<div class="source"> +<pre>curl -XPUT http://ip:port/users/usernameToBeUsed/mailboxes/mailboxNameToBeCreated +</pre></div> +<p>Resource name usernameToBeUsed should be an existing user Resource name mailboxNameToBeCreated should not be empty, nor contain # & % * characters.</p> +<p>Response codes:</p> + +<ul> + +<li>204: The mailbox now exists on the server</li> + +<li>400: Invalid mailbox name</li> + +<li>404: The user name does not exist</li> + +<li>500: Internal error</li> +</ul> +<p>To create nested mailboxes, for instance a work mailbox inside the INBOX mailbox, people should use the . separator. The sample query is:</p> + +<div class="source"> +<pre>curl -XDELETE http://ip:port/users/usernameToBeUsed/mailboxes/INBOX.work +</pre></div></div> +<div class="section"> +<h3>Deleting a mailbox and its children<a name="Deleting_a_mailbox_and_its_children"></a></h3> + +<div class="source"> +<pre>curl -XDELETE http://ip:port/users/usernameToBeUsed/mailboxes/mailboxNameToBeCreated +</pre></div> +<p>Resource name usernameToBeUsed should be an existing user Resource name mailboxNameToBeCreated should not be empty</p> +<p>Response codes:</p> + +<ul> + +<li>204: The mailbox now does not exist on the server</li> + +<li>400: Invalid mailbox name</li> + +<li>404: The user name does not exist</li> + +<li>500: Internal error</li> +</ul></div> +<div class="section"> +<h3>Testing existence of a mailbox<a name="Testing_existence_of_a_mailbox"></a></h3> + +<div class="source"> +<pre>curl -XGET http://ip:port/users/usernameToBeUsed/mailboxes/mailboxNameToBeCreated +</pre></div> +<p>Resource name usernameToBeUsed should be an existing user Resource name mailboxNameToBeCreated should not be empty</p> +<p>Response codes:</p> + +<ul> + +<li>204: The mailbox exists</li> + +<li>400: Invalid mailbox name</li> + +<li>404: The user name does not exist, the mailbox does not exist</li> + +<li>500: Internal error</li> +</ul></div> +<div class="section"> +<h3>Listing user mailboxes<a name="Listing_user_mailboxes"></a></h3> + +<div class="source"> +<pre>curl -XGET http://ip:port/users/usernameToBeUsed/mailboxes +</pre></div> +<p>The answer looks like:</p> + +<div class="source"> +<pre>[{"mailboxName":"INBOX"},{"mailboxName":"outbox"}] +</pre></div> +<p>Resource name usernameToBeUsed should be an existing user</p> +<p>Response codes:</p> + +<ul> + +<li>200: The mailboxes list was successfully retrieved</li> + +<li>404: The user name does not exist</li> + +<li>500: Internal error</li> +</ul></div> +<div class="section"> +<h3>Deleting user mailboxes<a name="Deleting_user_mailboxes"></a></h3> + +<div class="source"> +<pre>curl -XDELETE http://ip:port/users/usernameToBeUsed/mailboxes +</pre></div> +<p>Resource name usernameToBeUsed should be an existing user</p> +<p>Response codes:</p> + +<ul> + +<li>204: The user do not have mailboxes anymore</li> + +<li>404: The user name does not exist</li> + +<li>500: Internal error</li> +</ul></div></div> +<div class="section"> +<h2>Administrating quotas<a name="Administrating_quotas"></a></h2> +<p>A quota with a value of -1 means unlimited</p> +<div class="section"> +<h3>Reading per quotaroot mail count limitation<a name="Reading_per_quotaroot_mail_count_limitation"></a></h3> + +<div class="source"> +<pre>curl -XGET http://ip:port/quota/count +</pre></div> +<p>The answer looks like:</p> + +<div class="source"> +<pre>100000 +</pre></div> +<p>Response codes: - 200: Nothing special - 500: Internal error</p></div> +<div class="section"> +<h3>Updating per quotaroot mail count limitation<a name="Updating_per_quotaroot_mail_count_limitation"></a></h3> + +<div class="source"> +<pre>curl -XPUT http://ip:port/quota/count -d '1024000000' +</pre></div> +<p>Response codes:</p> + +<ul> + +<li>204: Value updated</li> + +<li>400: The body is not a positive integer</li> + +<li>500: Internal error</li> +</ul></div> +<div class="section"> +<h3>Removing per quotaroot mail count limitation<a name="Removing_per_quotaroot_mail_count_limitation"></a></h3> +<p>It removes the limitation, and the quota becomes UNILIMITED.</p> + +<div class="source"> +<pre>curl -XDELETE http://ip:port/quota/count +</pre></div> +<p>Response codes:</p> + +<ul> + +<li>204: Value updated to UNLIMITED</li> + +<li>500: Internal error</li> +</ul></div> +<div class="section"> +<h3>Reading per quotaroot size limitation<a name="Reading_per_quotaroot_size_limitation"></a></h3> + +<div class="source"> +<pre>curl -XGET http://ip:port/quota/size +</pre></div> +<p>The answer looks like:</p> + +<div class="source"> +<pre>100000 +</pre></div> +<p>It represent the allowed Byte count of the mailboxes belonging to this quotaroot.</p> +<p>Response codes:</p> + +<ul> + +<li>200: Nothing special</li> + +<li>500: Internal error</li> +</ul></div> +<div class="section"> +<h3>Updating per quotaroot size limitation<a name="Updating_per_quotaroot_size_limitation"></a></h3> + +<div class="source"> +<pre>curl -XPUT http://ip:port/quota/size -d '1024000000' +</pre></div> +<p>Response codes:</p> + +<ul> + +<li>204: Value updated</li> + +<li>400: The body is not a positive integer</li> + +<li>500: Internal error</li> +</ul></div> +<div class="section"> +<h3>Removing per quotaroot size limitation<a name="Removing_per_quotaroot_size_limitation"></a></h3> +<p>It removes the limitation, and the quota becomes UNILIMITED.</p> + +<div class="source"> +<pre>curl -XDELETE http://ip:port/quota/size +</pre></div> +<p>Response codes:</p> + +<ul> + +<li>204: Value updated to UNLIMITED</li> + +<li>500: Internal error</li> +</ul></div> +<div class="section"> +<h3>Managing count and size at the same time<a name="Managing_count_and_size_at_the_same_time"></a></h3> + +<div class="source"> +<pre>curl -XGET http://ip:port/quota/ +</pre></div> +<p>Will return:</p> + +<div class="source"> +<pre>{"count":52,"size":42} +</pre></div> +<p>Response codes:</p> + +<ul> + +<li>200: Success</li> + +<li>500: Internal error</li> +</ul> +<p>You can also write the value the same way:</p> + +<div class="source"> +<pre>curl -XPUT http://ip:port/quota/ -d '{"count":52,"size":42}' +</pre></div> +<p>Response codes:</p> + +<ul> + +<li>204: Success</li> + +<li>400: Invalid JSON, or numbers are less than -1.</li> + +<li>500: Internal error</li> +</ul></div></div> + </div> + </div> + <div class="clear"> + <hr/> + </div> + <div id="footer"> + <div class="xright">Copyright © 2006-2017 + <a href="https://www.apache.org/">The Apache Software Foundation</a>. + All Rights Reserved. + + </div> + <div class="clear"> + <hr/> + </div> + </div> + </body> +</html> http://git-wip-us.apache.org/repos/asf/james-site/blob/c03e4dfc/content/server/manage.html ---------------------------------------------------------------------- diff --git a/content/server/manage.html b/content/server/manage.html index df9ef25..8bfa62d 100644 --- a/content/server/manage.html +++ b/content/server/manage.html @@ -18,7 +18,7 @@ under the License. --> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<!-- Generated by Apache Maven Doxia at 2017-06-08 --> +<!-- Generated by Apache Maven Doxia at 2017-06-14 --> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> @@ -34,10 +34,10 @@ @import url("../js/fancybox/jquery.fancybox-1.3.4.css"); </style> <script type="text/javascript" src="../js/jquery/js/jquery-1.4.2.min.js"></script> - <script type="text/javascript" src="../js/jquery/js/jquery-ui-1.8.5.custom.min.js"></script> + <script type="text/javascript" src="../js/jquery-ui-1.9.2.custom.min.js"></script> <script type="text/javascript" src="../js/fancybox/jquery.fancybox-1.3.4.js"></script> <link rel="stylesheet" href="../css/print.css" type="text/css" media="print" /> - <meta name="Date-Revision-yyyymmdd" content="20170608" /> + <meta name="Date-Revision-yyyymmdd" content="20170614" /> <meta http-equiv="Content-Language" content="en" /> <link title="DOAP" rel="meta" type="application/rdf+xml" href="http://james.apache.org//doap_james-project.rdf"/> @@ -77,7 +77,7 @@ <div class="xleft"> - <span id="publishDate">Last Published: 2017-06-08</span> + <span id="publishDate">Last Published: 2017-06-14</span> </div> <div class="xright"> <a href="../index.html" title="Home">Home</a> | @@ -124,22 +124,22 @@ <a href="../server/features.html" title="1. Features">1. Features</a> </li> <li class="none"> - <a href="../server/install.html" title="2. Install James">2. Install James</a> + <a href="../server/packaging.html" title="2. Packaging">2. Packaging</a> + </li> + <li class="none"> + <a href="../server/install.html" title="3. Install James">3. Install James</a> </li> <li class="collapsed"> - <a href="../server/config.html" title="3. Configure James">3. Configure James</a> + <a href="../server/config.html" title="4. Configure James">4. Configure James</a> </li> - <li class="expanded"> - <strong>4. Manage</strong> + <li class="expanded"> + <strong>5. Manage</strong> <ul> <li class="none"> - <a href="../server/manage-domains.html" title="Domains">Domains</a> - </li> - <li class="none"> - <a href="../server/manage-users.html" title="Users">Users</a> + <a href="../server/manage-webadmin.html" title="WebAdmin">WebAdmin</a> </li> <li class="none"> - <a href="../server/manage-recipientrewrite.html" title="Recipient Rewrite">Recipient Rewrite</a> + <a href="../server/manage-cli.html" title="Command line">Command line</a> </li> <li class="none"> <a href="../server/metrics.html" title="Metrics">Metrics</a> @@ -147,13 +147,13 @@ </ul> </li> <li class="collapsed"> - <a href="../server/monitor.html" title="5. Monitor">5. Monitor</a> + <a href="../server/monitor.html" title="6. Monitor">6. Monitor</a> </li> <li class="collapsed"> - <a href="../server/upgrade.html" title="6. Upgrade">6. Upgrade</a> + <a href="../server/upgrade.html" title="7. Upgrade">7. Upgrade</a> </li> <li class="collapsed"> - <a href="../server/dev.html" title="7. Developers Corner">7. Developers Corner</a> + <a href="../server/dev.html" title="8. Developers Corner">8. Developers Corner</a> </li> </ul> </li> @@ -252,7 +252,7 @@ <div class="section"> <h2>Manage James Server<a name="Manage_James_Server"></a></h2> -<!-- --> + <p>You need to make sure that your user/domain/mail repository configuration is correct before managing. If you change your user/domain/mail repository type (i.e. file to database) or the configuration of your user repository @@ -264,107 +264,18 @@ the configuration are incorporated into the running system.</p> -<p>You are now ready to manage <a href="manage-domains.html">Domains</a>, - <a href="manage-users.html">Users</a> and <a href="manage-recipientrewrite.html">Recipient Rewrite Table</a>.</p> - - -<p>You can manage James via:</p> - - -<ol style="list-style-type: decimal"> - -<li><a href="#Manage_via_CLI">CLI (Client Line Interface)</a></li> - -<li><a href="#Manage_via_JMX">JMX (Java Management Extension)</a></li> - </ol> - - -<div class="section"> -<h3>Manage via CLI<a name="Manage_via_CLI"></a></h3> - - -<p>Once James is up and listening, managing via the command line interface is simple.</p> - - -<p>cd bin</p> - - -<p>./james-cli.sh (or james-cli.bat on windows) ./james-cli.sh -h localhost -p 9999</p> - - -<p>You will be shown with a list of commands.</p> - - -<div class="source"> -<pre> - usage: java org.apache.james.cli.ServerCmd --host <arg> <command> - -h,--host </arg> node hostname or ip address - -p,--port </arg> remote jmx agent port number - Available commands: - adduser </username> </password> - removeuser </username> - listusers - adddomain </domainname> - removedomain </domainname> - listdomains - containsdomain - </pre></div> - - -<p>Note the address and port defined in conf/jmx.properties (default is jmx.address=127.0.0.1 and jmx.port=9999)</p> +<p>You are now ready to manage Some internal James data-structure.</p> - </div> - - -<div class="section"> -<h3>Manage via JMX<a name="Manage_via_JMX"></a></h3> - - -<p>James can be managed via JMX.</p> - - -<p>The managed objects are exposed from localhost only (for security reasons) on the following URL:</p> - - -<p><tt>service:jmx:rmi://localhost/jndi/rmi://localhost:999/jmxrmi </tt></p> - -<p>Simply launch jconsole to access the exposed attributes and methods.</p> -<!-- <div class="ui-widget"> - <div class="ui-state-error ui-corner-all" style="padding: 0 .7em;"> - <p><span class="ui-icon ui-icon-alert" style="float: left; margin-right: .3em;"></span> - <strong>JMX on Windows:</strong> - to let windows start with jmx username/password enabled, - you need to modify the security settings for the jmx files like descripted here: - <a href="http://download.oracle.com/javase/1.5.0/docs/guide/management/security-windows.html"> - http://download.oracle.com/javase/1.5.0/docs/guide/management/security-windows.html</a> - </p> - </div> - </div> --> - -<p>If you want a remote access, change 'localhost' to your server hostname in the previous URL:</p> - - -<p><tt>service:jmx:rmi://localhost/jndi/rmi://localhost:999/jmxrmi </tt></p> - - -<p>To manage through a firewall, you will have to take care to random ports creation (read - <a class="externalLink" href="http://docs.oracle.com/javase/6/docs/technotes/guides/management/agent.html">JMX agent</a> - , - <a class="externalLink" href="http://olegz.wordpress.com/2009/03/23/jmx-connectivity-through-the-firewall">JMX through firewall</a> - and - <a class="externalLink" href="http://blogs.law.harvard.edu/hoanga/2006/07/07/getting-java-jmx-to-work-through-firewalls-properly">Getting Java JMX to work through firewalls properly</a>. - </p> - - -<p>You can install a web application management tool such as jmanage. - You will get screens such as the following one.</p> - - -<p><img src="images/jmx-management/jmx-domainlist.png" alt="" /></p> +<ul>You can do this: + +<li>Using <a href="manage-cli.html">The command line client</a></li> + +<li>Using <a href="manage-webadmin.html">The web REST interface</a> (Guice only)</li> + +<li>Using <a href="manage-jmx.html">The JMX interface</a> (Experimental)</li> + </ul> - </div> - </div> http://git-wip-us.apache.org/repos/asf/james-site/blob/c03e4dfc/content/server/metrics.html ---------------------------------------------------------------------- diff --git a/content/server/metrics.html b/content/server/metrics.html index b2add2a..b268015 100644 --- a/content/server/metrics.html +++ b/content/server/metrics.html @@ -18,7 +18,7 @@ under the License. --> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<!-- Generated by Apache Maven Doxia at 2017-06-08 --> +<!-- Generated by Apache Maven Doxia at 2017-06-14 --> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> @@ -34,10 +34,10 @@ @import url("../js/fancybox/jquery.fancybox-1.3.4.css"); </style> <script type="text/javascript" src="../js/jquery/js/jquery-1.4.2.min.js"></script> - <script type="text/javascript" src="../js/jquery/js/jquery-ui-1.8.5.custom.min.js"></script> + <script type="text/javascript" src="../js/jquery-ui-1.9.2.custom.min.js"></script> <script type="text/javascript" src="../js/fancybox/jquery.fancybox-1.3.4.js"></script> <link rel="stylesheet" href="../css/print.css" type="text/css" media="print" /> - <meta name="Date-Revision-yyyymmdd" content="20170608" /> + <meta name="Date-Revision-yyyymmdd" content="20170614" /> <meta http-equiv="Content-Language" content="en" /> <link title="DOAP" rel="meta" type="application/rdf+xml" href="http://james.apache.org//doap_james-project.rdf"/> @@ -77,7 +77,7 @@ <div class="xleft"> - <span id="publishDate">Last Published: 2017-06-08</span> + <span id="publishDate">Last Published: 2017-06-14</span> </div> <div class="xright"> <a href="../index.html" title="Home">Home</a> | @@ -124,22 +124,22 @@ <a href="../server/features.html" title="1. Features">1. Features</a> </li> <li class="none"> - <a href="../server/install.html" title="2. Install James">2. Install James</a> + <a href="../server/packaging.html" title="2. Packaging">2. Packaging</a> + </li> + <li class="none"> + <a href="../server/install.html" title="3. Install James">3. Install James</a> </li> <li class="collapsed"> - <a href="../server/config.html" title="3. Configure James">3. Configure James</a> + <a href="../server/config.html" title="4. Configure James">4. Configure James</a> </li> - <li class="expanded"> - <a href="../server/manage.html" title="4. Manage">4. Manage</a> + <li class="expanded"> + <a href="../server/manage.html" title="5. Manage">5. Manage</a> <ul> <li class="none"> - <a href="../server/manage-domains.html" title="Domains">Domains</a> - </li> - <li class="none"> - <a href="../server/manage-users.html" title="Users">Users</a> + <a href="../server/manage-webadmin.html" title="WebAdmin">WebAdmin</a> </li> <li class="none"> - <a href="../server/manage-recipientrewrite.html" title="Recipient Rewrite">Recipient Rewrite</a> + <a href="../server/manage-cli.html" title="Command line">Command line</a> </li> <li class="none"> <strong>Metrics</strong> @@ -147,13 +147,13 @@ </ul> </li> <li class="collapsed"> - <a href="../server/monitor.html" title="5. Monitor">5. Monitor</a> + <a href="../server/monitor.html" title="6. Monitor">6. Monitor</a> </li> <li class="collapsed"> - <a href="../server/upgrade.html" title="6. Upgrade">6. Upgrade</a> + <a href="../server/upgrade.html" title="7. Upgrade">7. Upgrade</a> </li> <li class="collapsed"> - <a href="../server/dev.html" title="7. Developers Corner">7. Developers Corner</a> + <a href="../server/dev.html" title="8. Developers Corner">8. Developers Corner</a> </li> </ul> </li> http://git-wip-us.apache.org/repos/asf/james-site/blob/c03e4dfc/content/server/monitor-folders.html ---------------------------------------------------------------------- diff --git a/content/server/monitor-folders.html b/content/server/monitor-folders.html index 65b23e8..f3d64bf 100644 --- a/content/server/monitor-folders.html +++ b/content/server/monitor-folders.html @@ -18,7 +18,7 @@ under the License. --> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<!-- Generated by Apache Maven Doxia at 2017-06-08 --> +<!-- Generated by Apache Maven Doxia at 2017-06-14 --> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> @@ -34,10 +34,10 @@ @import url("../js/fancybox/jquery.fancybox-1.3.4.css"); </style> <script type="text/javascript" src="../js/jquery/js/jquery-1.4.2.min.js"></script> - <script type="text/javascript" src="../js/jquery/js/jquery-ui-1.8.5.custom.min.js"></script> + <script type="text/javascript" src="../js/jquery-ui-1.9.2.custom.min.js"></script> <script type="text/javascript" src="../js/fancybox/jquery.fancybox-1.3.4.js"></script> <link rel="stylesheet" href="../css/print.css" type="text/css" media="print" /> - <meta name="Date-Revision-yyyymmdd" content="20170608" /> + <meta name="Date-Revision-yyyymmdd" content="20170614" /> <meta http-equiv="Content-Language" content="en" /> <link title="DOAP" rel="meta" type="application/rdf+xml" href="http://james.apache.org//doap_james-project.rdf"/> @@ -77,7 +77,7 @@ <div class="xleft"> - <span id="publishDate">Last Published: 2017-06-08</span> + <span id="publishDate">Last Published: 2017-06-14</span> </div> <div class="xright"> <a href="../index.html" title="Home">Home</a> | @@ -124,16 +124,19 @@ <a href="../server/features.html" title="1. Features">1. Features</a> </li> <li class="none"> - <a href="../server/install.html" title="2. Install James">2. Install James</a> + <a href="../server/packaging.html" title="2. Packaging">2. Packaging</a> + </li> + <li class="none"> + <a href="../server/install.html" title="3. Install James">3. Install James</a> </li> <li class="collapsed"> - <a href="../server/config.html" title="3. Configure James">3. Configure James</a> + <a href="../server/config.html" title="4. Configure James">4. Configure James</a> </li> - <li class="collapsed"> - <a href="../server/manage.html" title="4. Manage">4. Manage</a> + <li class="collapsed"> + <a href="../server/manage.html" title="5. Manage">5. Manage</a> </li> <li class="expanded"> - <a href="../server/monitor.html" title="5. Monitor">5. Monitor</a> + <a href="../server/monitor.html" title="6. Monitor">6. Monitor</a> <ul> <li class="none"> <a href="../server/monitor-logging.html" title="Logging">Logging</a> @@ -147,10 +150,10 @@ </ul> </li> <li class="collapsed"> - <a href="../server/upgrade.html" title="6. Upgrade">6. Upgrade</a> + <a href="../server/upgrade.html" title="7. Upgrade">7. Upgrade</a> </li> <li class="collapsed"> - <a href="../server/dev.html" title="7. Developers Corner">7. Developers Corner</a> + <a href="../server/dev.html" title="8. Developers Corner">8. Developers Corner</a> </li> </ul> </li> --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
