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 mc...@apache.org on 2004/08/28 11:58:10 UTC

cvs commit: james-server/project/merlin README.TXT config.xml kernel.xml logging.xml merlin.properties

mcconnell    2004/08/28 02:58:10

  Added:       project/merlin README.TXT config.xml kernel.xml logging.xml
                        merlin.properties
  Log:
  Add a working example of merlin running james.
  
  Revision  Changes    Path
  1.1                  james-server/project/merlin/README.TXT
  
  Index: README.TXT
  ===================================================================
  
  
  Running James SNAPSHOT in Merlin.
  ---------------------------------
  
  The resources contained in this directory are based on the current snapshot build of the merlin system.  You 
  can download and install the latest development build from the following url:
  
    http://www.dpml.net/avalon/merlin/dist
  
  Instructions for installing merlin are available at this url:
  
    http://avalon.apache.org/central/about/installation/binary.html
  
  
  
  Customizing the james configuration for your environment.
  ---------------------------------------------------------
  
  All files necessary to run merlin are referenced from the local merlin.properties
  file.  These include the kernel definition, logging configuration, and your local 
  site configuration.  This last file needs to be updated to include details such 
  as the domain name your serving, remote access account names and passwords, etc.
  
  See:
  
    config.xml
  
  
  Running James.
  --------------
  
  
  After updating config.xml you can start James by doing the following:
  
  
    $ cd james-server/project/merlin
    $ merlin
  
  
  Will will normally see the following messages logged to your console:
  
    James Mail Server SNAPSHOT
    Remote Manager Service started plain:4555
    POP3 Service started plain:110
    SMTP Service started plain:25
  
  
  Creating a new user account.
  ----------------------------
  
  To test you configuration you will need to create a new user account in james.  To do this
  you need to telnet to localhost 4555 and adduser. 
  
  
    $ telnet localhost 4555
    JAMES Remote Administration Tool SNAPSHOT
    Please enter your login and password
    Login id:
    demo
    Password:
    demo
    Welcome demo. HELP for a list of commands
  
    adduser postmaster somepassword
    User postmaster added
  
    quit
  
    Bye
  
  
  From here you should be able to send and receive mail via james using the account name you created.
  
  
  Steve.
  
  
  
  1.1                  james-server/project/merlin/config.xml
  
  Index: config.xml
  ===================================================================
  <?xml version="1.0" encoding="ISO-8859-1"?>
  
      <targets>
  
        <!--
        =================================================================================
        configuration overrides 
        =================================================================================
        -->
  
        <target path="/james/server">
          <configuration>
            <postmaster>postmaster@localhost</postmaster>
            <!-- CHANGE ME -->
            <servernames autodetect="false" autodetectIP="false">
              <servername>localhost</servername> 
            </servernames>
            <usernames ignoreCase="true" enableAliases="true" enableForwarding="true"/>
            <inboxRepository>
              <repository destinationURL="file://var/mail/inboxes/" type="MAIL"/>
            </inboxRepository>
          </configuration>
        </target>
  
        <target path="/james/remote">
          <configuration>
            <port>4555</port>
            <handler>
              <helloName autodetect="TRUE"/>
              <!-- CHANGE ME -->
              <administrator_accounts>
                <account login="demo" password="demo"/> 
              </administrator_accounts>
              <connectiontimeout> 60000 </connectiontimeout>
            </handler>
          </configuration>
        </target>
  
        <target path="james/dns">
          <configuration>
            <autodiscover>true</autodiscover>
            <authoritative>false</authoritative>
            <!-- CHANGE ME -->
            <servers> 
              <server>130.244.127.161</server>
              <server>130.244.127.169</server>
            </servers>
          </configuration>
        </target>
  
        <target path="/james/smtp">
          <configuration>
            <handler>
              <!-- CHANGE ME -->
              <helloName autodetect="false">localhost</helloName>
            </handler>
          </configuration>
        </target>
  
      </targets>
  
  
  
  
  1.1                  james-server/project/merlin/kernel.xml
  
  Index: kernel.xml
  ===================================================================
  <?xml version="1.0" encoding="ISO-8859-1"?>
  
  <!--
  kernel.xml
  -->
  
  <kernel>
  
    <repository>
      <hosts>
        <host path="http://www.dpml.net/"/>
        <host path="http://www.ibiblio.org/maven/"/>
      </hosts>
    </repository>
  
    <container>
  
      <include name="james" artifact="block:james/james-server#SNAPSHOT">
  
        <!--
        =================================================================================
        the remaining should work out of the box
        =================================================================================
        -->
  
        <target path="connections">
          <configuration>
            <idle-timeout>300000</idle-timeout>
            <max-connections>30</max-connections>
          </configuration>
        </target>
  
        <target path="store/manager">
          <configuration>
            <repositories>
              <repository
    class="org.apache.james.mailrepository.filepair.File_Persistent_Object_Repository"> 
                <protocols>
                  <protocol>file</protocol>
                </protocols>
                <types>
                  <type>OBJECT</type>
                </types>
                <models>
                  <model>SYNCHRONOUS</model>
                  <model>ASYNCHRONOUS</model>
                  <model>CACHE</model>
                </models>
              </repository>
              <repository 
    class="org.apache.james.mailrepository.filepair.File_Persistent_Stream_Repository">
                <protocols>
                  <protocol>file</protocol>
                </protocols>
                <types>
                  <type>STREAM</type>
                </types>
                <models>
                  <model>SYNCHRONOUS</model>
                  <model>ASYNCHRONOUS</model>
                  <model>CACHE</model>
                </models>
              </repository>
            </repositories>
          </configuration>
        </target>
  
        <target path="pop3">
          <configuration enabled="true">
            <port>110</port>
            <handler>
              <helloName autodetect="true"/>
              <connectiontimeout>120000</connectiontimeout>
            </handler>
          </configuration>
        </target>
  
        <target path="smtp">
          <configuration enabled="true">
            <port>25</port>
            <handler>
              <helloName autodetect="true"/>
              <connectiontimeout>360000</connectiontimeout>
              <maxmessagesize>0</maxmessagesize>
            </handler>
          </configuration>
        </target>
  
        <target path="mailstore">
          <configuration enabled="true">
             <repositories>
               <repository class="org.apache.james.mailrepository.AvalonMailRepository">
                 <protocols>
                   <protocol>file</protocol>
                 </protocols>
                 <types>
                   <type>MAIL</type>
                 </types>
               </repository>
               <repository class="org.apache.james.mailrepository.AvalonSpoolRepository">
                 <protocols>
                   <protocol>file</protocol>
                 </protocols>
                 <types>
                   <type>SPOOL</type>
                 </types>
               </repository>
  
               <!-- These repositories store the entire message in the database -->
               <repository class="org.apache.james.mailrepository.JDBCMailRepository">
                 <protocols>
                   <protocol>db</protocol>
                 </protocols>
                 <types>
                   <type>MAIL</type>
                 </types>
                 <config>
                   <sqlFile>file://conf/sqlResources.xml</sqlFile>
                 </config>
               </repository>
               <repository class="org.apache.james.mailrepository.JDBCSpoolRepository">
                 <protocols>
                   <protocol>db</protocol>
                 </protocols>
                 <types>
                    <type>SPOOL</type>
                 </types>
                 <config>
                    <sqlFile>file://conf/sqlResources.xml</sqlFile>
                 </config>
               </repository>
  
               <!-- These repositories store message delivery and headers in the DB, and 
                    the body to the filesystem -->
               <repository class="org.apache.james.mailrepository.JDBCMailRepository">
                 <protocols>
                   <protocol>dbfile</protocol>
                 </protocols>
                 <types>
                   <type>MAIL</type>
                 </types>
                 <config>
                   <sqlFile>file://conf/sqlResources.xml</sqlFile>
                   <filestore>file://var/dbmail</filestore>
                 </config>
               </repository>
               <repository class="org.apache.james.mailrepository.JDBCSpoolRepository">
                 <protocols>
                   <protocol>dbfile</protocol>
                 </protocols>
                 <types>
                   <type>SPOOL</type>
                 </types>
                 <config>
                   <sqlFile>file://conf/sqlResources.xml</sqlFile>
                   <filestore>file://var/dbmail</filestore>
                 </config>
               </repository>
             </repositories>
             <spoolRepository>
               <repository destinationURL="file://var/mail/spool/" type="SPOOL"/>
             </spoolRepository>
          </configuration>
        </target>
  
        <target path="userstore">
          <configuration>
             <repository name="LocalUsers" 
                class="org.apache.james.userrepository.UsersFileRepository">
               <destination URL="file://var/users/"/>
             </repository>
          </configuration>
        </target>
  
        <target path="spool">
          <configuration>
             <threads> 10 </threads>
             <mailetpackages>
               <mailetpackage>org.apache.james.transport.mailets</mailetpackage>
             </mailetpackages>
             <matcherpackages>
               <matcherpackage>org.apache.james.transport.matchers</matcherpackage>
             </matcherpackages>
  
             <processor name="root">
               <mailet match="RelayLimit=30" class="Null">
                 <debug>false</debug>
               </mailet>
               <mailet match="InSpammerBlacklist=blackholes.mail-abuse.org" class="ToProcessor">
                 <processor> spam </processor>
                 <notice> Rejected - see  http://www.mail-abuse.org/rbl/ </notice>
                 <debug>false</debug>
               </mailet>
               <mailet match="InSpammerBlacklist=dialups.mail-abuse.org" class="ToProcessor">
                 <processor> spam </processor>
                 <notice> Dialup - see http://www.mail-abuse.org/dul/ </notice>
                 <debug>false</debug>
               </mailet>
               <mailet match="InSpammerBlacklist=relays.mail-abuse.org" class="ToProcessor">
                 <processor> spam </processor>
                 <notice> Open spam relay - see http://www.mail-abuse.org/rss/ </notice>
                 <debug>false</debug>
               </mailet>
               <mailet match="All" class="ToProcessor">
                 <processor> transport </processor>
                 <debug>false</debug>
               </mailet>
             </processor>
  
             <processor name="error">
               <mailet match="All" class="ToRepository">
                 <repositoryPath> file://var/mail/error/</repositoryPath>
                 <passThrough> true </passThrough>
                 <debug>false</debug>
               </mailet>
             </processor>
  
             <processor name="transport">
               <mailet match="RecipientIsLocal" class="LocalDelivery">
                 <debug>true</debug>
               </mailet>
               <mailet match="HostIsLocal" class="ToProcessor">
                 <processor>error</processor>
                 <debug>true</debug>
               </mailet>
               <mailet match="RemoteAddrNotInNetwork=127.0.0.1" class="ToProcessor">
                 <processor> spam </processor>
                 <debug>true</debug>
               </mailet>
               <mailet match="All" class="RemoteDelivery">
                 <outgoing> file://var/mail/outgoing/ </outgoing>
                 <delayTime> 21600000 </delayTime>
                 <maxRetries> 5 </maxRetries>
                 <deliveryThreads> 1 </deliveryThreads>
                 <debug>true</debug>
                 <!--<gateway> otherserver.mydomain.com </gateway>-->
                 <!--<gatewayPort> 25 </gatewayPort>-->
               </mailet>
             </processor>
  
             <processor name="spam">
               <!--<mailet match="All" class="Null"/>-->
               <!--<mailet match="All" class="NotifySender"/>-->
               <!--<mailet match="All" class="NotifyPostmaster"/>-->
               <mailet match="All" class="ToRepository">
                 <repositoryPath>file://var/mail/spam/</repositoryPath>
                 <debug>false</debug>
               </mailet>
             </processor>
          </configuration>
  
        </target>
  
        <target path="nntp-repository">
          <configuration>
             <readOnly>false</readOnly>
             <rootPath>file://var/nntp/groups</rootPath>
             <tempPath>file://var/nntp/temp</tempPath>
             <articleIDPath>file://var/nntp/articleid</articleIDPath>
             <articleIDDomainSuffix>news.james.apache.org</articleIDDomainSuffix>
  
             <!-- The news groups hosted in this NNTP repository. -->
             <newsgroups>
               <newsgroup>org.apache.james.dev</newsgroup>
               <newsgroup>org.apache.james.user</newsgroup>
               <newsgroup>org.apache.avalon.dev</newsgroup>
               <newsgroup>org.apache.avalon.user</newsgroup>
             </newsgroups>
  
             <spool>
               <configuration>
                 <spoolPath>file://var/nntp/spool</spoolPath>
                 <threadCount>1</threadCount>
                 <threadIdleTime>1000</threadIdleTime>
               </configuration>
             </spool>
          </configuration>
        </target>
  
        <target path="nntp">
           <configuration enabled="false">
             <port>119</port>
             <handler>
               <helloName autodetect="true"/>
               <connectiontimeout>120000</connectiontimeout>
               <authRequired>false</authRequired>
             </handler>
           </configuration>
        </target>
  
        <target path="fetchpop">
          <configuration enabled="false">
            <fetch name="mydomain.com">
              <host>mail.mydomain.com</host>
              <!-- Account login username -->
              <user>username</user>
              <!-- Account login password -->
              <password>pass</password>
              <interval>600000</interval>
            </fetch>
           </configuration>
        </target>
  
      </include>
  
    </container>
  
  
  </kernel>
  
  
  
  
  1.1                  james-server/project/merlin/logging.xml
  
  Index: logging.xml
  ===================================================================
  <?xml version="1.0" encoding="ISO-8859-1"?>
  
  <logging>
  
      <factories>
        <factory type="file" 
            class="org.apache.avalon.logging.logkit.factory.FileTargetFactory"/>
      </factories>
  
      <targets>
        <file id="standard">
          <filename>logs/kernel.log</filename>
          <append>true</append>
          <rotation type="revolving" init="1" max="10">
            <size>100k</size>
          </rotation>
        </file>
      </targets>
  
      <categories priority="info" target="standard">
        <categories name="kernel">
          <category name="logger" priority="warn"/>
        </categories>
      </categories>
  
      <logger name="kernel.logger"/>
  
  </logging>
  
  
  
  
  1.1                  james-server/project/merlin/merlin.properties
  
  Index: merlin.properties
  ===================================================================
  
  merlin.info = true
  merlin.audit = false
  merlin.debug = false
  merlin.kernel = kernel.xml
  merlin.override = config.xml
  merlin.server = true
  merlin.code.security.enabled = false
  merlin.deployment.timeout = 0
  merlin.logging.config = logging.xml
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org