| <?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 2016-10-20 --> |
| <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 Server 3.0 - |
| Apache James Server 3 - Quick Start for Cassandra backend</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/js/jquery-ui-1.8.5.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="20161020" /> |
| <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="Apache James Server 3.0" /> |
| </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: 2016-10-20</span> |
| </div> |
| <div class="xright"> <a href="../../index.html" title="Home">Home</a> |
| | |
| <a href="../index.html" title="Server">Server</a> |
| | |
| <a href="../../hupa/index.html" title="Hupa">Hupa</a> |
| | |
| <a href="../../protocols/index.html" title="Protocols">Protocols</a> |
| | |
| <a href="../../mailet/index.html" title="Mailets">Mailets</a> |
| | |
| <a href="../../mailbox/index.html" title="Mailbox">Mailbox</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="../../mpt/index.html" title="MPT">MPT</a> |
| | |
| <a href="../../postage/index.html" title="Postage">Postage</a> |
| |
| |
| </div> |
| <div class="clear"> |
| <hr/> |
| </div> |
| </div> |
| <div id="leftColumn"> |
| <div id="navcolumn"> |
| |
| |
| <h5>Overview</h5> |
| <ul> |
| <li class="none"> |
| <a href="index.html" title="Introduction">Introduction</a> |
| </li> |
| <li class="none"> |
| <a href="release-notes.html" title="Release Notes">Release Notes</a> |
| </li> |
| </ul> |
| <h5>Features</h5> |
| <ul> |
| <li class="none"> |
| <a href="feature-mailetcontainer.html" title="Mailet Container">Mailet Container</a> |
| </li> |
| <li class="none"> |
| <a href="feature-queue-priority.html" title="Queue Priority">Queue Priority</a> |
| </li> |
| <li class="none"> |
| <a href="feature-persistence.html" title="Persistence">Persistence</a> |
| </li> |
| <li class="none"> |
| <a href="feature-protocols.html" title="Protocols">Protocols</a> |
| </li> |
| <li class="none"> |
| <a href="feature-smtp-hooks.html" title="SMTP Hooks">SMTP Hooks</a> |
| </li> |
| <li class="none"> |
| <a href="feature-performance.html" title="Performance">Performance</a> |
| </li> |
| <li class="none"> |
| <a href="feature-security.html" title="Security">Security</a> |
| </li> |
| </ul> |
| <h5>User Manual</h5> |
| <ul> |
| <li class="none"> |
| <a href="quick-start.html" title="1. Quick Start">1. Quick Start</a> |
| </li> |
| <li class="none"> |
| <a href="install.html" title="2. Install James">2. Install James</a> |
| </li> |
| <li class="collapsed"> |
| <a href="config.html" title="3. Configure James">3. Configure James</a> |
| </li> |
| <li class="collapsed"> |
| <a href="manage.html" title="4. Manage">4. Manage</a> |
| </li> |
| <li class="collapsed"> |
| <a href="monitor.html" title="5. Monitor">5. Monitor</a> |
| </li> |
| <li class="collapsed"> |
| <a href="upgrade.html" title="6. Upgrade">6. Upgrade</a> |
| </li> |
| </ul> |
| <h5>Developers Corner</h5> |
| <ul> |
| <li class="none"> |
| <a href="dev.html" title="Architecture">Architecture</a> |
| </li> |
| <li class="none"> |
| <a href="dev-build.html" title="Build from source">Build from source</a> |
| </li> |
| <li class="none"> |
| <a href="dev-database-schema.html" title="Database Schema">Database Schema</a> |
| </li> |
| <li class="collapsed"> |
| <a href="dev-extend.html" title="Develop Extensions">Develop Extensions</a> |
| </li> |
| <li class="collapsed"> |
| <a href="dev-provided.html" title="Provided Extensions">Provided Extensions</a> |
| </li> |
| </ul> |
| <h5>References</h5> |
| <ul> |
| <li class="none"> |
| <a href="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> |
| </ul> |
| <h5>About James</h5> |
| <ul> |
| <li class="none"> |
| <a href="../../index.html" title="Overview">Overview</a> |
| </li> |
| <li class="none"> |
| <a href="../../newsarchive.html" title="News">News</a> |
| </li> |
| <li class="none"> |
| <a href="../../mail.html" title="Mailing Lists">Mailing Lists</a> |
| </li> |
| <li class="none"> |
| <a href="../../contribute.html" title="Contributing">Contributing</a> |
| </li> |
| <li class="none"> |
| <a href="../../guidelines.html" title="Guidelines">Guidelines</a> |
| </li> |
| <li class="none"> |
| <a href="http://wiki.apache.org/james" title="Wiki">Wiki</a> |
| </li> |
| <li class="none"> |
| <a href="../../team-list.html" title="Who We Are">Who We Are</a> |
| </li> |
| <li class="none"> |
| <a href="../../license.html" title="License">License</a> |
| </li> |
| <li class="none"> |
| <a href="../../thanks.html" title="Thanks">Thanks</a> |
| </li> |
| <li class="none"> |
| <a href="../../support.html" title="Professional support">Professional support</a> |
| </li> |
| </ul> |
| <h5>Download</h5> |
| <ul> |
| <li class="none"> |
| <a href="../../download.cgi" title="Releases">Releases</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>Quick Start for Cassandra backend<a name="Quick_Start_for_Cassandra_backend"></a></h2> |
| |
| |
| <p>The goal of the document is to allow anyone to start with James on Docker as an operational mail server.</p> |
| |
| <p>The method described bellow should not be used in production.</p> |
| |
| |
| <div class="source"> |
| <pre> |
| Step 0: Requirements |
| #################### |
| |
| * Java 8 SDK |
| * 512MB RAM (launches with -Xmx512M - can use less, can need more, depending on load) |
| * Docker 1.7.1+ |
| * Maven 3.3 |
| |
| Step 1: Download |
| ################# |
| |
| * Clone the James git repository |
| |
| <i>$ git clone git://git.apache.org/james-project.git</i> |
| |
| Step 3: Compile |
| ############### |
| |
| * Compile the Guice Cassandra project |
| |
| <i>$ mvn package -DskipTests -am -pl server/container/guice/cassandra-guice</i> |
| |
| Step 3: Deploy |
| ############## |
| |
| 3.1. Deploy Cassandra (optional) |
| You may skip this part if you already have a running Cassandra on your network. |
| |
| <i>$ docker run --name=cassandra cassandra:2.2.3</i> |
| |
| 3.2. Deploy ElasticSearch (optional) |
| You may skip this part if you already have a running ElasticSearch on your network. |
| |
| <i>$ docker run --name=elasticsearch elasticsearch:2.2.1</i> |
| |
| Step 4: Configure |
| ################# |
| |
| * Follow the <a href="config-guice.html">Cassandra guice</a> configuration documentation. |
| * We need to provide the key we will use for TLS. For obvious reasons, this is not provided in this git. |
| |
| Copy your TSL keys to ./conf/keystore or generate it using : |
| |
| <i>$ keytool -genkey -alias james -keyalg RSA -keystore ./conf/keystore</i> |
| |
| You will have to put the keystore password in the right xml files (imapserver.xml, pop3server.xml, smtpserver.xml) |
| |
| Step 5: Start |
| ############# |
| |
| * Run James |
| |
| <i>$ java -Dworking.directory=<b>WORKING_PATH</b> -jar server/container/cassandra-guice/target/james-server-cassandra-guice-beta5-SNAPSHOT.jar</i> |
| |
| Where : |
| - <b>WORKING_PATH</b> is the path where are located your configuration file folder. |
| |
| Step 6: Create Domains and Users |
| ################################ |
| |
| Time to add domains and users. |
| |
| <i>$ java -jar server/container/cli/target/james-server-cli-3.0.0-beta5-SNAPSHOT.jar -h 127.0.0.1 -p 9999 adddomain <b>DOMAIN</b></i> |
| |
| <i>$ java -jar server/container/cli/target/james-server-cli-3.0.0-beta5-SNAPSHOT.jar -h 127.0.0.1 -p 9999 adduser <b>USER_MAIL_ADDRESS</b> <b>PASSWORD</b></i> |
| |
| Where : |
| - <b>DOMAIN</b> is the domain you want to handle with this server. |
| - <b>USER_MAIL_ADDRESS</b> is the mail address that will be used by this user. |
| - <b>PASSWORD</b> is the password that will be used by this user. |
| |
| Step 8: Test |
| ############ |
| |
| $ telnet <b>HOSTNAME</b> 25 |
| Trying <b>HOSTNAME</b>... |
| Connected to <b>HOSTNAME</b>. |
| Escape character is '^]'. |
| 220 172.16.1.131 SMTP Server (JAMES SMTP Server 3.0-beta4) ready Sat, 6 Nov 2010 17:31:33 +0100 (CET) |
| ehlo test |
| 250-172.16.1.131 Hello test (aoscommunity.com [127.0.0.1]) |
| 250-PIPELINING |
| 250-ENHANCEDSTATUSCODES |
| 250 8BITMIME |
| mail from:<YOUR_NAME@YOUR_DOMAIN> |
| 250 2.1.0 Sender <YOUR_NAME@YOUR_DOMAIN> OK |
| rcpt to:<YOUR_NAME@YOUR_DOMAIN> |
| 250 2.1.5 Recipient <YOUR_NAME@YOUR_DOMAIN> OK |
| data |
| 354 Ok Send data ending with <CRLF>.<CRLF> |
| subject: test |
| |
| this is a test |
| . |
| 250 2.6.0 Message received |
| quit |
| Connection closed by foreign host. |
| |
| Step 8: Manage |
| ############## |
| |
| 8.1. Manage via james-cli |
| |
| usage: |
| <i>$ java -jar server/container/cli/target/james-server-cli-3.0.0-beta5-SNAPSHOT.jar -h 127.0.0.1 -p 9999</i> |
| |
| Available commands: |
| adduser </username> </password> |
| removeuser </username> |
| listusers |
| adddomain </domainname> |
| removedomain </domainname> |
| listdomains |
| |
| 8.2. Manage via JMX |
| |
| * Launch jconsole (or any other JMX client) and connect on URL=service:jmx:rmi:///jndi/rmi://localhost:<b>HOSTNAME</b>/jmxrmi |
| * Select the MBeans tab and open the org.apache.james node to view attributes and execute operations. |
| |
| Step 9: Monitor |
| ############### |
| |
| * Monitor the ./log/james-server.log log file. |
| |
| * Monitor via JMX (launch any JMX client and connect to URL=service:jmx:rmi:///jndi/rmi://<b>HOSTNAME</b>:9999/jmxrmi) |
| |
| * Check ./var folder usage |
| |
| mail |
| +-error |
| +-address-error |
| +-relay-denied |
| +-spam |
| |
| store |
| +-maildir |
| +-derby |
| +-jackrabbit |
| +-activemq |
| +-brokers |
| +-james |
| +-blob-transfer |
| +-outgoing |
| +-spool |
| |
| * Check /tmp folder usage |
| |
| </pre></div> |
| |
| </div> |
| |
| |
| |
| |
| </div> |
| </div> |
| <div class="clear"> |
| <hr/> |
| </div> |
| <div id="footer"> |
| <div class="xright">Copyright © 2002-2016 |
| <a href="http://www.apache.org/">The Apache Software Foundation</a>. |
| All Rights Reserved. |
| |
| </div> |
| <div class="clear"> |
| <hr/> |
| </div> |
| </div> |
| </body> |
| </html> |