blob: a67c711f3119a7e8fb689f08c72a9b17d01e3575 [file] [log] [blame]
<?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 2021-09-26 -->
<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 &#x2013; Installation</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="author" content="Serge Knystautas" />
<meta name="Date-Revision-yyyymmdd" content="20210926" />
<meta http-equiv="Content-Language" content="en" />
<!-- 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="https://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: 2021-09-26</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>
</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">
<section>
<h2><a name="Step_0:_Building._.28only_necessary_for_daily_snapshots.29"></a>Step 0: Building. (only necessary for daily snapshots)</h2>
<p> If you have downloaded a binary distribution, you do not need to build James.
Proceed directory to Step 1. </p>
<p> To compile James from the source code you need <a class="externalLink" href="http://ant.apache.org/">Ant</a>.
This is a Java-tailored, XML-configured, extensible build or make system. We
are currently using Ant 1.4, which is included in the source distribution.</p>
<p> If you have downloaded a daily snapshot, you need to build a distribution.
James includes Ant to compile and package its distribution. Extract the snapshot
to your favorite directory, cd to that directory and run the build by calling &quot;build&quot;
or &quot;./build.sh&quot; which will create an unpacked binary distribution
in the dist directory, but no archives.</p>
<p>This &quot;./dist&quot; directory is the distribution directory used in Step 1 and beyond.
You may either cd to ./dist, or you may copy and rename the dist directory to your
installation directory.</p>
<p>If you prefer you can run build with the &quot;dist&quot; task &quot;build dist&quot;
(or &quot;./build.sh dist&quot;). This will create the distribution in the &quot;./dist&quot;
directory as well as create .tgz and .zip copies of this directory, however it may
require other resources to build the documentation. </p>
<p> <b>Warning!</b> Any changes you've made in the 'dist' directory
will be lost after a recompilation. If you are making changes to the conf.xml
or other files, we recommend you backup and then change the copies in src to
avoid losing work. </p>
</section> <section>
<h2><a name="Step_1:_Installation."></a>Step 1: Installation.</h2>
<p> Download distibution. Extract or copy all the files in the archive or dist
directory intto your installation directory. </p>
</section>
<section>
<h2><a name="Step_2:_Configuration."></a>Step 2: Configuration.</h2>
<p>
Read the short and snappy documentation at docs/index.html for a proper
overview of configuring the system.
</p>
<p>
<b>Summary</b> (for impatient people)
</p>
<p> M$ users should just run /bin/run.bat. Unix users will find run.sh under the
same directory. A JVM must be present and its location specified in the JAVA_HOME
environment variable. Set this on windows at the command prompt with something
similar to &quot;set JAVA_HOME=\jdk1.3\bin&quot; on *nix with JAVA_HOME=/jdk1.3/</p>
<p> Running [run* --help] will provide a simple command line help. </p>
<p>
Most UNIX systems require superuser privileges to open sockets below 1024,
which includes the IANA-standard SMTP (on port 25) and POP3 (on port 110).
These default ports can be changed in the conf.xml file. (Obviously, you
would then need to reconfigure your clients. This may not be an option if
you want to receive mail from external mailservers.)
</p>
<p> The Avalon framework will unpack the necessary configuration files you will
need to start the server. Wait until it is running, stop it again (ctrl-c), and
edit the configuration (thereafter *nix users can run the server in the background
using ./run.sh &amp;). For basic use, you only need to set two items in the
JAMES.conf.xml file: a root password for the remote administration facility
and the IP address of a DNS server. Once you have edited the configuration files,
press 'Enter' on the terminal where Avalon is waiting. </p>
</section>
<section>
<h2><a name="Step_4:_Kickstart."></a>Step 4: Kickstart.</h2>
<p>
Once started you'll see a message saying Avalon is running. This means that
Avalon has loaded JAMES and every other needed Block (see /logs/avalon.log)
and is now waiting for a socket request.
Since at the beginning James is empty, it will not have any local users
registered.
To register a local user open a telnet session with localhost on port 4555,
log in as root (&quot;root[enter] &lt;password-you-set-in-conf.xml&gt;[enter]&quot;) and
type &quot;help&quot; for a list of available commands in the &quot;JAMES remote
administrator tool&quot;. It is really a basic set but should allow you to test
installation.
</p>
<p>
Once you have some local users registered, try sending mail to one of them
@localhost with SMTP (port 25) (assuming you have not changed the default
server names in the conf.xml file). You'll see the mail appear under
../var/mail/localinbox/[user].
Try now to retrieve that mail using POP3 (port 110).
Trace out JAMES actions in /logs/*info.log.
Actions that will be taken by JAMES on incoming mail are configured in
the mailet pipe line (/conf/JAMES.conf.xml). Look at it if you want to
understand what's happening.
</p>
<p>
Good luck :)
</p>
</section>
</div>
</div>
<div class="clear">
<hr/>
</div>
<div id="footer">
<div class="xright">Copyright &#169; 2006-2021
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All Rights Reserved.
</div>
<div class="clear">
<hr/>
</div>
</div>
</body>
</html>