blob: fae3d84e6d392b4d0502dbf8f57e027e3d0d7fc5 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>James Server -
James 2.3 - Installation</title>
<style type="text/css" media="all">
@import url("./css/maven-base.css");
@import url("./css/maven-theme.css");
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
</head>
<body class="composite">
<div id="banner">
<a href="http://james.apache.org/index.html" id="bannerLeft">
<img src="images/james-server-logo.gif" alt="" />
</a>
<a href="http://www.apache.org/index.html" id="bannerRight">
<img src="images/asf-logo-reduced.gif" alt="" />
</a>
<div class="clear">
<hr/>
</div>
</div>
<div id="breadcrumbs">
<div class="xleft">
Last Published: 04/19/2007
</div>
<div class="xright"> <a href="../../index.html">JAMES Project</a>
|
<a href="../../server/index.html">Server</a>
|
<a href="../../jspf/index.html">jSPF</a>
|
<a href="../../mime4j/index.html">Mime4J</a>
|
<a href="../../jsieve/index.html">JSieve</a>
|
<a href="../../postage/index.html">Postage</a>
</div>
<div class="clear">
<hr/>
</div>
</div>
<div id="leftColumn">
<div id="navcolumn">
<h5>James Server</h5>
<ul>
<li class="none">
<a href="../index.html">Overview</a>
</li>
<li class="none">
<a href="../design_objectives.html">Objectives</a>
</li>
<li class="expanded">
<a href="../FAQ.html">James FAQ</a>
<ul>
<li class="none">
<a href="../james_and_sendmail.html">James and Sendmail</a>
</li>
</ul>
</li>
<li class="none">
<a href="http://wiki.apache.org/james">Wiki</a>
</li>
<li class="none">
<a href="../rfclist.html">Useful RFCs</a>
</li>
</ul>
<h5>Concepts</h5>
<ul>
<li class="none">
<a href="summary.html">Summary</a>
</li>
<li class="none">
<a href="spoolmanager.html">SpoolManager</a>
</li>
<li class="none">
<a href="repositories.html">Repositories</a>
</li>
<li class="none">
<a href="mailet_api.html">The Mailet API</a>
</li>
</ul>
<h5>How to...</h5>
<ul>
<li class="none">
<a href="build_instructions.html">Build James</a>
</li>
<li class="none">
<strong>Install James</strong>
</li>
</ul>
<h5>Configuration</h5>
<ul>
<li class="none">
<a href="dns_configuration.html">DNS Server</a>
</li>
<li class="none">
<a href="pop3_configuration.html">POP3 Server</a>
</li>
<li class="none">
<a href="smtp_configuration.html">SMTP Server</a>
</li>
<li class="none">
<a href="nntp_configuration.html">NNTP Server</a>
</li>
<li class="none">
<a href="fetchmail_configuration.html">FetchMail</a>
</li>
<li class="none">
<a href="remotemanager_configuration.html">RemoteManager</a>
</li>
<li class="none">
<a href="spoolmanager_configuration.html">SpoolManager</a>
</li>
<li class="none">
<a href="serverwide_configuration.html">Server-wide</a>
</li>
<li class="none">
<a href="adding_users.html">Adding Users</a>
</li>
<li class="none">
<a href="provided_matchers.html">Provided Matchers</a>
</li>
<li class="none">
<a href="provided_mailets.html">Provided Mailets</a>
</li>
</ul>
<h5>Common Configurations</h5>
<ul>
<li class="none">
<a href="smtp_auth.html">Using SMTP AUTH</a>
</li>
<li class="none">
<a href="using_database.html">Using a Database with James</a>
</li>
<li class="none">
<a href="usingTLS.html">Using TLS/SSL</a>
</li>
<li class="none">
<a href="mailing_lists.html">Creating Mailing Lists</a>
</li>
</ul>
<h5>Customization</h5>
<ul>
<li class="none">
<a href="custom_matcher.html">How to write a custom Matcher</a>
</li>
<li class="none">
<a href="custom_mailet.html">How to write a custom Mailet</a>
</li>
</ul>
<h5>Project</h5>
<ul>
<li class="none">
<a href="changelog.html">Changelog</a>
</li>
</ul>
<h5>Project Documentation</h5>
<ul>
<li class="collapsed">
<a href="project-info.html">Project Information</a>
</li>
<li class="collapsed">
<a href="project-reports.html">Project Reports</a>
</li>
</ul>
<h5>Project</h5>
<ul>
<li class="none">
<a href="http://issues.apache.org/jira/browse/JAMES">Bug Database</a>
</li>
<li class="none">
<a href="http://svn.apache.org/viewvc/james/server/">Source Code</a>
</li>
<li class="none">
<a href="../todo.html">TODO</a>
</li>
</ul>
<h5>Downloads</h5>
<ul>
<li class="none">
<a href="../../download.cgi">Stable releases</a>
</li>
<li class="none">
<a href="../../downloadunstable.cgi">Unstable releases</a>
</li>
<li class="none">
<a href="http://people.apache.org/builds/james/nightly/">Nightly builds</a>
</li>
</ul>
<a href="http://maven.apache.org/" title="Built by Maven" id="poweredBy">
<img alt="Built by Maven" src="./images/logos/maven-feather.png"></img>
</a>
</div>
</div>
<div id="bodyColumn">
<div id="contentBox">
<a name="Requirements"></a><div class="section"><h2>Requirements</h2>
<p>James requires a Java Runtime Environment of Java version 1.4 or higher installed to run the
James application. The exact JREs available depend on the platform. A JRE must be downloaded and
installed before James can run. In addition, the environment variable JAVA_HOME must be set to
the JRE home directory before running James.</p>
<p>
On Unix platforms, root access will be required to run James. On these platforms, access to ports
below 1024 is generally restricted to the root user. As SMTP, POP3, and NNTP all need to open
server sockets on such ports in standard configurations, James requires root access.
</p>
<p>
Obviously James also requires sufficient disk space, processor power, and network bandwidth. But,
other than what's been discussed here, it has no additional special requirements.</p>
</div>
<a name="Installation Comments"></a><div class="section"><h2>Installation Comments</h2>
<p>James installation involves a number of steps, each of which is described in some detail in the
following sections. But as this sequence of steps has confused some users in the past, additional
comments seem warranted.</p>
<p>It is important to realize that the James configuration files are not unpacked from the James
distribution until the first time James is started. This is a consequence of the design of the
Avalon Phoenix container used to run James. Once James has been started, the distribution will
be unpacked. The server should be stopped, the configuration files edited, and the server restarted.</p>
<p>So the installation sequence is: <b>1) Start, 2) Stop, 3) Edit, 4) Restart</b>.</p>
</div>
<a name="Installing the Binary"></a><div class="section"><h2>Installing the Binary</h2>
<a name="Installing a Stand-alone James Server"></a><div class="section"><h3>Installing a Stand-alone James Server</h3>
<p>Obtain the full James binary distribution from the <a href="http://james.apache.org/download.cgi">James
release mirrors</a>. Unpack the archive into your James installation directory. Go to the bin subdirectory of the
installation directory and run the &quot;run&quot; script (either run.sh or run.bat, depending on your platform). The configuration
file is now unpacked and available for editing.</p>
</div>
<a name="Deploying a James Server in a Pre-Existing Phoenix Container"></a><div class="section"><h3>Deploying a James Server in a Pre-Existing Phoenix Container</h3>
<p><strong>Warning!</strong> - James requires Phoenix version 4.0.x to run. There is a known issue with logging in Phoenix 4.0, so version
4.0.1 or higher is strongly recommended. Before attempting to deploy James in a Phoenix container, please make sure
it meets these version criteria.</p>
<p>Deploying James in Phoenix is fairly easy. Obtain the james.sar file from the <a href="http://james.apache.org/download.cgi">James
release mirrors</a>. It can be found in the &quot;Other Binaries&quot;
area of the distribution directory. After downloading the james.sar,
simply place it in the apps subdirectory of your Phoenix installation. Restart Phoenix, and the james.sar should unpack and you
will be ready to configure your James installation.</p>
</div>
</div>
<a name="Initial Configuration"></a><div class="section"><h2>Initial Configuration</h2>
<p>
After installing the binary, the next step is to adjust the initial configuration. The server should be stopped, and then
configuration can proceed. The most essential configuration is set in the config.xml file. This file can be
found in the apps/james/SAR-INF subdirectory of the installation directory.</p>
<p>The out of the box configuration makes certain assumptions and has some default values that are unlikely to
be appropriate for real-world servers. There are a few issues that should be addressed immediately upon installation:
</p>
<ul>
<li>RemoteManager Administrator Account - Before the RemoteManager service can be used to add users to this server
installation an administrator account must be created. More information can be found <a href="remotemanager_configuration.html">here</a>.</li>
<li>DNS Servers - James needs to have access to a DNS server for domain resolution. The out of the box
configuration assumes that there is a DNS server on localhost. In general administrators will have to change
the configuration to point to a valid DNS server. This can be done by adjusting the dnsserver configuration
block in the config.xml. More information can be found <a href="serverwide_configuration.html">here</a>.</li>
<li>Managed Domain Names/IP Addresses - Out of the box, James only handles mail that is sent to recipients at
localhost. It will attempt to deliver all other email to remote SMTP servers. To allow James to handle email
for your domain or IP address, you simply need to add the appropriate domain name or IP address to the servernames
section of the config.xml. More information can be found <a href="serverwide_configuration.html">here</a>.</li>
<li>Postmaster Address - More information can be found <a href="serverwide_configuration.html">here</a>.</li>
</ul>
In addition to adjusting these parameters, you may wish to consult the documentation for a discussion of
common configurations. A list of such configurations, as well as the steps necessary to configure them, can
be found <a href="index.html">here</a>.
</div>
<a name="Starting James with Your Configuration"></a><div class="section"><h2>Starting James with Your Configuration</h2>
Once you have edited the configuration file you will need to restart James so that the changes take
effect. When James starts, a list of the James services and the ports on which they are listening should
be displayed on the console. Additional information about the system configuration is printed in the James log files
upon startup.
Finally, after configuration is complete, it will be necessary to create user accounts before the James server
will be fully operational. Instructions on creating user accounts can be found
<a href="adding_users.html">here</a>.
</div>
</div>
</div>
<div class="clear">
<hr/>
</div>
<div id="footer">
<div class="xright">&#169;
2002-2007
The Apache Software Foundation
</div>
<div class="clear">
<hr/>
</div>
</div>
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
</script>
<script type="text/javascript">
_uacct = "UA-1384591-1";
urchinTracker();
</script>
</body>
</html>