You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by er...@apache.org on 2010/11/06 18:42:38 UTC
svn commit: r1032122 - in /james/server/trunk/src/site: ./ xdoc/
Author: eric
Date: Sat Nov 6 17:42:37 2010
New Revision: 1032122
URL: http://svn.apache.org/viewvc?rev=1032122&view=rev
Log:
Quick Start + TLS/Sieve pages.
Added:
james/server/trunk/src/site/xdoc/config-sieve.xml
james/server/trunk/src/site/xdoc/config-tls.xml
- copied, changed from r1031965, james/server/trunk/src/site/xdoc/config-common.xml
Removed:
james/server/trunk/src/site/xdoc/config-common.xml
Modified:
james/server/trunk/src/site/site.xml
james/server/trunk/src/site/xdoc/config-listmanager.xml
james/server/trunk/src/site/xdoc/config-mailstores.xml
james/server/trunk/src/site/xdoc/config-smtp-lmtp.xml
james/server/trunk/src/site/xdoc/config-users.xml
james/server/trunk/src/site/xdoc/install.xml
james/server/trunk/src/site/xdoc/quick-start.xml
Modified: james/server/trunk/src/site/site.xml
URL: http://svn.apache.org/viewvc/james/server/trunk/src/site/site.xml?rev=1032122&r1=1032121&r2=1032122&view=diff
==============================================================================
--- james/server/trunk/src/site/site.xml (original)
+++ james/server/trunk/src/site/site.xml Sat Nov 6 17:42:37 2010
@@ -70,7 +70,8 @@
<item name="FetchMail" href="/config-fetchmail.html" />
<item name="Remote Manager" href="/config-remotemanager.html" />
<item name="List Manager" href="/config-listmanager.html" />
- <item name="Common Configs" href="/config-common.html" />
+ <item name="TLS" href="/config-tls.html" />
+ <item name="Sieve" href="/config-sieve.html" />
</item>
<item name="4. Manage James" href="/manage.html" collapse="true" >
<item name="Domains" href="/manage-domains.html" />
Modified: james/server/trunk/src/site/xdoc/config-listmanager.xml
URL: http://svn.apache.org/viewvc/james/server/trunk/src/site/xdoc/config-listmanager.xml?rev=1032122&r1=1032121&r2=1032122&view=diff
==============================================================================
--- james/server/trunk/src/site/xdoc/config-listmanager.xml (original)
+++ james/server/trunk/src/site/xdoc/config-listmanager.xml Sat Nov 6 17:42:37 2010
@@ -46,33 +46,33 @@
<p>You need to setup two mailets.</p>
<p>The first mailet that you need to setup is an instance of the <a
- href="provided-mailets.html#AvalonListservManager">Avalon Listserv
+ href="dev-provided-mailets.html#AvalonListservManager">Avalon Listserv
Manager</a> mailet. This will handle subscribing and unsubscribing.
[Note: the current code does not support confirmed opt-in, just basic
commands.] The <a
- href="provided-matchers.html#CommandForListserv">CommandForListserv</a>
+ href="dev-provided-matchers.html#CommandForListserv">CommandForListserv</a>
matcher is used to invoke match messages containing commands for the
mailing list.</p>
<p>The second mailet is an instance of the <a
- href="provided-mailets.html#AvalonListserv">Avalon Listserv</a>
+ href="dev-provided-mailets.html#AvalonListserv">Avalon Listserv</a>
mailet. That mailet actually receives messages for the list and
causes them to be distributed. The <a
- href="provided-matchers.html#RecipientIs">RecipientIs</a> matcher
+ href="dev-provided-matchers.html#RecipientIs">RecipientIs</a> matcher
is used to match messages intended for the mailing list.</p>
<p>The following illustrates the two <mailet> elements that need to be added:</p>
<source>
- <mailet match="CommandForListserv=<i>list-name</i>@<i>domain</i>"
- class="AvalonListservManager">
- <repositoryName><i>list-name</i></repositoryName>
- </mailet>
-
- <mailet match="RecipientIs=<i>list-name</i>@<i>domain</i>" class="AvalonListserv">
- <repositoryName><i>list-name</i></repositoryName>
- ... list options ...
- </mailet>
+<mailet match="CommandForListserv=<i>list-name</i>@<i>domain</i>"
+ class="AvalonListservManager">
+ <repositoryName><i>list-name</i></repositoryName>
+</mailet>
+
+<mailet match="RecipientIs=<i>list-name</i>@<i>domain</i>" class="AvalonListserv">
+ <repositoryName><i>list-name</i></repositoryName>
+ ... list options ...
+</mailet>
</source>
</subsection>
@@ -92,11 +92,11 @@
the list subscriber.</p>
<source>
- <repository name="<i>list-name</i>"
- class="org.apache.james.userrepository.ListUsersJdbcRepository"
- destinationURL="db://maildb/lists/<i>list-name</i>">
- <sqlFile>file://conf/sqlResources.xml</sqlFile>
- </repository>
+<repository name="<i>list-name</i>"
+ class="org.apache.james.userrepository.ListUsersJdbcRepository"
+ destinationURL="db://maildb/lists/<i>list-name</i>">
+ <sqlFile>file://conf/sqlResources.xml</sqlFile>
+</repository>
</source>
<p>The following illustrates a file-system repository using the
@@ -106,10 +106,10 @@
will be addressed in a future version of James.]</p>
<source>
- <repository name="<i>list-name</i>"
- class="org.apache.james.userrepository.UsersFileRepository">
- <destination URL="file://var/lists/<i>list-name</i>/" />
- </repository>
+<repository name="<i>list-name</i>"
+ class="org.apache.james.userrepository.UsersFileRepository">
+ <destination URL="file://var/lists/<i>list-name</i>/" />
+</repository>
</source>
</subsection>
Modified: james/server/trunk/src/site/xdoc/config-mailstores.xml
URL: http://svn.apache.org/viewvc/james/server/trunk/src/site/xdoc/config-mailstores.xml?rev=1032122&r1=1032121&r2=1032122&view=diff
==============================================================================
--- james/server/trunk/src/site/xdoc/config-mailstores.xml (original)
+++ james/server/trunk/src/site/xdoc/config-mailstores.xml Sat Nov 6 17:42:37 2010
@@ -29,6 +29,133 @@
</section>
+ <section name="Database Configuration">
+
+ <p>James has the capacity to use a JDBC-compatible database for storage of both message and user
+ data. This section explains how to configure James to utilize a database for storage.</p>
+
+ <subsection name="Requirements">
+
+ <p>Using James with a database backend has certain requirements. Database configuration is
+ extremely vendor-specific, so we can only state the requirements in general terms.</p>
+ <p>There must be a database instance accessible from the James server. An account with appropriate
+ privileges (select, insert, delete into tables, and on initial startup creation of tables) and
+ with sufficient quota for the data to be inserted into the database must be available. Also,
+ since James will use JDBC to access the database, an appropriate JDBC driver must be
+ available for installation.</p>
+ <p>It is important to verify the functionality of the database before attempting to configure
+ James to use it as a repository. This will help ensure that configuration issues are properly
+ identified.</p>
+
+ </subsection>
+
+ <subsection name="Connection Configuration">
+
+ <p>Configuring the Phoenix container to work with JDBC is the first step in enabling James database support.</p>
+ <p>First, Phoenix must be able to load the JDBC classes. To make these classes available to Phoenix, place the
+ jar/zip files for the JDBC driver in the lib subdirectory of the James installation directory. Any additional
+ libraries upon which the JDBC library depends that are not part of the standard Java distribution should also be
+ added to this directory.</p>
+ <p>Second, the config.xml must be modified so that Phoenix initializes the database connections. The relevant
+ configuration is in the database-connections block. The database-connections tag has only a single child tag,
+ data-sources. This latter tag is a simple container tag for a number of child elements. It is these child
+ elements, <strong>data-source</strong> elements, that define the database connections.</p>
+ <p>Each <strong>data-source</strong> tag has a required attribute, <strong>name</strong>. This value
+ must be unique to each <strong>data-source</strong> element. It is this <strong>name</strong> that will
+ be used to specify the database connection in other parts of the config.xml file.</p>
+ <p>The <strong>data-source</strong> element has five children, all of whom are required.
+ <ul>
+ <li><strong>driver</strong> - The class name of the database driver to be used.</li>
+ <li><strong>dburl</strong> - The JDBC connection URL for your database/driver.</li>
+ <li><strong>user</strong> - The user id of the database account to be used by this connection.</li>
+ <li><strong>password</strong> - The password of the database account to be used by this connection.</li>
+ <li><strong>max</strong> - The maximum number of JDBC connections to be used concurrently by this data-source.</li>
+ </ul>
+ </p>
+ <p>Generally, you simply configure these entries in the config.xml
+ file, which are commented, in order to use a database with James. You
+ would then use the db: or dbfile: prefix instead of the file: prefix
+ for a particular repository. You are currently free to mix and match
+ your use of these different storage types for different repositories.
+ See <a href="repositories.html">Repository Configuration</a> for
+ more details. A sample configuration is described below.</p>
+
+ </subsection>
+
+ <subsection name="SQL Statement Configuration">
+
+ <p>The precise SQL statements used by James to modify and view data stored in the database are specified in
+ an external configuration file. The sqlResources.xml file
+ (which can be found in the apps/james/conf directory) is a sample configuration file that contains the SQL
+ statements used by James. The purpose of each of these statements, as well as the repository with which
+ they are associated, is documented in situ.</p>
+
+ <p>If you are using a SQL database with unusual SQL commands or data types, you may
+ need to add special entries to this file. The James team
+ does try to keep sqlResources.xml updated, so if you do run into a
+ special case, please let us know.</p>
+
+ <p>Also, if the database tables are not created a priori, but rather are to be created by James
+ upon startup, special attention should be paid to the "create table" statements in this file. Such
+ statements tend to be both very database and very database instance specific.</p>
+ </subsection>
+
+ <subsection name="Sample James Configuration">
+
+ <p>The config.xml file has commented out examples for MySQL and
+ MSSQL data sources, and for each of the standard repositories. For
+ example, to use MySQL, you would uncomment and adjust the following
+ data-source element.</p>
+
+ <p>You must create the database, in this case named
+ <strong>mail</strong>, the user, and assign the user privileges.
+ You may create the tables before running James or, if you so choose, James
+ will automatically create the tables it needs. In the latter case the user
+ must have table creation privileges.</p>
+
+ <source>
+<data-source name="maildb" class="org.apache.james.util.mordred.JdbcDataSource">
+ <driver>com.mysql.jdbc.Driver</driver>
+ <dburl>jdbc:mysql://127.0.0.1/mail</dburl>
+ <user>username</user>
+ <password>password</password>
+ <max>20</max>
+</data-source>
+ </source>
+
+ <p>Once the data-source element has been created, it can be referenced elsewhere in the config.xml
+ file. For example, the following element tells James to use the maildb data-source and dbfile
+ storage mechanism for the message spool:</p>
+
+ <source>
+<spoolRepository>
+ <repository destinationURL="dbfile://maildb/spool/spool" type="SPOOL"/>
+</spoolRepository>
+ </source>
+
+ <p>The following element tells James to store mailboxes in a the maildb data-source:</p>
+
+ <source>
+<inboxRepository>
+ <repository destinationURL="db://maildb/inbox/" type="MAIL"/>
+</inboxRepository>
+ </source>
+
+ <p>The configuration file contains further examples.</p>
+
+ </subsection>
+
+ <subsection name="Known Issues">
+
+ <p>There are some vendor-specific subtleties in using databases with James that have been observed
+ by some users. These issues (and methods to resolve them) are recorded on the
+ <a href="../FAQ.html">James FAQ</a> as they are reported. Please consult the FAQ if you encounter any
+ difficulties.</p>
+
+ </subsection>
+
+ </section>
+
</body>
</document>
Added: james/server/trunk/src/site/xdoc/config-sieve.xml
URL: http://svn.apache.org/viewvc/james/server/trunk/src/site/xdoc/config-sieve.xml?rev=1032122&view=auto
==============================================================================
--- james/server/trunk/src/site/xdoc/config-sieve.xml (added)
+++ james/server/trunk/src/site/xdoc/config-sieve.xml Sat Nov 6 17:42:37 2010
@@ -0,0 +1,34 @@
+<?xml version="1.0"?>
+<!--
+ 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.
+-->
+<document>
+
+ <properties>
+ <title>James 3.0 - Sieve Configuration</title>
+ </properties>
+
+<body>
+
+ <section name="Configure Sieve">
+
+ </section>
+
+</body>
+
+</document>
Modified: james/server/trunk/src/site/xdoc/config-smtp-lmtp.xml
URL: http://svn.apache.org/viewvc/james/server/trunk/src/site/xdoc/config-smtp-lmtp.xml?rev=1032122&r1=1032121&r2=1032122&view=diff
==============================================================================
--- james/server/trunk/src/site/xdoc/config-smtp-lmtp.xml (original)
+++ james/server/trunk/src/site/xdoc/config-smtp-lmtp.xml Sat Nov 6 17:42:37 2010
@@ -87,9 +87,60 @@
</section>
- <section name="LMTP Configuration">
+ <section name="Configure Authenticated SMTP (SMTP AUTH)">
+
+ <p>Authenticated SMTP is a method of securing your SMTP server. With SMTP AUTH enabled senders who wish to
+ relay mail through the SMTP server (that is, send mail that is eventually to be delivered to another SMTP
+ server) must authenticate themselves to James before sending their message. Mail that is to be delivered
+ locally does not require authentication. This method ensures that spammers cannot use your SMTP server
+ to send unauthorized mail, while still enabling users who may not have fixed IP addresses to send their
+ messages.</p>
+ <p>Mail servers that allow spammers to send unauthorized email are known as open relays. So SMTP AUTH
+ is a mechanism for ensuring that your server is not an open relay .</p>
+ <p>At this time James only supports simple user name / password authentication.</p>
- </section>
+ <subsection name="Configuring James for Authenticated SMTP">
+
+ <p>Configuring James for Authentication SMTP is a multi-step process. It requires several adjustments of
+ the config.xml. To enable SMTP AUTH, do the following:</p>
+ <p>First, as mentioned above, SMTP AUTH requires that James be able to distinguish between mail intended
+ for local delivery and mail intended for remote delivery. James makes this determination by matching the
+ domain to which the mail was sent against the <servernames> element of the James configuration block. Any
+ local domains should be explicitly listed as <servername> elements in this section.</p>
+ <p>Second, James is configured out of the box so as to not serve as an open relay for spammers. This is done
+ by restricting the IP addresses from which mail will be accepted using the RemoteAddrNotInNetwork mailet. This
+ restriction must be lifted before users can send from arbitrary clients. To do this, comment out or remove the
+ mailet tag containing the class attribute "RemoteAddrNotInNetwork". This tag can be found in the spoolmanager
+ configuration block, in the root processor configuration.</p>
+ <p>Third, set the authRequired element of the smtpserver configuration block to "true".</p>
+ <p>Fourth, if you wish to ensure that authenticated users can only send email from their own account, you may
+ optionally set the verifyIdentity element of the smtpserver configuration block to "true".</p>
+ <p>Fifth, restart James. This will pull in all of your configuration changes.</p>
+
+ </subsection>
+
+ <subsection name="Verifying Your Configuration">
+
+ <p>Finally, you need to verify that your configuration was done correctly. This step is
+ <strong>important</strong> and should not be skipped.</p>
+ <p>Verify that you have not inadvertantly configured your server as an open relay. This is most easily
+ accomplished by using the service provided at <a href="http://www.ordb.org">ORDB.org</a>. ORDB.org will
+ check your mail server and inform you if it is an open relay.</p>
+ <p>It is extremely important that your server not be configured as an open relay. Aside from potential
+ costs associated with usage by spammers, connections from servers that are determined to be open relays
+ are routinely rejected by SMTP servers. This can severely impede the ability of your mail server to
+ send mail.</p>
+ <p>Of course it is also necessary to confirm that users and log in and send
+ mail through your server. This can be accomplished using any standard mail client (i.e. Outlook,
+ Eudora, Evolution).</p>
+
+ </subsection>
+
+ </section>
+
+ <section name="LMTP Configuration">
+
+ </section>
</body>
Copied: james/server/trunk/src/site/xdoc/config-tls.xml (from r1031965, james/server/trunk/src/site/xdoc/config-common.xml)
URL: http://svn.apache.org/viewvc/james/server/trunk/src/site/xdoc/config-tls.xml?p2=james/server/trunk/src/site/xdoc/config-tls.xml&p1=james/server/trunk/src/site/xdoc/config-common.xml&r1=1031965&r2=1032122&rev=1032122&view=diff
==============================================================================
--- james/server/trunk/src/site/xdoc/config-common.xml (original)
+++ james/server/trunk/src/site/xdoc/config-tls.xml Sat Nov 6 17:42:37 2010
@@ -20,248 +20,85 @@
<document>
<properties>
- <title>James 3.0 - Common configurations</title>
+ <title>James 3.0 - TLS Configuration</title>
</properties>
<body>
- <section name="Use LDAP to store users">
+ <section name="TLS Configuration">
- </section>
-
- <section name="Configure Sieve">
-
- </section>
-
- <section name="Authenticated SMTP (SMTP AUTH)">
-
- <p>Authenticated SMTP is a method of securing your SMTP server. With SMTP AUTH enabled senders who wish to
- relay mail through the SMTP server (that is, send mail that is eventually to be delivered to another SMTP
- server) must authenticate themselves to James before sending their message. Mail that is to be delivered
- locally does not require authentication. This method ensures that spammers cannot use your SMTP server
- to send unauthorized mail, while still enabling users who may not have fixed IP addresses to send their
- messages.</p>
- <p>Mail servers that allow spammers to send unauthorized email are known as open relays. So SMTP AUTH
- is a mechanism for ensuring that your server is not an open relay .</p>
- <p>At this time James only supports simple user name / password authentication.</p>
-
- <subsection name="Configuring James for Authenticated SMTP">
- <p>Configuring James for Authentication SMTP is a multi-step process. It requires several adjustments of
- the config.xml. To enable SMTP AUTH, do the following:</p>
- <p>First, as mentioned above, SMTP AUTH requires that James be able to distinguish between mail intended
- for local delivery and mail intended for remote delivery. James makes this determination by matching the
- domain to which the mail was sent against the <servernames> element of the James configuration block. Any
- local domains should be explicitly listed as <servername> elements in this section.</p>
- <p>Second, James is configured out of the box so as to not serve as an open relay for spammers. This is done
- by restricting the IP addresses from which mail will be accepted using the RemoteAddrNotInNetwork mailet. This
- restriction must be lifted before users can send from arbitrary clients. To do this, comment out or remove the
- mailet tag containing the class attribute "RemoteAddrNotInNetwork". This tag can be found in the spoolmanager
- configuration block, in the root processor configuration.</p>
- <p>Third, set the authRequired element of the smtpserver configuration block to "true".</p>
- <p>Fourth, if you wish to ensure that authenticated users can only send email from their own account, you may
- optionally set the verifyIdentity element of the smtpserver configuration block to "true".</p>
- <p>Fifth, restart James. This will pull in all of your configuration changes.</p>
- </subsection>
-
- <subsection name="Verifying Your Configuration">
- <p>Finally, you need to verify that your configuration was done correctly. This step is
- <strong>important</strong> and should not be skipped.</p>
- <p>Verify that you have not inadvertantly configured your server as an open relay. This is most easily
- accomplished by using the service provided at <a href="http://www.ordb.org">ORDB.org</a>. ORDB.org will
- check your mail server and inform you if it is an open relay.</p>
- <p>It is extremely important that your server not be configured as an open relay. Aside from potential
- costs associated with usage by spammers, connections from servers that are determined to be open relays
- are routinely rejected by SMTP servers. This can severely impede the ability of your mail server to
- send mail.</p>
- <p>Of course it is also necessary to confirm that users and log in and send
- mail through your server. This can be accomplished using any standard mail client (i.e. Outlook,
- Eudora, Evolution).</p>
- </subsection>
-
- </section>
-
- <section name="Database Configuration">
-
- <p>James has the capacity to use a JDBC-compatible database for storage of both message and user
- data. This section explains how to configure James to utilize a database for storage.</p>
-
- <subsection name="Requirements">
- <p>Using James with a database backend has certain requirements. Database configuration is
- extremely vendor-specific, so we can only state the requirements in general terms.</p>
- <p>There must be a database instance accessible from the James server. An account with appropriate
- privileges (select, insert, delete into tables, and on initial startup creation of tables) and
- with sufficient quota for the data to be inserted into the database must be available. Also,
- since James will use JDBC to access the database, an appropriate JDBC driver must be
- available for installation.</p>
- <p>It is important to verify the functionality of the database before attempting to configure
- James to use it as a repository. This will help ensure that configuration issues are properly
- identified.</p>
- </subsection>
-
- <subsection name="Connection Configuration">
- <p>Configuring the Phoenix container to work with JDBC is the first step in enabling James database support.</p>
- <p>First, Phoenix must be able to load the JDBC classes. To make these classes available to Phoenix, place the
- jar/zip files for the JDBC driver in the lib subdirectory of the James installation directory. Any additional
- libraries upon which the JDBC library depends that are not part of the standard Java distribution should also be
- added to this directory.</p>
- <p>Second, the config.xml must be modified so that Phoenix initializes the database connections. The relevant
- configuration is in the database-connections block. The database-connections tag has only a single child tag,
- data-sources. This latter tag is a simple container tag for a number of child elements. It is these child
- elements, <strong>data-source</strong> elements, that define the database connections.</p>
- <p>Each <strong>data-source</strong> tag has a required attribute, <strong>name</strong>. This value
- must be unique to each <strong>data-source</strong> element. It is this <strong>name</strong> that will
- be used to specify the database connection in other parts of the config.xml file.</p>
- <p>The <strong>data-source</strong> element has five children, all of whom are required.
- <ul>
- <li><strong>driver</strong> - The class name of the database driver to be used.</li>
- <li><strong>dburl</strong> - The JDBC connection URL for your database/driver.</li>
- <li><strong>user</strong> - The user id of the database account to be used by this connection.</li>
- <li><strong>password</strong> - The password of the database account to be used by this connection.</li>
- <li><strong>max</strong> - The maximum number of JDBC connections to be used concurrently by this data-source.</li>
- </ul>
- </p>
- <p>Generally, you simply configure these entries in the config.xml
- file, which are commented, in order to use a database with James. You
- would then use the db: or dbfile: prefix instead of the file: prefix
- for a particular repository. You are currently free to mix and match
- your use of these different storage types for different repositories.
- See <a href="repositories.html">Repository Configuration</a> for
- more details. A sample configuration is described below.</p>
+ <p>This document explains how to enable James 3.0 services to use Transport Layer Security (TLS) for encrypted client-server communication.</p>
- </subsection>
+ <subsection name="Making TLS/SSL Server Sockets Available Inside James">
- <subsection name="SQL Statement Configuration">
+ <p>James uses the Sun Java Secure Sockets Extension (JSSE) infrastructure to provide TLS/SSL
+ sockets. JSSE comes packaged with several vendor Java distributions (i.e. Sun Java 1.4.x,
+ IBM Java 1.3.x). For these distributions, please follow the vendor provided instructions for
+ configuring the JVM to use JSSE services.</p>
+
+ <p>If you are using a Java distribution that does not include JSSE as part of the
+ distribution you will need to download the JSSE package separately. It can be obtained from
+ <a href="http://java.sun.com/products/jsse">here</a>. Please follow Sun's instructions for installation
+ and configuration of JSSE.</p>
+ <p>In either case, you will need to statically define a JSSE TLS provider. In general, this
+ is the default installation.</p>
+ <p>Once you've installed JSSE, James still needs to be configured to take advantage of the JSSE
+ functionality.</p>
- <p>The precise SQL statements used by James to modify and view data stored in the database are specified in
- an external configuration file. The sqlResources.xml file
- (which can be found in the apps/james/conf directory) is a sample configuration file that contains the SQL
- statements used by James. The purpose of each of these statements, as well as the repository with which
- they are associated, is documented in situ.</p>
-
- <p>If you are using a SQL database with unusual SQL commands or data types, you may
- need to add special entries to this file. The James team
- does try to keep sqlResources.xml updated, so if you do run into a
- special case, please let us know.</p>
-
- <p>Also, if the database tables are not created a priori, but rather are to be created by James
- upon startup, special attention should be paid to the "create table" statements in this file. Such
- statements tend to be both very database and very database instance specific.</p>
</subsection>
- <subsection name="Sample James Configuration">
+ <subsection name="Certificate Keystores">
- <p>The config.xml file has commented out examples for MySQL and
- MSSQL data sources, and for each of the standard repositories. For
- example, to use MySQL, you would uncomment and adjust the following
- data-source element.</p>
-
- <p>You must create the database, in this case named
- <strong>mail</strong>, the user, and assign the user privileges.
- You may create the tables before running James or, if you so choose, James
- will automatically create the tables it needs. In the latter case the user
- must have table creation privileges.</p>
-
- <source>
- <data-source name="maildb" class="org.apache.james.util.mordred.JdbcDataSource">
- <driver>com.mysql.jdbc.Driver</driver>
- <dburl>jdbc:mysql://127.0.0.1/mail</dburl>
- <user>username</user>
- <password>password</password>
- <max>20</max>
- </data-source>
- </source>
-
- <p>Once the data-source element has been created, it can be referenced elsewhere in the config.xml
- file. For example, the following element tells James to use the maildb data-source and dbfile
- storage mechanism for the message spool:</p>
-
- <source>
- <spoolRepository>
- <repository destinationURL="dbfile://maildb/spool/spool" type="SPOOL"/>
- </spoolRepository>
- </source>
-
- <p>The following element tells James to store mailboxes in a the maildb data-source:</p>
-
- <source>
- <inboxRepository>
- <repository destinationURL="db://maildb/inbox/" type="MAIL"/>
- </inboxRepository>
- </source>
-
- <p>The configuration file contains further examples.</p>
-
- </subsection>
+ <p>To use TLS/SSL inside James you will need a certificate keystore.</p>
- <subsection name="Known Issues">
- <p>There are some vendor-specific subtleties in using databases with James that have been observed
- by some users. These issues (and methods to resolve them) are recorded on the
- <a href="../FAQ.html">James FAQ</a> as they are reported. Please consult the FAQ if you encounter any
- difficulties.</p>
</subsection>
- </section>
-
- <section name="Using TLS">
-
- <p>This document explains how to enable James 3.0 services to use Transport Layer Security (TLS) for encrypted client-server communication.</p>
-
- <subsection name="Making TLS/SSL Server Sockets Available Inside James">
- <p>James uses the Sun Java Secure Sockets Extension (JSSE) infrastructure to provide TLS/SSL
- sockets. JSSE comes packaged with several vendor Java distributions (i.e. Sun Java 1.4.x,
- IBM Java 1.3.x). For these distributions, please follow the vendor provided instructions for
- configuring the JVM to use JSSE services.</p>
-
- <p>If you are using a Java distribution that does not include JSSE as part of the
- distribution you will need to download the JSSE package separately. It can be obtained from
- <a href="http://java.sun.com/products/jsse">here</a>. Please follow Sun's instructions for installation
- and configuration of JSSE.</p>
- <p>In either case, you will need to statically define a JSSE TLS provider. In general, this
- is the default installation.</p>
- <p>Once you've installed JSSE, James still needs to be configured to take advantage of the JSSE
- functionality.</p>
- </subsection>
- <subsection name="Certificate Keystores">
- <p>To use TLS/SSL inside James you will need a certificate keystore.</p>
- </subsection>
<subsection name="Configuring the Server Socket Factory">
- <p>The out of the box configuration file contains a template for the SSL configuration in place. Specifically,
- in the sockets block, under the server-sockets element, there is a commented out factory with the
- name "ssl". The first step to configuring the server socket factory is uncommenting out this element.</p>
- <p>The factory element contains several children. Of these, it should only be necessary to adjust two or three children.</p>
- <p>The required file element specifies the location of the keystore to be used by the factory. This is specified
- as a file path using Unix-style formatting. The path is taken to be relative to the apps/james/ subdirectory of
- the application installation directory unless an absolute path is specified.</p>
- <p>The password element should be set to the keystore password. This password should have been specified
- when the keystore was created, and it is required to open the keystore. This value is required.</p>
- <p>Finally, it may be necessary to adjust the type element. This element can take on any keystore type
- supported by the JSSE provider being used (see the JSSE documentation for details). The out of the box
- configuration specifies JKS (Java Keystore).</p>
- <p>The remaining children should not need to be deleted or adjusted.</p>
+
+ <p>The out of the box configuration file contains a template for the SSL configuration in place. Specifically,
+ in the sockets block, under the server-sockets element, there is a commented out factory with the
+ name "ssl". The first step to configuring the server socket factory is uncommenting out this element.</p>
+ <p>The factory element contains several children. Of these, it should only be necessary to adjust two or three children.</p>
+ <p>The required file element specifies the location of the keystore to be used by the factory. This is specified
+ as a file path using Unix-style formatting. The path is taken to be relative to the apps/james/ subdirectory of
+ the application installation directory unless an absolute path is specified.</p>
+ <p>The password element should be set to the keystore password. This password should have been specified
+ when the keystore was created, and it is required to open the keystore. This value is required.</p>
+ <p>Finally, it may be necessary to adjust the type element. This element can take on any keystore type
+ supported by the JSSE provider being used (see the JSSE documentation for details). The out of the box
+ configuration specifies JKS (Java Keystore).</p>
+ <p>The remaining children should not need to be deleted or adjusted.</p>
+
</subsection>
+
<subsection name="Configuring a Service to Use TLS">
- <p>Each of the services - <a href="config-smtp-lmpt.html">SMTP</a>,
- <a href="config-pop3.html">POP3</a>,
- and <a href="config-remotemanager.html">RemoteManager</a> - supports use of TLS. Each of
- these services has an optional boolean configuration element <b>useTLS</b> which is used to toggle
- use of TLS for the service. When this value is set to true, that particular service will use the "ssl"
- server socket factory to spawn server sockets.</p>
+
+ <p>Each of the services - <a href="config-smtp-lmpt.html">SMTP</a>,
+ <a href="config-pop3.html">POP3</a>,
+ and <a href="config-remotemanager.html">RemoteManager</a> - supports use of TLS. Each of
+ these services has an optional boolean configuration element <b>useTLS</b> which is used to toggle
+ use of TLS for the service. When this value is set to true, that particular service will use the "ssl"
+ server socket factory to spawn server sockets.</p>
+
</subsection>
+
<subsection name="Verifying a TLS-enabled James Service">
- <p>After you've configured a particular service to use TLS/SSL connections, the service port
- should no longer accept unencrypted TCP/IP connections. This can be tested by using a telnet
- client to directly connect to the service port. The telnet connection should simply hang until
- the client times out.</p>
- <p>
- To validate that the port is properly accepting SSL connections an SSL client can be used to
- open a connection to the service port. One such client is OpenSSL, available from the
- <a href="http://www.openssl.org">OpenSSL web site</a>. Follow the instructions provided with
- the SSL client to create a connection to the service port. Upon connection, the usual
- service greeting should appear.</p>
+
+ <p>After you've configured a particular service to use TLS/SSL connections, the service port
+ should no longer accept unencrypted TCP/IP connections. This can be tested by using a telnet
+ client to directly connect to the service port. The telnet connection should simply hang until
+ the client times out.</p>
+
+ <p>To validate that the port is properly accepting SSL connections an SSL client can be used to
+ open a connection to the service port. One such client is OpenSSL, available from the
+ <a href="http://www.openssl.org">OpenSSL web site</a>. Follow the instructions provided with
+ the SSL client to create a connection to the service port. Upon connection, the usual
+ service greeting should appear.</p>
+
</subsection>
</section>
-
+
</body>
</document>
Modified: james/server/trunk/src/site/xdoc/config-users.xml
URL: http://svn.apache.org/viewvc/james/server/trunk/src/site/xdoc/config-users.xml?rev=1032122&r1=1032121&r2=1032122&view=diff
==============================================================================
--- james/server/trunk/src/site/xdoc/config-users.xml (original)
+++ james/server/trunk/src/site/xdoc/config-users.xml Sat Nov 6 17:42:37 2010
@@ -29,6 +29,10 @@
</section>
+ <section name="Use LDAP to Store Users">
+
+ </section>
+
</body>
</document>
Modified: james/server/trunk/src/site/xdoc/install.xml
URL: http://svn.apache.org/viewvc/james/server/trunk/src/site/xdoc/install.xml?rev=1032122&r1=1032121&r2=1032122&view=diff
==============================================================================
--- james/server/trunk/src/site/xdoc/install.xml (original)
+++ james/server/trunk/src/site/xdoc/install.xml Sat Nov 6 17:42:37 2010
@@ -27,187 +27,205 @@
<section name="Requirements">
-<subsection name="Java Virtual Machine">
-
- <p>James requires a Java Runtime Environment of Java version 1.5 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 should be set to
- the JRE home directory before running James.</p>
+ <subsection name="Java Virtual Machine">
- <p>James 3.0 has been successfully tested on OpenJDK, Sun JDK and IBM JDK</p>
-
-</subsection>
-
-<subsection name="User Privileges">
+ <p>James requires a Java Runtime Environment. Java version 1.5 or higher is required to run the
+ James application.</p>
+
+ <p>The exact JREs available depend on the platform. In addition, the environment variable JAVA_HOME should be set to
+ the JRE home directory before running James.</p>
+
+ <p>James 3.0 has been successfully tested on OpenJDK, Sun JDK and IBM JDK</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 IMAP4 all need to open
- server sockets on such ports in standard configurations, James requires root access.</p>
+ </subsection>
- <p>On Windows platforms, you need to run James as Administrator privilege.</p>
-
-</subsection>
+ <subsection name="User Privileges">
+
+ <p>On Linux/Unix platforms, root access will be required to run James (access to ports
+ below 1024 is generally restricted to the root user). As SMTP, POP3, and IMAP4
+ need to open server sockets on such ports in standard configurations,
+ James requires root access.</p>
+
+ <p>On Windows platforms, you also need to run James as Administrator privilege.</p>
-<subsection name="System Resources">
+ </subsection>
+
+ <subsection name="Libc6">
+
+ <p>On Linux, to run the startup/shutdown script via the 'james' command, you also need <code>libc6</code>
+ (on Ubuntu for example: <code>sudo apt-get install libc6-i386 libc6-dev-i386</code>).</p>
+
+ </subsection>
- <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>
+ <subsection name="System Resources">
+
+ <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>
+
+ <p>James is configured to run with 512 MB RAM available, but may need more or less depending on the load.</p>
- <p>James needs by default 512 MB RAM, but may need more depending on the load.</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>libc6 on Linux: </strong>
- On Linux, to run the startup/shutdown script via the 'james' command, you also need <code>libc6</code>
- (on Ubuntu for example: <code>sudo apt-get install libc6-i386 libc6-dev-i386</code>).
- </p>
- </div>
- </div>
-
-</subsection>
-
-</section>
-
-<section name="Summary">
-
-<source>
-#Step 1: Get It
-
-#Step 2: Deploy It
-
-#Step 3: Configure It
- you need to modify the security settings for the jmx files like described 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>
-
-#Step 4: Start It Up
-
-</source>
-
-</section>
-
-
-<section name="Details">
-
-<subsection name="Step 1: Get James">
-
- <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 "./james start".</p>
-
- <p>If you have downloaded a binary distribution, you do not need to build James.
- Proceed directory to Step 1.</p>
+ </subsection>
- <p>If you have download a source package, process to the <a href="dev-build.html">build</a>.</p>
-
-</subsection>
-
-<subsection name="Step 2: Deploy James">
-
- <p>Extract or copy all the files in the archive or dist
- directory into your installation directory. </p>
-
-</subsection>
-
-<subsection name="Step 3: Configure James">
-
- <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>Preliminary step for JMX on Windows: </strong>
- to let windows start with JMX username/password enabled,
- you need to modify the security settings for the JMX files (./conf/jmx.password and ./conf/jmx.access)
- like described 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>
+ </section>
+
+ <section name="Details">
+
+ <subsection name="Step 1: Download James">
+
+ <p>Obtain the full James binary (or source) distribution from
+ the <a href="http://james.apache.org/download.cgi">James
+ release mirrors</a>.</p>
+
+ <p>If you have downloaded a binary distribution, you do not need to build James.
+ Proceed directly to Step 2.</p>
+
+ <p>If you have downloaded a source package, process first to
+ the <a href="dev-build.html">build</a> and come back to Step 2.</p>
+
+ </subsection>
+
+ <subsection name="Step 2: Deploy James">
+
+ <p>Unpack the archive into your James installation directory.</p>
+
+ </subsection>
+
+ <subsection name="Step 3: Configure James">
+ <!--
+ <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>Preliminary step for JMX on Windows: </strong>
+ to let windows start with JMX username/password enabled,
+ you need to modify the security settings for the JMX files (./conf/jmx.password and ./conf/jmx.access)
+ like described 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>
- </div>
+ -->
+ <p>After unpacking the binary, the next step is to adjust the initial configuration.
+ The most configuration files reside in the ./conf 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="config-remotemanager.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="config-serverwide.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="config-serverwide.html">here</a>.</li>
+ <li>Postmaster Address - More information can be found <a href="config-serverwide.html">here</a>.</li>
+ </ul>
- <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="config-remotemanager.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="config-serverwide.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="config-serverwide.html">here</a>.</li>
- <li>Postmaster Address - More information can be found <a href="config-serverwide.html">here</a>.</li>
- </ul>
-
- <p>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>.</p>
-
- <p>Read the short and snappy documentation at docs/index.html for a proper
- overview of configuring the system.</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 "set JAVA-HOME=\jdk1.3\bin" 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 &). 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>
-
-</subsection>
-
-<subsection name="Step 4: Start James Up">
-
- <p>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.</p>
-
- <p>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>.</p>
-
- <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 ("root[enter] <password-you-set-in-conf.xml>[enter]") and
- type "help" for a list of available commands in the "JAMES remote
- administrator tool". It is really a basic set but should allow you to test
- installation.</p>
+ <p>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>.</p>
+
+ <p>Read the short and snappy documentation at docs/index.html for a proper
+ overview of configuring the system.</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 "set JAVA-HOME=\jdk1.3\bin" on *nix with JAVA-HOME=/jdk1.3/</p>
+
+ </subsection>
+
+ <subsection name="Step 4: Start James">
+
+ <p>Go to the bin subdirectory of the installation directory and run "./james start".</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>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>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 &). 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>
+
+ <p>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.</p>
+
+ </subsection>
+
+ <subsection name="Step 5: Create Domains and Users">
+
+ <p>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="manage-users.html">here</a>.</p>
+
+ <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.</p>
+
+ <p>Since at the beginning James is empty, it will not have any local users
+ registered.</p>
+
+ <p>To register a local user open a telnet session with localhost on port 4555,
+ log in as root ("root[enter] <password-you-set-in-conf.xml>[enter]") and
+ type "help" for a list of available commands in the "JAMES remote
+ administrator tool". 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>
+
+ </subsection>
+
+ <subsection name="Step 6: Test James">
-</subsection>
+<source>
+$ telnet 127.0.0.1 25
+Trying 127.0.0.1...
+Connected to localhost.
+Escape character is '^]'.
+220 172.16.1.131 SMTP Server (JAMES SMTP Server 3.0-M2) 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.
+</source>
+
+ </subsection>
</section>
Modified: james/server/trunk/src/site/xdoc/quick-start.xml
URL: http://svn.apache.org/viewvc/james/server/trunk/src/site/xdoc/quick-start.xml?rev=1032122&r1=1032121&r2=1032122&view=diff
==============================================================================
--- james/server/trunk/src/site/xdoc/quick-start.xml (original)
+++ james/server/trunk/src/site/xdoc/quick-start.xml Sat Nov 6 17:42:37 2010
@@ -27,19 +27,152 @@
<section name="Quick Start">
- <p><ul>
-
- <li></li>
-
- <li></li>
-
- <li></li>
-
- <li></li>
-
- <li></li>
-
- </ul></p>
+<source>
+Step 0: Requirements
+####################
+
+JRE 1.5+
+root (linux/unix) or Administrator (Windows)
+libc6 (linux)
+512MB RAM
+
+Step 1: Download
+#################
+
+Download james-server-container-spring-3.0-M2-bin.zip from http://james.apache.org/download.cgi#Apache_James_Server
+
+Step 2: Deploy
+##############
+
+Unzip james-server-container-spring-3.0-M2-bin.zip.
+You should have a folder with sub-folders bin, conf, lib, log, var and four text files.
+
+$ unzip james-server-container-spring-3.0-M2-bin.tar.gz
+$ cd james-server-container-spring-3.0-M2
+$ ls -l
+drwxrwxrwx. 2 root root 4096 2010-11-06 09:24 bin
+-rw-r--r--. 1 root root 495 2010-11-06 08:56 BUILD.txt
+drwxrwxrwx. 4 root root 4096 2010-11-06 14:43 conf
+drwxrwxrwx. 2 root root 12288 2010-11-06 09:01 lib
+-rw-r--r--. 1 root root 12082 2010-11-01 17:23 LICENSE.txt
+drwxrwxrwx. 2 root root 4096 2010-11-06 09:24 log
+-rw-r--r--. 1 root root 1579 2010-11-01 17:23 NOTICE.txt
+-rw-r--r--. 1 root root 1545 2010-11-06 08:55 README.txt
+drwxrwxrwx. 6 root root 4096 2010-11-06 09:25 var
+
+
+Step 3: Configure
+#################
+
+All configuration files reside in the conf folder.
+
+$ cd conf
+$ ls -l
+-rw-------. 1 root root 1414 2010-11-05 16:01 database.properties
+-rw-------. 1 root root 2749 2010-10-21 14:07 dnsservice.xml
+-rw-------. 1 root root 2802 2010-11-06 09:22 domainlist.xml
+-rw-------. 1 root root 18599 2010-10-21 14:07 fetchmail.xml
+-rw-------. 1 root root 3201 2010-10-21 14:07 imapserver.xml
+-rw-------. 1 root root 2850 2010-11-04 08:10 james-listmanager.xml
+-rw-------. 1 root root 5821 2010-10-21 14:07 jcr-repository.xml
+-rw-------. 1 root root 0 2010-11-05 16:01 jmx.access
+-rw-------. 1 root root 0 2010-11-05 16:01 jmx.password
+-rw-------. 1 root root 961 2010-11-06 08:42 jmx.properties
+drwxrwxrwx. 2 root root 4096 2010-10-21 14:07 lib
+-rw-------. 1 root root 3129 2010-10-21 14:07 lmtpserver.xml
+-rw-------. 1 root root 7463 2010-11-05 15:54 log4j.properties
+-rw-------. 1 root root 31478 2010-11-06 09:22 mailetcontainer.xml
+-rw-------. 1 root root 2473 2010-11-06 09:22 mailserver.xml
+-rw-------. 1 root root 5234 2010-10-21 14:54 mailstore.xml
+drwxrwxrwx. 2 root root 4096 2010-10-21 14:07 META-INF
+-rw-------. 1 root root 8038 2010-10-21 14:07 miResources.xml
+-rw-------. 1 root root 3327 2010-10-21 14:07 pop3server.xml
+-rw-------. 1 root root 3369 2010-10-21 14:07 remotemanager.xml
+-rw-------. 1 root root 15837 2010-11-05 15:54 smtpserver.xml
+-rw-------. 1 root root 21941 2010-11-05 16:01 spring-beans.xml
+-rw-------. 1 root root 48523 2010-10-21 14:07 sqlResources.xml
+-rw-------. 1 root root 4301 2010-10-29 15:48 usersrepository.xml
+-rw-------. 1 root root 2465 2010-10-21 14:07 virtualusertable.xml
+-rw-------. 1 root root 13680 2010-11-06 09:01 wrapper.conf
+
+
+James is packaged with no virtual hosting, xml domain list and JPA (Derby database) storage for the mails.
+You can edit the following files to change the behaviour:
+
+- Enable virtual hosting in mailserver.xml: vi mailserver.xml
+ <enableVirtualHosting> true </enableVirtualHosting>
+
+- Replace the XMLDomainList with the JPADomainList: vi usersrepository.xml
+ <domainlist class="org.apache.james.domainlist.jpa.JPADomainList">
+ <autodetect>true</autodetect>
+ <autodetectIP>true</autodetectIP>
+ </domainlist>
+
+- Edit the database.properties and change the values according to your database.
+- If you don't forget to add the needed jdbc driver jar in the ./conf/lib folder.
+
+Step 4: Start
+#############
+
+$ cd bin
+$ ./james start
+You can see log result in the log/james-server.log file.
+
+Step 5: Create Domains and Users
+################################
+
+$ telnet localhost 4555
+Trying 127.0.0.1...
+Connected to localhost.
+Escape character is '^]'.
+JAMES Remote Administration Tool
+Please enter your login and password
+Login id:
+root
+Password:
+root
+Welcome root. HELP for a list of commands
+adddomain YOUR_DOMAIN
+Adding domain YOUR_DOMAIN successful
+adduser YOUR_NAME@YOUR_DOMAIN YOUR_PASSWORD
+User YOUR_NAME@YOUR_DOMAIN added
+quit
+Bye
+Connection closed by foreign host.
+
+Step 6: Test
+############
+
+$ telnet 127.0.0.1 25
+Trying 127.0.0.1...
+Connected to localhost.
+Escape character is '^]'.
+220 172.16.1.131 SMTP Server (JAMES SMTP Server 3.0-M2) 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.
+</source>
+
+<p>Time to fine-tune your James Server!</p>
+
+<p>Read more on the <a href="install.html">install</a>, <a href="config.html">configure</a>,
+ <a href="manage.html">manage</a>, <a href="monitor.html">monitor</a>
+ and <a href="dev.html">develop</a> pages.</p>
</section>
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org