Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
archiveopteryx(7)	  Archiveopteryx Documentation	       archiveopteryx(7)

NAME
     Overview of Archiveopteryx.

SYNOPSIS
     /etc/init.d/archiveopteryx {start,stop}

     /usr/local/etc/archiveopteryx/*.conf

DESCRIPTION
     Archiveopteryx  is a mail server system optimised for long-term storage and
     heavy access. It comprises a set of server programs that provide access  to
     mail stored in a relational database (PostgreSQL).

GETTING STARTED
     The  following five steps should suffice to install Archiveopteryx. If they
     don't, or if anything is unclear, more detailed instructions are  available
     at http://archiveopteryx.org/installation

   1. Install Archiveopteryx
     Usually, this is as simple as:

	    apt-get install archiveopteryx (on Debian)
	    pkg install archiveopteryx (on FreeBSD)

     http://archiveopteryx.org/installation explains what to do in other cases.

     Use

	    /usr/local/libexec/aox/archiveopteryx start

     to    start   Archiveopteryx   using   the   default   configuration   from
     archiveopteryx.conf, which tries hard to be sensible.

   2. Add a user
     Run

	    aox add user name password address@domain

     to create a username and password.

   3. Inject some test mail
     You can use deliver(8) to inject some mail you already have.

     This command injects all the messages from a berkeley mbox file:

	    formail -s deliver yourname@domain < mbox

   4. Check that you can read mail
     The mail you just delivered is in your inbox, and you can read it with  any
     IMAP or POP3 client.

   5. Configure your MTA
     The  normal  way  to  deliver mail from your MTA into Archiveopteryx is via
     LMTP.  By default, Archiveopteryx listens on 127.0.0.1 port 2026.

     On aox.org we describe how to configure  some  common  MTAs  to  work  with
     Archiveopteryx. See e.g. http://archiveopteryx.org/postfix for postfix(1).

ARCHITECTURE
     Archiveopteryx consists of a number of frontend servers, each of which uses
     backend servers:

     RDBMS  The  RDBMS	is  where  all the mail is stored. At present only Post-
	    greSQL is supported.

     logd   The log server is an internal server which filters	log  entries  so
	    useful messages are logged while noise is suppressed.

     Each  server  is  described  more fully in its own man page: logd(8), post-
     gres(1) and archiveopteryx(8) for the frontend server, which  serves  IMAP,
     POP3, LMTP and/or SMTP and perhaps webmail.

     Normally,	there  is one logd(8) process running. In addition there will be
     at least one postgres(1) and one archiveopteryx(8) process.

     The servers use TCP to communicate internally, so they can  be  distributed
     across a server cluster. Generally, one host will run the database backend,
     one  host	(perhaps the same) will run logd(8) and as many as required will
     run frontends.

     The man pages for each server explain the use and	configuration  of  each.
     See  archiveopteryx.conf(5)  for  more  about configuring Archiveopteryx in
     general.

SECURITY
     All Archiveopteryx servers run in chroot directories.

     The user-facing servers run in a special jail directory. They have  neither
     read nor write access to this directory.

     logd(8)  runs chrooted to another directories. All of the servers close all
     open files at startup and drop root privileges. By default they run as user
     aox,   group   aox,   although   these   names   can   be	 changed   using
     archiveopteryx.conf(5).

     The servers check that they lose prvileges as expected, and refuse to start
     if they're too privileged.

     Note that logd(8) must have permission to create the logfile.

MAIL STORAGE
     Archiveopteryx  does  not	store mail in the RFC-822 format. It parses each
     message upon delivery, and stores a  normalized  representation,  optimized
     for fast and reliable search and categorization.

     This offers the following advantages, among others:

     Performance
	    One  example:  Each  address  is stored exactly once, as Unicode and
	    with RFC-2047 encoding undone. Finding all messages sent  from/to  a
	    given  name  is  extremely fast, because only a single SQL SELECT is
	    necessary, and it accesses just two small tables.

     Long-term Stability
	    Archiveopteryx handles today's common syntax problems and stores the
	    correct form in the database. Because of that, the mail reader which
	    looks at old mail in the year 2020 will not need to be bug	compati-
	    ble with today's version of Microsoft Outlook.

     Scalability and Flexibility
	    Only  the database size limits Archiveopteryx's capacity. Many other
	    servers limit individual folders to 2GB (or less), or cannot support
	    more than a few  thousand  subfolders/messages  in	a  folder.  With
	    Archiveopteryx,  you don't need to invent workarounds for such arti-
	    ficial limitations.

     Robustness
	    Because mail is stored normalized and parsed, large attachments  are
	    generally  stored  only once, and mail parsing exploits are rendered
	    harmless before reaching the MUA. A movie clip sent to a hundred re-
	    cipients is not a problem, because it's stored just once.

LICENSING
     Archiveopteryx is available under the PostgreSQL License.

DEFAULTS
     The configurable file and directory names in this build are as follows:

     SBINDIR(where servers live) is /usr/local/sbin.

     BINDIR (where other executables live) is /usr/local/bin.

     INITDIR(where the startup script lives) is /usr/local/etc/rc.d.

     MANDIR (where manpages live) is /usr/local/share/man.

     PIDFILEDIR
	    (where pidfiles live) is /var/run/aox.

     LIBDIR (where supporting files live) is /usr/local/libexec/aox.

     JAILDIR(the   working   directory	 of   the   user-facing   servers)    is
	    /var/db/aox/jail,  and  can  be  overridden using the jail-directory
	    variable in archiveopteryx.conf(5).

     CONFIGDIR
	    (where    the    configuration    files    live)	 is	/usr/lo-
	    cal/etc/archiveopteryx.

     LOGFILE(the full name of the logfile) is syslog/mail, and can be overridden
	    using the logfile variable in archiveopteryx.conf(5).

     These variables can be changed only by editing the file Jamsettings and re-
     compiling	Archiveopteryx.  Jamsettings  also  contains some variables used
     only during compilation and/or installation, and  some  which  provide  de-
     faults for archiveopteryx.conf(5) settings.

FILES
     /usr/local/etc/archiveopteryx/archiveopteryx.conf
	    contains the Archiveopteryx configuration.

     /usr/local/libexec/aox/automatic-key.pem
	    contains   a   private  key  and  self-signed  certificate	used  by
	    openssl(3).

AUTHOR
     The Archiveopteryx Developers, info@aox.org.

VERSION
     This man page covers Archiveopteryx  version  3.2.0,  released  2014-03-10,
     http://archiveopteryx.org/3.2.0

SEE ALSO
     archiveopteryx(8),     archiveopteryx.conf(5),	deliver(8),	logd(8),
     http://archiveopteryx.org

aox.org 			   2014-03-10		       archiveopteryx(7)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=archiveopteryx&sektion=8&manpath=FreeBSD+Ports+15.1.quarterly>

home | help