Thread: [Amavisadmin-svn] SF.net SVN: amavisadmin: [52] amavisadmin/trunk/docs
Status: Beta
Brought to you by:
streindl
From: <str...@us...> - 2007-01-25 20:39:11
|
Revision: 52 http://amavisadmin.svn.sourceforge.net/amavisadmin/?rev=52&view=rev Author: streindl Date: 2007-01-25 12:39:12 -0800 (Thu, 25 Jan 2007) Log Message: ----------- Merge from documentation Modified Paths: -------------- amavisadmin/trunk/docs/installationguide.xml Added Paths: ----------- amavisadmin/trunk/docs/user_guide.xml Modified: amavisadmin/trunk/docs/installationguide.xml =================================================================== --- amavisadmin/trunk/docs/installationguide.xml 2007-01-25 20:27:15 UTC (rev 51) +++ amavisadmin/trunk/docs/installationguide.xml 2007-01-25 20:39:12 UTC (rev 52) @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="US-ASCII"?> +<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ <!ENTITY sreindl "Stephen Reindl"> @@ -15,9 +15,9 @@ <surname>Reindl</surname> - <address><street>Langster Str. 28</street> + <address><street>Langster Straße 28</street> <postcode>40668</postcode> <city>Meerbusch</city> -<country>Germany></country></address> +<country>Germany</country></address> <email>sr...@sr...</email> </author> @@ -48,7 +48,17 @@ </legalnotice> <revhistory> - <revision><revnumber>0.1</revnumber><date>2007-01-20</date><authorinitials>sr</authorinitials><revdescription><para>Initial document</para></revdescription></revision> + <revision> + <revnumber>0.1</revnumber> + + <date>2007-01-20</date> + + <authorinitials>sr</authorinitials> + + <revdescription> + <para>Initial document</para> + </revdescription> + </revision> </revhistory> </articleinfo> @@ -85,6 +95,14 @@ </listitem> <listitem> + <para>A Database server where the Amavisd-Server stores it's mails and + AmavisAdmin is doing the administration. For development <ulink + url="http://www.postgresql.org">PostgreSQL</ulink> version <ulink + url="http://www.postgresql.org/docs/8.1/static/index.html">8.1</ulink> + is used.</para> + </listitem> + + <listitem> <para><ulink url="http://www.ijs.si/software/amavisd/">Amavisd-new</ulink> as the SPAM and Virus filter engine. At least version 2.4.2 has to be @@ -96,14 +114,6 @@ </listitem> <listitem> - <para>A Database server where the Amavisd-Server stores it's mails and - AmavisAdmin is doing the administration. For development <ulink - url="http://www.postgresql.org">PostgreSQL</ulink> version <ulink - url="http://www.postgresql.org/docs/8.1/static/index.html">8.1</ulink> - is used.</para> - </listitem> - - <listitem> <para>The JDBC-driver suitable for your database system. As mentioned before the development is based on PostgreSQL, therefore the appropriate driver for the database server is located at <ulink @@ -187,36 +197,337 @@ </section> <section> + <title>PostgreSQL database</title> + + <para>This document does not describe how to setup the PostgreSQL + database. For most Microsoft <trademark + class="registered">Windows</trademark> and <trademark + class="registered">Linux</trademark>/<trademark + class="registered">Unix</trademark> distribitions there're binary + packages available (see <ulink + url="http://www.postgresql.org/ftp/binary/">http://www.postgresql.org/ftp/binary/<version></ulink> + for available systems and versions). They can be downloard If you want + (or need) to install PostgreSQL from scratch, the following section in + the PostgreSQL documentation might help: <ulink + url="http://www.postgresql.org/docs/8.1/interactive/installation.html">http://www.postgresql.org/docs/8.1/interactive/installation.html</ulink>.</para> + + <para>For development and testing PostgreSQL release 8.1 has been used. + Other versions might work also but no tests have been done to ensure + working on different releases of PostgreSQL.</para> + + <section> + <title>Creating the database for storing Amavisd-new data</title> + + <para>It makes sense (from performance, sizing and other aspects like + security) to create a separate database that contains the data stored + by Amavisd-new and AmavisAdmin. The database should be accessable only + by superusers and a specific functional account for maximum security. + In addition PostgreSQL offers the possibility to move parts of the + data to other filesystems/paths by using tablespaces.</para> + + <section> + <title>Creating a functional database user</title> + + <para>It makes sense to create a functional user that is used by the + applications (amavisd-new and AmavisAdmin) to connect to the + database. This user created should be able to access the database + only from the IP-addresses used by the applications itself. This + gives some additional security. To create a user, two steps are + neccessary: First the user itself has to be created. Afterwards the + user has to be configured to connect to the database. The second + step depends on your local security, therfore please refer to <ulink + url="http://www.postgresql.org/docs/8.1/interactive/client-authentication.html">http://www.postgresql.org/docs/8.1/interactive/client-authentication.html</ulink> + for details. Creating a user can be done by using the command + <command>createuser</command> that is part of every PostgreSQL + distribution. The following example shows how to create the user + amavis that will be used for administrators and applications to + connect to the database (please replace + <replaceable>superuser</replaceable> with your superuser role + name):</para> + + <screen xml:space="preserve"><prompt>sreindl@linux-fest:~> </prompt><userinput>sudo -u postgres createuser \ +</userinput><prompt>> </prompt><userinput> --no-superuser --no-createrole --no-createdb \ +</userinput><prompt>> </prompt><userinput> --pwprompt --username=<replaceable>superuser</replaceable> --password amavis +</userinput><prompt>Enter password for new role: </prompt><userinput><replaceable><password></replaceable> +</userinput><prompt>Enter it again: </prompt><userinput><replaceable><password></replaceable> +</userinput><prompt>Password:</prompt> <userinput><replaceable><superuserpassword></replaceable> +</userinput><computeroutput>CREATE ROLE +</computeroutput><prompt>sreindl@linux-fest:~> </prompt></screen> + + <para>The first two password prompts are asking for the password for + user <systemitem class="username">amavis</systemitem>, the last + password prompt is asking for the superuser password.</para> + + <note> + <para>Please ensure to reload the configuration files by + restarting your postgres SQL server. Please refer to your local + PostgreSQL documentation for details about how to restart the + server.</para> + </note> + </section> + + <section> + <title>Creating a tablespace</title> + + <para>For maintainability I would suggest to create the database + used for Amavisd-new in a separate tablespace. Creating a tablespace + in PostgreSQL is done in two steps: At first you have to create a + directory in the file system which will contain the tablespace data. + With the Linux/Unix operating system the command might look like + this:</para> + + <programlisting><prompt>$ </prompt><userinput>mkdir -p <replaceable>/srv/db/tablespaces/amavis</replaceable></userinput></programlisting> + + <para>where the path given might even reside on a different machine + (i.e. network file server). On other operating systems this command + might look different or you might even use a graphical user + interface to create the path. After creating the path you have to + change the permissions that only the database server has access to + the created path. This is basically done for security + reasons:</para> + + <programlisting><prompt>$ </prompt><userinput>chown <replaceable>postgres</replaceable> <replaceable>/srv/db/tablespaces/amavis</replaceable></userinput> +<prompt>$ </prompt><userinput>chmod 0700 <replaceable>/srv/db/tablespaces/amavis</replaceable></userinput></programlisting> + + <para>The first command assigns the user postgres (please provide + the user name which has been used to install the postgres database) + to the created path, i.e. change the owner of this path to the + database system. The second command changes the permissions of the + directory in a way that only the PostgreSQL system (and the system + administrator) can access the contents of the directory. Other + operating systems might need other commands to accomplish + this.</para> + + <para>The second step is to actually create the tablespace. This is + done by using database commands. The following example creates a + tablespace <database class="table">tb_admin</database> which points + to the directory created above:</para> + + <para><screen><prompt>sreindl@linux-fest:~></prompt> +<prompt>sreindl@linux-fest:~> </prompt><userinput>psql --username=<replaceable>superuser</replaceable> \</userinput> +<prompt>> </prompt> <userinput>--password postgres</userinput> +<computeroutput>Password for user <replaceable>superuser</replaceable>: +Welcome to psql 8.1.5, the PostgreSQL interactive terminal. + +Type: \copyright for distribution terms + \h for help with SQL commands + \? for help with psql commands + \g or terminate with semicolon to execute query + \q to quit + +</computeroutput><prompt>postgres=# </prompt><userinput>CREATE TABLESPACE <replaceable>tb_amavis</replaceable> </userinput> +<prompt>postgres-# </prompt><userinput> OWNER amavis </userinput> +<prompt>postgres-# </prompt><userinput> LOCATION '<replaceable>/srv/db/tablespaces/amavis</replaceable>';</userinput> +<computeroutput>CREATE TABLE</computeroutput> +<prompt>postgres=#</prompt></screen></para> + </section> + + <section> + <title>Creating the database</title> + + <para>After doing the preparation steps described in the sections + above, the final step is to create the actual database. This can be + done by using the command <command>createdb</command> or by using + SQL commands entered into the PostgreSQL frontent + <command>psql</command>. The database encoding can be of any type as + the mail text itself is stored as a binary field and therefore + there's no need to use binary encoding for the database. The + following command creates the database <database + class="name">amavis</database> for user <database + class="user">amavis</database> in tablespace <database + class="table">tb_amavis</database>:</para> + + <screen><prompt>sreindl@linux-fest:~> </prompt><userinput>createdb --tablespace=tb_admin \ +</userinput><prompt>> </prompt><userinput> --owner=amavis \ +</userinput><prompt>> </prompt><userinput> --echo \ +</userinput><prompt>> </prompt><userinput> --user=superuser \ +</userinput><prompt>> </prompt><userinput> --password +</userinput><prompt>Password:</prompt> <userinput><replaceable><password></replaceable></userinput> +<computeroutput>CREATE DATABASE</computeroutput> +<prompt>sreindl@linux-fest:~> </prompt> +</screen> + + <para>A similar command on the psql command line would be</para> + + <screen><prompt>postgres=# </prompt><userinput>CREATE DATABASE amavis OWNER amavis TABLESPACE tb_amavis;</userinput> +<computeroutput>CREATE DATABASE</computeroutput> +<prompt>postgres=#</prompt></screen> + </section> + </section> + + <section> + <title>Create SQL data model</title> + + <para>With the Amavisd-new distribution, a README-file is distributed + that contains a sample data model. As this data model is mixed + together with MySQL comments, a clean version for PostgreSQL is + provided in the distribution of AmavisAdmin. To execute this file, you + can pass the filename directly to the <command>psql</command> command + on the command line:<screen><prompt>sreindl@linux-fest:~> </prompt><userinput>psql --username=amavis --password amavis <<replaceable>create_tables.sql</replaceable> +</userinput><prompt>Password for user amavis: </prompt><replaceable><password></replaceable> +<computeroutput>...</computeroutput> <lineannotation>lots of output.</lineannotation> +<prompt>sreindl@linux-fest:~> </prompt></screen></para> + + <para>The file can be found in + <filename>db/postgres/create_tables.sql</filename>. After creating the + data model, some initial data has to be loaded to let Amavisd-new + start over:</para> + + <screen><prompt>sreindl@sreindl:~> </prompt><userinput>psql --username=amavis --password amavis <inital_load.sql</userinput> +<prompt>Password for user amavis: </prompt><userinput><replaceable><password></replaceable></userinput> +<computeroutput>... +</computeroutput><prompt>sreindl@linux-fest:~></prompt> </screen> + + <para>A more complete example with input data can be found in the + AmavisAdmin distribution in + <filename>db/postgres/initial_load.sql</filename>.</para> + + <para>As there're no local users defined in the database, the messages + are stored according to the <emphasis>catchall</emphasis> user. After + finalizing this step your database should be ready to run + amavisd-new.</para> + </section> + </section> + + <section> <title>Amavisd-new</title> <para>The Amavisd-new application can be downloaded from the <ulink url="http://www.ijs.si/software/amavisd/">Amavisd-new home page</ulink>. Please ensure to at least use version 2.4.1, as this version is at least from documentation point of view SQL save according to the current data - model. The following commands taken from the file - <filename>INSTALL</filename> that is part of the Amavisd-new - distribution explains how to download a particular version of the - software:</para> + model. For installation of amavisd-new and about how to setup SQL + storage and lookup, please refer to the following documentation + files:</para> - <screen><prompt>$ </prompt><userinput>curl -s -S -O http://www.ijs.si/software/amavisd/amavisd-new-<replaceable><version></replaceable></userinput><co id="sc-amavis-curl" /> -<prompt>$ </prompt><userinput>gzip -d -c amavisd-new-<replaceable><version></replaceable>.tar.gz | tar xvf -</userinput> -<computeroutput >amavisd-new-2.4.4 -amavisd-new-2.4.4/README_FILES -amavisd-new-2.4.4/helper-progs -amavisd-new-2.4.4/test-messages -amavisd-new-2.4.4/AAAREADME.first -amavisd-new-2.4.4/INSTALL + <itemizedlist> + <listitem> + <para><ulink + url="http://www.ijs.si/software/amavisd/INSTALL.txt">http://www.ijs.si/software/amavisd/INSTALL.txt</ulink> + describes how to download and install Amavisd-new in general</para> + </listitem> + + <listitem> + <para><ulink + url="http://www.ijs.si/software/amavisd/README.sql.txt">http://www.ijs.si/software/amavisd/README.sql.txt</ulink> + describes how to setup SQL access.</para> + </listitem> + </itemizedlist> + + <para>In addition, you have to make the PDP protocol available via + socket access. The PDP protocoll (see <ulink + url="http://www.ijs.si/software/amavisd/README.protocol.txt">http://www.ijs.si/software/amavisd/README.protocol.txt</ulink> + for reference) enables other applications to either perform SPAM/Virus + checks for mails or to release quarantined mails. To accomplish this, + the file <filename>/etc/amavisd.conf</filename> has to be adapted. The + following listing explains the changes in detail:</para> + + <programlisting>... +$inet_socket_port = (10024,<replaceable>10026</replaceable><co + id="pl-amavis-inet-socket-port" />); # listen on this local TCP port(s) (see $protocol) ... -tar: Read 4608 bytes from -</computeroutput> -<prompt>$ </prompt><userinput>cd amavisd-new-<replaceable><version></replaceable></userinput></screen> +$protocol='AM.PDP';<co id="pl-amavis-conf-protocol" /> +...</programlisting> - <calloutlist> - <callout arearefs="sc-amavis-curl"> - <para>Other tools like <command>wget</command> or downloading via - your favourite web browser should work also.</para> - </callout> - </calloutlist> + <calloutlist> + <callout arearefs="pl-amavis-inet-socket-port"> + <para>Please add here the port that should be used for communication + between AmavisAdmin and amavisd-new. This port number should be + selected with caution as there might be some inteference with other + application if you would select a port that is already in use by + another application.</para> + </callout> + <callout arearefs="pl-amavis-inet-socket-port"> + <para>This line defines the general protocol to be used for talking + to amavisd-new. As described above, the PDP-protocol is the right + value here.</para> + </callout> + </calloutlist> + + <para>Another part that has to be updated is the lookup and storage + section. Both sections define how and where to lookup user and policy + informartion and in addition where to store mails (either quarantined or + not, depending on the settings). The following example shows how to + define database lookups (the perl module DBI::Pg needs to be installed + for this):</para> + + <programlisting>... +@lookup_sql_dsn = + ( ['DBI:Pg:database=amavis', 'amavis', 'amavis'] ); + <lineannotation>The values used are matching the examples given above.</lineannotation> +... +@storage_sql_dsn = @lookup_sql_dsn; # none, same, or separate database +</programlisting> + + <para>Your settings might be different from the settings above, + especially if the database is located on a different host or other + settings might be different as well. For details please refer to the + Amavisd-new documentation.</para> + + <para>In addition the storage of mails has to be defined. It can be + individually set if mails of specific types (e.g. clean mail, virus, + ...) should be stored with mail contents or not. This settings should be + adjusted by your needs and available disk space. As the table that + contains the mail contents (table <database + class="table">quarantine</database>) is not accessed for read access by + amavisd-new, the performance depends on your write throughput of your + database server. The following list describes the important + configuration settings available and values which seem + reasonable:</para> + + <variablelist> + <varlistentry> + <term>$clean_quarantine_method</term> + + <listitem> + <para>If this variable will be set to sql, all message texts of + mails that have passed all checks successfully are stored in the + database.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>$virus_quarantine_method</term> + + <listitem> + <para>If this variable is set to sql, virus mail texts are stored + in the database. </para> + </listitem> + </varlistentry> + + <varlistentry> + <term>$banned_files_quarantine_method</term> + + <listitem> + <para>If this variable is set to sql, for mails that have been + rejected because of banned attachments (e.g. executable files, + ...), the mail text (including the attachments) is stored in the + database.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>$spam_quarantine_method</term> + + <listitem> + <para>if this variable is set to sql, the mail text for mails that + have been marked as SPAM are stored in the database.</para> + </listitem> + </varlistentry> + </variablelist> + + <para>Usually only for viruses, banned attachments and SPAM mails this + setting should be touched. In addition please check the legal impact of + storing each and every mail in a database that is not directly + accessable to the users.</para> </section> + + <section> + <title>AmavisAdmin</title> + + <para>To install AmavisAdmin, you can download the distribtion file from + <?target aSAsAS?></para> + </section> </section> </article> \ No newline at end of file Copied: amavisadmin/trunk/docs/user_guide.xml (from rev 51, amavisadmin/branches/documentation_1_0/docs/user_guide.xml) =================================================================== --- amavisadmin/trunk/docs/user_guide.xml (rev 0) +++ amavisadmin/trunk/docs/user_guide.xml 2007-01-25 20:39:12 UTC (rev 52) @@ -0,0 +1,86 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" +"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"> +<article> + <articleinfo> + <title>AmavisAdmin</title> + + <subtitle>User Manual</subtitle> + + <author> + <firstname>Stephen</firstname> + + <surname>Reindl</surname> + + <address><street>Langster Str. 28</street> +<postcode>40668</postcode> <city>Meerbusch</city> +<country>Germany</country></address> + + <email>sr...@sr...</email> + </author> + + <pubdate>February 2007</pubdate> + + <copyright> + <year>2006</year> + + <year>2007</year> + + <holder>Stephen Reindl</holder> + </copyright> + + <legalnotice> + <para>Licensed 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</para> + + <para><ulink + url="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</ulink></para> + + <para>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.</para> + </legalnotice> + + <revhistory> + <revision> + <revnumber>0.1</revnumber> + + <date>2007-01-22</date> + + <authorinitials>sr</authorinitials> + + <revdescription> + <para>Initial document</para> + </revdescription> + </revision> + </revhistory> + </articleinfo> + + <section> + <title>Preface</title> + + <para>This document describes how to use AmavisAdmin from a user's + perspective. As the AmavisAdmin can be used by both, regular users and + adminstrators, there's no specific document for administration of + AmavisAdmin. Specific details about configuration and scheduling can be + found in the <citetitle id="ref-installation-manual">installation + manual</citetitle>.</para> + + <section> + <title>Bibliography</title> + + <bibliography> + <biblioentry id="maler96"> + <title>From Text to Model to Markup</title> + + <subtitle></subtitle> + </biblioentry> + </bibliography> + + <para></para> + </section> + </section> +</article> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <str...@us...> - 2007-01-28 11:22:11
|
Revision: 56 http://amavisadmin.svn.sourceforge.net/amavisadmin/?rev=56&view=rev Author: streindl Date: 2007-01-28 03:22:04 -0800 (Sun, 28 Jan 2007) Log Message: ----------- Merge from documentation branch Modified Paths: -------------- amavisadmin/trunk/docs/user_guide.xml Added Paths: ----------- amavisadmin/trunk/docs/architecture.sdr Copied: amavisadmin/trunk/docs/architecture.sdr (from rev 55, amavisadmin/branches/documentation_1_0/docs/architecture.sdr) =================================================================== (Binary files differ) Modified: amavisadmin/trunk/docs/user_guide.xml =================================================================== --- amavisadmin/trunk/docs/user_guide.xml 2007-01-28 11:19:34 UTC (rev 55) +++ amavisadmin/trunk/docs/user_guide.xml 2007-01-28 11:22:04 UTC (rev 56) @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" +<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"> -<article> - <articleinfo> +<book> + <bookinfo> <title>AmavisAdmin</title> <subtitle>User Manual</subtitle> @@ -48,7 +48,7 @@ <revision> <revnumber>0.1</revnumber> - <date>2007-01-22</date> + <date>2007-01-28</date> <authorinitials>sr</authorinitials> @@ -57,9 +57,9 @@ </revdescription> </revision> </revhistory> - </articleinfo> + </bookinfo> - <section> + <preface> <title>Preface</title> <para>This document describes how to use AmavisAdmin from a user's @@ -69,18 +69,115 @@ found in the <citetitle id="ref-installation-manual">installation manual</citetitle>.</para> - <section> - <title>Bibliography</title> + <para>The manual is splitted into two major parts:</para> - <bibliography> - <biblioentry id="maler96"> - <title>From Text to Model to Markup</title> + <orderedlist> + <listitem> + <para>The first part describes how to use and work with + AmavisAdmin</para> + </listitem> - <subtitle></subtitle> - </biblioentry> - </bibliography> + <listitem> + <para>The second part describes how to adminstrate AmavisAdmin</para> + </listitem> + </orderedlist> + </preface> - <para></para> - </section> - </section> -</article> \ No newline at end of file + <part id="part-how-to-use"> + <title>How to use AmavisAdmin</title> + + <partintro> + <para>This part shows how to use AmavisAdmin as a regular user. It + describes all the standard use cases and helps to understand how + AmavisAdmin is working.</para> + + <para>In addition, <xref linkend="chp-what-is-amavisadmin" /> describes + how AmavisAdmin is working and how it interacts with the current + system.</para> + </partintro> + + <chapter id="chp-what-is-amavisadmin"> + <title>What is AmavisAdmin</title> + + <para>AmavisAdmin is a tool desiged to support you in handling SPAM, + virus or mails with banned attachments. Basically Amavisd-new (the SPAM + and virus filter that is used in your network to prevent you from + reciving malcious mails) is storing all mails that are not delivered to + a user in a database. It is now up to the user to decide if the mails + that have been blocked are going to be release (i.e. sent anyhow) or if + they can be deleted from the system. For security reasons mails are not + delivered automatically in case the user has requested to release the + mail. They are marked with a special status and are going to be released + only after an administrator has approved the request.</para> + + <figure id="fig-architecture"> + <title>Architecture of a system receiving mails and processing them + trough Amavisd-new</title> + + <mediaobject> + <imageobject> + <imagedata fileref="architecture.png" /> + </imageobject> + </mediaobject> + </figure> + + <para>Figure xx gives an overview about the general architecture + and how AmavisAdmin fits into the figure. The flow for incoming mails + (either internet or intranet) is as follows:</para> + + <procedure> + <step> + <para>The postfix daemon accepts an incoming mail. First basic + checks are done like correct mail header, relay checks, ...</para> + </step> + + <step> + <para>Postfix sends the mail towards amavis for further checks. + Amavis does several checks now to analyse the mail (e.g. checking + for banned attachments, does the mail contain virus).</para> + + <substeps> + <step> + <para>The Virus-Scanner checks in parallel if the mail contains + any known virus.</para> + </step> + </substeps> + </step> + + <step> + <para>After performing the checks, general mail informartion is + stored in the quarantine database. If the mail is containing + problematic contents (i.e. viruses, SPAM, banned attachments,) also + the mail content is stored in the database. </para> + </step> + + <step> + <para>Amavis now is either sending the mail contents back to Postfix + to deliver the mail to the user or in case the mail has been + rejected (i.e. a virus mail or banned content,) the user gets an + information about what happened to his mail.</para> + </step> + + <step> + <para>Postfix is delivering the mail now to the IMAP-Server that is + responsible for sending the mail to the user's mail box.</para> + </step> + + <step> + <para>After the mail is stored in the user's mail box, the user can + read his mail or informational mail.</para> + </step> + </procedure> + </chapter> + + <chapter> + <title>Logging in</title> + + <section> + <title>Logging in the first time</title> + + <para></para> + </section> + </chapter> + </part> +</book> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <str...@us...> - 2007-12-19 18:20:54
|
Revision: 60 http://amavisadmin.svn.sourceforge.net/amavisadmin/?rev=60&view=rev Author: streindl Date: 2007-12-19 10:21:00 -0800 (Wed, 19 Dec 2007) Log Message: ----------- removed xml documentation as this will be replaced Removed Paths: ------------- amavisadmin/trunk/docs/Makefile amavisadmin/trunk/docs/architecture.sdr amavisadmin/trunk/docs/cust/ amavisadmin/trunk/docs/docbook-xsl-1.71.1/ amavisadmin/trunk/docs/images amavisadmin/trunk/docs/installationguide.xml amavisadmin/trunk/docs/user_guide.xml Deleted: amavisadmin/trunk/docs/Makefile =================================================================== --- amavisadmin/trunk/docs/Makefile 2007-01-28 16:57:16 UTC (rev 59) +++ amavisadmin/trunk/docs/Makefile 2007-12-19 18:21:00 UTC (rev 60) @@ -1,645 +0,0 @@ -# $Source$ -# $Author: xmldoc $ -# $Date: 2006-09-01 15:47:16 +0900 (Fri, 01 Sep 2006) $ -# $Revision: 6235 $ -# vim: number -# -# ----------------------------------------------------------------- -# ** Makefile.DocBook -- generate output from DocBook sources ** -# ----------------------------------------------------------------- -# -# This file is part of the DocBook Project XSL Stylesheet -# distribution. -# -# See http://docbook.sourceforge.net/release/xsl/current/ -# for copyright and other information. -# DOCBOOK_OUTPUT_FORMATS is the default set of targets (output -# formats) that get built when you type "make" without any targets -# explicitly specified. To generate a different set of output -# formats, change the value of DOCBOOK_OUTPUT_FORMATS here or set -# it in your environment; for example: -# -# set DOCBOOK_OUTPUT_FORMATS="html pdf"; export DOCBOOK_OUTPUT_FORMATS -# -# Of course by explicitly specifying particular targets when you -# invoke "make", you can always override generation of the default -# set of targets; for example: -# -# make html txt -# -# That would generate just HTML (unchunked) and plain-text output. -# -DOCBOOK_OUTPUT_FORMATS ?= man chunk txt pdf - -# If you want XHTML output instead of HTML, set HTML_OR_XHTML to -# 'xhtml' or just specify 'xhtml" in DOCBOOK_OUTPUT_FORMATS. -ifeq ($(findstring xhtml,$(DOCBOOK_OUTPUT_FORMATS)),) -HTML_OR_XHTML ?= html -else -HTML_OR_XHTML ?= xhtml -endif - -# ----------------------------------------------------------------- -# *** TOOLS and other DEPENDENCIES *** -# ----------------------------------------------------------------- -# we use rmdir(1) to remove dirs we create for chunked HTML output -RMDIR = rmdir -# "-p" causes empty parent dirs to be deleted as well -RMDIR_FLAGS = --ignore-fail-on-non-empty -p - -# possible values for PDF_MAKER are: -# dblatex|fop|fop1|xep|xmlroff|passivetex -PDF_MAKER = fop1 - -# possible values for TXT_MAKER are: -# links|lynx|w3m|w3mmee -TXT_MAKER = w3m -TXT_MAKER_FLAGS = -dump - -# xsl -XSLT = xsltproc -XSLT_FLAGS = --xinclude - -# http://dblatex.sourceforge.net/ -DBLATEX = dblatex -DBLATEX_FLAGS = -b pdftex - -FOP = fop -FOP_FLAGS = - -XEP = xep -XEP_FLAGS = - -# http://xmlroff.sourceforge.net/ -XMLROFF = xmlroff -XMLROFF_FLAGS = - -PDFTEX = pdftex -PDFTEX_FLAGS = - -# used by PassiveTeX -PDFXMLTEX = pdfxmltex - -# http://docbook2x.sourceforge.net/ -DB2X_XSLTPROC = db2x_xsltproc -DB2X_XSLTPROC_FLAGS = -DB2X_TEXIXML = db2x_texixml -DB2X_TEXIXML_FLAGS = - -# we call the man(1) command to generate "foo.N.pdf" and -# "foo.N.txt" output (see "man-pdf" & "man-txt" targets) -MAN = man -MAN_FLAGS = - -# The "ps2pdf" command is part of GhostSript (gs) distro. -# It is just a wrapper script around gs that does this: -# -# gs -dCompatibilityLevel=1.2 -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite \ -# "-sOutputFile=$outfile" -dCompatibilityLevel=1.2 -c .setpdfwrite -f "$infile" -# -# Where, for example: $outfile = foo.pdf and $infile = foo.1 -PS2PDF = ps2pdf -PS2PDF_FLAGS = - -# The "col" command is needed for stripping backspaces and -# underscores from man(1) output to get pure plain-text -COL = col -COL_FLAGS = - -# The "expand" command is needed for expanding tabs from files -# generated from "man foo.1 | col -b" output -# output to get pure plain-text -EXPAND = expand -EXPAND_FLAGS = - -# value of DOCBOOK_XSL should either be the canonical -# (docbook.sourceforge.net) URL for the DocBook Project XSL -# stylesheets OR it can be a local system path -DOCBOOK_XSL = docbook-xsl-1.71.1 - -# ----------------------------------------------------------------- -# names of some DIRECTORIES and FILES we need -# ----------------------------------------------------------------- -# We create a tmp directory once per make invocation; it's needed -# for holding a temporary copy of the custom DBLaTeX stylesheet -# (because dblatex currently can't read a stylesheet from stdin) -TMP ?= /tmp -TMPNUM := $(shell echo $$$$) -DOCBOOK_TMP := $(TMP)/docbook-make-$(TMPNUM) - -# MAN_MANIFEST_EXT is file extension added to individual manifest -# files -MAN_MANIFEST_EXT = manifest_man - -# HTML_MANIFEST_EXT is file extension added to HTML manifest files -HTML_MANIFEST_EXT = manifest_html - -# BASEDIR_SUFFIX is a what you need to set if you want a suffix -# added to the end of each "base.dir" we create while generating -# chunked HTML output -#BASEDIR_SUFFIX = -html -#BASEDIR_SUFFIX = _html -BASEDIR_SUFFIX = - -# ----------------------------------------------------------------- -# assorted OPTIONS -# ----------------------------------------------------------------- -# HTML_STYLESHEET -> $html.stylesheet stylesheet param -# http://docbook.sourceforge.net/snapshots/xsl/doc/html/html.stylesheet.html -HTML_STYLESHEET = style.css -# HTML_IMAGES -> $admon.graphics.path -# http://docbook.sourceforge.net/snapshots/xsl/doc/html/admon.graphics.path.html -HTML_IMAGES = images/ -# HTML_IMAGES_EXT -> $admon.graphics.extension -# http://docbook.sourceforge.net/snapshots/xsl/doc/html/admon.graphics.extension.html -HTML_IMAGES_EXT = .png - -# use these to set params on the command-line -# format is, e.g., HTML_PARAMS="--stringparam variablelist.as.table 1..." -FO_PARAMS = -HTML_PARAMS = -MAN_PARAMS = - -# DBX_PARAMS is for dblatex(1); format uses "-p": -# DBX_PARAMS="-p doc.publisher.show 1 -p term.breakline 1... -DBX_PARAMS= - -# What file extension do you use for DocBook source files? -DOCBOOK_FILE_EXTENSION = .xml - -# ----------------------------------------------------------------- -# make(1) functions for building file lists -# ----------------------------------------------------------------- -# -# the values of the following are used for determing what needs -# to be built and/or cleaned up - -SOURCE_FILES_DBK = $(wildcard *$(DOCBOOK_FILE_EXTENSION)) - -FILES_FO = $(foreach base,$(basename $(SOURCE_FILES_DBK)),$(base).fo) -FILES_TXT = $(foreach base,$(basename $(SOURCE_FILES_DBK)),$(base).txt) -FILES_PDF = $(foreach base,$(basename $(SOURCE_FILES_DBK)),$(base).pdf) -FILES_LOG = $(foreach base,$(basename $(SOURCE_FILES_DBK)),$(base).log) -FILES_OUT = $(foreach base,$(basename $(SOURCE_FILES_DBK)),$(base).out) -FILES_AUX = $(foreach base,$(basename $(SOURCE_FILES_DBK)),$(base).aux) -FILES_HTML = $(foreach base,$(basename $(SOURCE_FILES_DBK)),$(base).html) -FILES_INFO = $(foreach base,$(basename $(SOURCE_FILES_DBK)),$(base).info) -DIRS_CHUNK = $(foreach base,$(basename $(SOURCE_FILES_DBK)),$(base)$(BASEDIR_SUFFIX)) -LISTS_HTML = $(foreach base,$(basename $(SOURCE_FILES_DBK)),$(base).$(HTML_MANIFEST_EXT)) -LISTS_MAN = $(foreach base,$(basename $(SOURCE_FILES_DBK)),$(base).$(MAN_MANIFEST_EXT)) -FILES_CHNK = $(shell for manifest in $(LISTS_HTML); do if [ -f "$$manifest" ]; then cat $$manifest; fi done) -FILES_MAN = $(shell for manifest in $(LISTS_MAN); do if [ -f "$$manifest" ]; then cat $$manifest; fi done) -FILES_MANP = $(foreach base,$(FILES_MAN),$(base).pdf) -FILES_MANT = $(foreach base,$(FILES_MAN),$(base).txt) -DIRS_MAN = $(shell for file in $(FILES_MAN); do dirname $$file; done | uniq) - -# ----------------------------------------------------------------- -# ** stylesheet for testing whether a file has a refentry -# ----------------------------------------------------------------- -REFENTRY_CHECK := <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" \ - version="1.0" \ - xmlns:db="http://docbook.org/ns/docbook" \ - > \ -<xsl:output method="text"/> \ -<xsl:template match="/"> \ -<xsl:if test="//refentry|//db:refentry"> \ -<xsl:text>true</xsl:text> \ -</xsl:if> \ -</xsl:template> \ -</xsl:stylesheet> - -# ----------------------------------------------------------------- -# ** Stylesheet Customization Layers ** -# ----------------------------------------------------------------- -# -# for DBLaTeX -DBX_CUSTOM := <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" \ - version="1.0"> \ -<xsl:param name="co.linkends.show">0</xsl:param> \ -<xsl:param name="callout.markup.circled">1</xsl:param> \ -<xsl:param name="callout.linkends.hot">0</xsl:param> \ -<xsl:param name="doc.publisher.show">1</xsl:param> \ -<xsl:param name="term.breakline">1</xsl:param> \ -<xsl:param name="doc.alignment">left</xsl:param> \ -<xsl:param name="newtbl.use">1</xsl:param> \ -<xsl:param name="latex.hyperparam"/> \ -<xsl:param name="latex.style">docbook</xsl:param> \ -<xsl:param name="latex.biblio.output">all</xsl:param> \ -<xsl:param name="latex.bibfiles">""</xsl:param> \ -<xsl:param name="latex.bibwidelabel">WIDELABEL</xsl:param> \ -<xsl:param name="latex.output.revhistory">0</xsl:param> \ -<xsl:param name="latex.figure.position">[htbp]</xsl:param> \ -<xsl:param name="latex.figure.boxed">0</xsl:param> \ -<xsl:param name="latex.babel.use">1</xsl:param> \ -<xsl:param name="latex.babel.language"></xsl:param> \ -<xsl:param name="latex.class.options">twoside</xsl:param> \ -<xsl:param name="biblioentry.item.separator">, </xsl:param> \ -<xsl:param name="refentry.xref.manvolnum">1</xsl:param> \ -<xsl:param name="refsynopsis.title">Synopsis</xsl:param> \ -<xsl:param name="refnamediv.title"></xsl:param> \ -<xsl:param name="funcsynopsis.style">ansi</xsl:param> \ -<xsl:param name="funcsynopsis.decoration">1</xsl:param> \ -<xsl:param name="function.parens">0</xsl:param> \ -<xsl:param name="classsynopsis.default.language">java</xsl:param> \ -<xsl:param name="show.comments">0</xsl:param> \ -</xsl:stylesheet> - -# for FO output -FO_CUSTOM := <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" \ - xmlns:fo="http://www.w3.org/1999/XSL/Format" \ - version="1.0"> \ -<xsl:import href="$(DOCBOOK_XSL)/fo/docbook.xsl"/> \ -<xsl:include href="cust/titlepage.templates.xsl"/> \ -<xsl:param name="$(PDF_MAKER).extensions">1</xsl:param> \ -<xsl:param name="paper.type">A4</xsl:param> \ -<xsl:param name="callout.unicode">1</xsl:param> \ -<xsl:param name="callout.graphics">0</xsl:param> \ -<xsl:param name="admon.graphics">1</xsl:param> \ -<xsl:param name="admon.graphics.extension">.svg</xsl:param> \ - <xsl:param name="draft.watermark.image"></xsl:param> \ - <xsl:param name="hyphenation">false</xsl:param> \ - <xsl:param name="hyphenate.verbatim">0</xsl:param> \ - <xsl:param name="alignment">left</xsl:param> \ - <xsl:param name="refentry.generate.name">1</xsl:param> \ - <xsl:param name="refentry.generate.title">0</xsl:param> \ - <xsl:param name="refentry.pagebreak">1</xsl:param> \ - <xsl:param name="shade.verbatim">1</xsl:param> \ - <xsl:param name="variablelist.as.blocks">1</xsl:param> \ - <xsl:param name="ulink.show">1</xsl:param> \ - <xsl:param name="ulink.footnotes">1</xsl:param> \ - <xsl:param name="index.on.type">1</xsl:param> \ - <xsl:attribute-set name="xref.properties"> \ - <xsl:attribute name="color">blue</xsl:attribute> \ - </xsl:attribute-set> \ - <xsl:attribute-set name="shade.verbatim.style"> \ - <xsl:attribute name="background-color">\#E0E0E0</xsl:attribute> \ - <xsl:attribute name="padding-left">4pt</xsl:attribute> \ - <xsl:attribute name="padding-right">4pt</xsl:attribute> \ - <xsl:attribute name="padding-top">4pt</xsl:attribute> \ - <xsl:attribute name="padding-bottom">4pt</xsl:attribute> \ - </xsl:attribute-set> \ - <xsl:param name="section.autolabel">1</xsl:param> \ - <xsl:attribute-set name="section.title.level1.properties"> \ - <xsl:attribute name="font-size"> \ - <xsl:value-of select="$$body.font.master * 1.5"></xsl:value-of> \ - <xsl:text>pt</xsl:text> \ - </xsl:attribute> \ - </xsl:attribute-set> \ - <xsl:attribute-set name="section.title.level2.properties"> \ - <xsl:attribute name="font-size"> \ - <xsl:value-of select="$$body.font.master * 1.3"></xsl:value-of> \ - <xsl:text>pt</xsl:text> \ - </xsl:attribute> \ - </xsl:attribute-set> \ - <xsl:attribute-set name="section.title.level3.properties"> \ - <xsl:attribute name="font-size"> \ - <xsl:value-of select="$$body.font.master * 1.1"></xsl:value-of> \ - <xsl:text>pt</xsl:text> \ - </xsl:attribute> \ - </xsl:attribute-set> \ - <xsl:attribute-set name="section.title.level4.properties"> \ - <xsl:attribute name="font-size"> \ - <xsl:value-of select="$$body.font.master"></xsl:value-of> \ - <xsl:text>pt</xsl:text> \ - </xsl:attribute> \ - </xsl:attribute-set> \ - <xsl:attribute-set name="component.title.properties"> \ - <xsl:attribute name="font-size"> \ - <xsl:value-of select="$$body.font.master * 1.5"></xsl:value-of> \ - <xsl:text>pt</xsl:text> \ - </xsl:attribute> \ - </xsl:attribute-set> \ - <xsl:attribute-set name="monospace.verbatim.properties"> \ - <xsl:attribute name="wrap-option">wrap</xsl:attribute> \ - <xsl:attribute name="hyphenation-character">\</xsl:attribute> \ - <xsl:attribute name="font-size"> \ - <xsl:value-of select="$$body.font.master * 0.8"></xsl:value-of> \ - <xsl:text>pt</xsl:text> \ - </xsl:attribute> \ - </xsl:attribute-set> \ -</xsl:stylesheet> - -# for single-file (X)HTML outpout -HTML_CUSTOM := <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" \ - version="1.0"> \ - <xsl:import href="$(DOCBOOK_XSL)/$(HTML_OR_XHTML)/docbook.xsl"/> \ - <xsl:param name="gentext.custom">local.l10n.xml</xsl:param> \ - <xsl:param name="local.l10n.xml" select="document($$gentext.custom)"/> \ - <xsl:param name="refentry.generate.name">1</xsl:param> \ - <xsl:param name="refentry.generate.title">0</xsl:param> \ - <xsl:param name="root.filename"></xsl:param> \ - <xsl:param name="variablelist.as.table">0</xsl:param> \ - <xsl:param name="html.stylesheet">$(HTML_STYLESHEET)</xsl:param> \ - <xsl:param name="admon.graphics">0</xsl:param> \ - <xsl:param name="index.on.type">1</xsl:param> \ -</xsl:stylesheet> - -# for chunked (X)HTML output -CHNK_CUSTOM := <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" \ - version="1.0"> \ - <xsl:import href="$(DOCBOOK_XSL)/$(HTML_OR_XHTML)/chunk.xsl"/> \ - <xsl:param name="refentry.generate.name">0</xsl:param> \ - <xsl:param name="refentry.generate.title">1</xsl:param> \ - <xsl:param name="variablelist.as.table">0</xsl:param> \ - <xsl:param name="html.stylesheet">$(HTML_STYLESHEET)</xsl:param> \ - <xsl:param name="admon.graphics">1</xsl:param> \ - <xsl:param name="admon.graphics.path">$(HTML_IMAGES)</xsl:param> \ - <xsl:param name="admon.graphics.extension">$(HTML_IMAGES_EXT)</xsl:param> \ - <xsl:param name="root.filename"></xsl:param> \ - <xsl:param name="generate.manifest">1</xsl:param> \ - <xsl:param name="use.id.as.filename">1</xsl:param> \ - <xsl:param name="chunker.output.indent">yes</xsl:param> \ - <xsl:param name="index.on.type">1</xsl:param> \ -</xsl:stylesheet> - -# for man-page output -MAN_CUSTOM := <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" \ - version="1.0"> \ - <xsl:import href="$(DOCBOOK_XSL)/manpages/docbook.xsl"/> \ - <xsl:param name="man.output.manifest.enabled" select="1"/> \ - <xsl:param name="man.output.in.separate.dir" select="1"/> \ - <xsl:param name="man.output.base.dir">man/</xsl:param> \ - <xsl:param name="man.output.subdirs.enabled" select="1"/> \ -</xsl:stylesheet> - -# ----------------------------------------------------------------- -# ** TARGETS START HERE ** -# ----------------------------------------------------------------- -# prevents make from deleting, e.g. foo.1, after making foo.1.pdf -# and foo.1.txt from it. -.PRECIOUS: %.1 %.2 %.3 %.4 %.5 %.6 %.7 %.8 %.9 - -docbook: $(DOCBOOK_OUTPUT_FORMATS) - -man: $(LISTS_MAN) - -# we can generate PDFs from man pages -man-pdf: man - $(MAKE) $(FILES_MANP) - -# we can generate plain text from man pages -man-txt: man - $(MAKE) $(FILES_MANT) - -html: $(FILES_HTML) - -chunk: $(LISTS_HTML) - -txt: $(FILES_TXT) - -pdf: cust/titlepage.templates.xsl $(FILES_PDF) - -info: $(FILES_INFO) - -cust/titlepage.templates.xsl: cust/titlepage.templates.xml - xsltproc -output cust/titlepage.templates.xsl \ - $(DOCBOOK_XSL)/template/titlepage.xsl cust/titlepage.templates.xml - -# use the "debug" target to echo variables, etc., to -# test/troubleshoot changes you make to this makefile -debug: - @echo $(DIRS_MAN) - -# ----------------------------------------------------------------- -# pattern rule for making (X)HTML and plain-text output -# ----------------------------------------------------------------- -%.html: %$(DOCBOOK_FILE_EXTENSION) - @echo '$(HTML_CUSTOM)' | $(XSLT) $(XSLT_FLAGS) $(HTML_PARAMS) - $< > $@ - -%.txt: %.html - $(TXT_MAKER) $(TXT_MAKER_FLAGS) ./$< \ - | sed "s/^\(\s\+[0-9]\+\. \)file:\/\/.\+$$/\\1(local)/g" \ - | egrep -v '^ file:///.+$$' \ - > $@ -# if DOCBOOK_OUTPUT_FORMATS does not contain "html", then we need -# to remove the "intermediate" HTML files we used for generating -# plain-text output -ifeq ($(findstring html,$(DOCBOOK_OUTPUT_FORMATS)),) - $(RM) $< -endif - -# ----------------------------------------------------------------- -# pattern rule for making chunked (X)HTML pages -# ----------------------------------------------------------------- -%.$(HTML_MANIFEST_EXT): %$(DOCBOOK_FILE_EXTENSION) - @echo '$(CHNK_CUSTOM)' | $(XSLT) $(XSLT_FLAGS) $(HTML_PARAMS) \ - --stringparam manifest $@ \ - --stringparam base.dir $(basename $@)$(BASEDIR_SUFFIX)/ \ - - $< - -# ----------------------------------------------------------------- -# pattern rules for making FO and PDF stuff -# ----------------------------------------------------------------- -%.fo: %$(DOCBOOK_FILE_EXTENSION) - @echo '$(FO_CUSTOM)' \ - | $(XSLT) $(XSLT_FLAGS) $(FO_PARAMS) - $< > $@ - -ifeq ($(PDF_MAKER),dblatex) -%.pdf: %$(DOCBOOK_FILE_EXTENSION) - mkdir -p $(DOCBOOK_TMP) - echo '$(DBX_CUSTOM)' > $(DOCBOOK_TMP)/dblatex.xsl - -$(DBLATEX) $(DBLATEX_FLAGS)\ - -p $(DOCBOOK_TMP)/dblatex.xsl \ - -o $@ \ - $< - $(RM) -r $(DOCBOOK_TMP) -endif - -%.pdf: %.fo -ifeq ($(PDF_MAKER),) - $(error No PDF_MAKER specified. Cannot make pdf) -else -ifeq ($(PDF_MAKER),xep) - $(XEP) $(XEP_FLAGS) $< $@ -else -ifeq ($(PDF_MAKER),fop) - $(FOP) $(FOP_FLAGS) $< $@ -else -ifeq ($(PDF_MAKER),fop1) - $(FOP) $(FOP_FLAGS) $< $@ -else -ifeq ($(PDF_MAKER),xmlroff) - $(XMLROFF) $(XMLROFF_FLAGS) $< -o $@ -else -ifeq ($(PDF_MAKER),passivetex) - $(PDFTEX) $(PDFTEX_FLAGS) &$(PDFXMLTEX) $< - @if [ `egrep Rerun $(basename $@).log | wc -l` -gt 0 ]; then \ - $(PDFTEX) $(PDFTEX_FLAGS) &$(PDFXMLTEX) $< ; \ - fi - @if [ `egrep Rerun $(basename $@).log | wc -l` -gt 0 ]; then \ - $(PDFTEX) $(PDFTEX_FLAGS) &$(PDFXMLTEX) $< ; \ - fi - $(RM) $(basename $@).log - $(RM) $(basename $@).aux - $(RM) $(basename $@).out -else - $(error I do not know how to make a PDF using "$(PDF_MAKER)") -endif -endif -endif -endif -endif -endif - -# ----------------------------------------------------------------- -# pattern rules for making TeXinfo stuff -# ----------------------------------------------------------------- -%.txml: %$(DOCBOOK_FILE_EXTENSION) - $(DB2X_XSLTPROC) $(DB2X_XSLTPROC_FLAGS) -s texi -o $@ $< - -%.texi: %.txml - $(DB2X_TEXIXML) $(DB2X_TEXIXML_FLAGS) $< - -# the following is actually a built-in rule, but it's redefined -# here just for the sake of clarity -%.info: %.texi - $(MAKEINFO) $(MAKEINFO_FLAGS) $< -o $@ - -# ----------------------------------------------------------------- -# pattern rule for making man pages -# ----------------------------------------------------------------- -%.$(MAN_MANIFEST_EXT): %$(DOCBOOK_FILE_EXTENSION) - @if [ "$(strip $(shell echo '$(REFENTRY_CHECK)' | $(XSLT) $(XSLT_FLAGS) - $<))" != "true" ]; then \ - touch $@; \ - else \ - echo '$(MAN_CUSTOM)' \ - | $(XSLT) $(XSLT_FLAGS) $(MAN_PARAMS) \ - --stringparam man.output.manifest.filename $@ \ - - $<; \ - fi - -# ----------------------------------------------------------------- -# pattern rule for enabling direct "make foo.1" to work -# ----------------------------------------------------------------- - -%.1 %.2 %.3 %.4 %.5 %.6 %.7: %.xml - $(MAKE) $(basename $<).$(MAN_MANIFEST_EXT) - -# ----------------------------------------------------------------- -# pattern rules for making Postscript/PDF output from man pages -# ----------------------------------------------------------------- -%.1.ps: %.1 - $(MAN) -l $(MAN_FLAGS) -Tps $< > $@ - -%.2.ps: %.2 - $(MAN) -l $(MAN_FLAGS) -Tps $< > $@ - -%.3.ps: %.3 - $(MAN) -l $(MAN_FLAGS) -Tps $< > $@ - -%.4.ps: %.4 - $(MAN) -l $(MAN_FLAGS) -Tps $< > $@ - -%.5.ps: %.5 - $(MAN) -l $(MAN_FLAGS) -Tps $< > $@ - -%.6.ps: %.6 - $(MAN) -l $(MAN_FLAGS) -Tps $< > $@ - -%.7.ps: %.7 - $(MAN) -l $(MAN_FLAGS) -Tps $< > $@ - -%.8.ps: %.8 - $(MAN) -l $(MAN_FLAGS) -Tps $< > $@ - -%.9.ps: %.9 - $(MAN) -l $(MAN_FLAGS) -Tps $< > $@ - -# ----------------------------------------------------------------- -# pattern rule for converting Postscript to PDF -# ----------------------------------------------------------------- -%.pdf: %.ps - $(PS2PDF) $(PS2PDF_FLAGS) $< - -# ----------------------------------------------------------------- -# pattern rules for making plain-text output from man pages -# ----------------------------------------------------------------- -%.1.txt: %.1 - $(MAN) -l $(MAN_FLAGS) -Tascii $< | $(COL) -b $(COL_FLAGS) | $(EXPAND) $(EXPAND_FLAGS) > $@ - -%.2.txt: %.2 - $(MAN) -l $(MAN_FLAGS) -Tascii $< | $(COL) -b $(COL_FLAGS) | $(EXPAND) $(EXPAND_FLAGS) > $@ - -%.3.txt: %.3 - $(MAN) -l $(MAN_FLAGS) -Tascii $< | $(COL) -b $(COL_FLAGS) | $(EXPAND) $(EXPAND_FLAGS) > $@ - -%.4.txt: %.4 - $(MAN) -l $(MAN_FLAGS) -Tascii $< | $(COL) -b $(COL_FLAGS) | $(EXPAND) $(EXPAND_FLAGS) > $@ - -%.5.txt: %.5 - $(MAN) -l $(MAN_FLAGS) -Tascii $< | $(COL) -b $(COL_FLAGS) | $(EXPAND) $(EXPAND_FLAGS) > $@ - -%.6.txt: %.6 - $(MAN) -l $(MAN_FLAGS) -Tascii $< | $(COL) -b $(COL_FLAGS) | $(EXPAND) $(EXPAND_FLAGS) > $@ - -%.7.txt: %.7 - $(MAN) -l $(MAN_FLAGS) -Tascii $< | $(COL) -b $(COL_FLAGS) | $(EXPAND) $(EXPAND_FLAGS) > $@ - -%.8.txt: %.8 - $(MAN) -l $(MAN_FLAGS) -Tascii $< | $(COL) -b $(COL_FLAGS) | $(EXPAND) $(EXPAND_FLAGS) > $@ - -%.9.txt: %.9 - $(MAN) -l $(MAN_FLAGS) -Tascii $< | $(COL) -b $(COL_FLAGS) | $(EXPAND) $(EXPAND_FLAGS) > $@ - -# ----------------------------------------------------------------- -# target(s) for cleaning up the mess -# ----------------------------------------------------------------- -clean: -ifneq ($(FILES_TXT),) - $(RM) $(FILES_TXT) -endif -ifneq ($(FILES_PDF),) - $(RM) $(FILES_PDF) -endif -ifneq ($(FILES_FO),) - $(RM) $(FILES_FO) -endif -ifneq ($(FILES_LOG),) - $(RM) $(FILES_LOG) -endif -ifneq ($(FILES_OUT),) - $(RM) $(FILES_OUT) -endif -ifneq ($(FILES_AUX),) - $(RM) $(FILES_AUX) -endif -ifneq ($(FILES_HTML),) - $(RM) $(FILES_HTML) -endif -ifneq ($(FILES_CHNK),) - $(RM) $(FILES_CHNK) -endif -ifneq ($(FILES_MAN),) - $(RM) $(FILES_MAN) -endif -ifneq ($(FILES_MANT),) - $(RM) $(FILES_MANT) -endif -ifneq ($(FILES_MANP),) - $(RM) $(FILES_MANP) -endif -ifneq ($(FILES_INFO),) - $(RM) $(FILES_INFO) -endif -ifneq ($(DIRS_CHUNK),) - for dir in $(DIRS_CHUNK); do \ - if [ -d "$$dir" ]; then \ - $(RMDIR) $(RMDIR_FLAGS) $$dir; \ - fi \ - done -endif -ifneq ($(DIRS_MAN),) -ifneq ($(DIRS_MAN),.) - for dir in $(DIRS_MAN); do \ - if [ -d "$$dir" ]; then \ - $(RMDIR) $(RMDIR_FLAGS) $$dir; \ - fi \ - done -endif -endif -ifneq ($(LISTS_MAN),) - $(RM) $(LISTS_MAN) -endif -ifneq ($(LISTS_HTML),) - $(RM) $(LISTS_HTML) -endif Deleted: amavisadmin/trunk/docs/architecture.sdr =================================================================== (Binary files differ) Deleted: amavisadmin/trunk/docs/images =================================================================== --- amavisadmin/trunk/docs/images 2007-01-28 16:57:16 UTC (rev 59) +++ amavisadmin/trunk/docs/images 2007-12-19 18:21:00 UTC (rev 60) @@ -1 +0,0 @@ -link docbook-xsl-1.71.1/images/ \ No newline at end of file Deleted: amavisadmin/trunk/docs/installationguide.xml =================================================================== --- amavisadmin/trunk/docs/installationguide.xml 2007-01-28 16:57:16 UTC (rev 59) +++ amavisadmin/trunk/docs/installationguide.xml 2007-12-19 18:21:00 UTC (rev 60) @@ -1,706 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" -"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ -<!ENTITY sreindl "Stephen Reindl"> -<!ENTITY aa "AmavisAdmin"> -]> -<article> - <articleinfo> - <title>AmavisAdmin</title> - - <subtitle>Installation Guide</subtitle> - - <author> - <firstname>Stephen</firstname> - - <surname>Reindl</surname> - - <address><street>Langster Straße 28</street> -<postcode>40668</postcode> <city>Meerbusch</city> -<country>Germany</country></address> - - <email>sr...@sr...</email> - </author> - - <pubdate>February 2007</pubdate> - - <copyright> - <year>2006</year> - - <year>2007</year> - - <holder>Stephen Reindl</holder> - </copyright> - - <legalnotice> - <para>Licensed 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</para> - - <para><ulink - url="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</ulink></para> - - <para>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.</para> - </legalnotice> - - <revhistory> - <revision> - <revnumber>0.1</revnumber> - - <date>2007-01-20</date> - - <authorinitials>sr</authorinitials> - - <revdescription> - <para>Initial document</para> - </revdescription> - </revision> - </revhistory> - </articleinfo> - - <section id="preface"> - <title>Preface</title> - - <para>This document describes how to install and use the AmavisAdmin tool. - In addition the document describes which tools are necessary to build an - developement platform that is suitable to develop and maintain - AmavisAdmin.</para> - - <para>As AmavisAdmin is heavily based on Java and other open platform - tools, building a working production or development environment can be - done without creating any costs (except maybe for hardware, please see - below ...).</para> - </section> - - <section id="sec-system-requirements"> - <title>System Requirements</title> - - <para>The following requirements have to be met to run AmavisAdmin on a - Computer:</para> - - <itemizedlist> - <listitem> - <para>Java runtime Version 1.5.0 (Tested with 1.5.0-10) from Sun - (<ulink url="http://java.sun.com">http://java.sun.com</ulink>)</para> - </listitem> - - <listitem> - <para>An java application server. The software has been tested with - Apache Tomcat release <ulink - url="http://tomcat.apache.org/">5.5.</ulink></para> - </listitem> - - <listitem> - <para>A Database server where the Amavisd-Server stores it's mails and - AmavisAdmin is doing the administration. For development <ulink - url="http://www.postgresql.org">PostgreSQL</ulink> version <ulink - url="http://www.postgresql.org/docs/8.1/static/index.html">8.1</ulink> - is used.</para> - </listitem> - - <listitem> - <para><ulink - url="http://www.ijs.si/software/amavisd/">Amavisd-new</ulink> as the - SPAM and Virus filter engine. At least version 2.4.2 has to be - used.</para> - - <para>The Amavisd-new package doesn't need to run on the same machine - but both the database Amavisd-new and a specific TCP port need to be - available to perform neccessary operations.</para> - </listitem> - - <listitem> - <para>The JDBC-driver suitable for your database system. As mentioned - before the development is based on PostgreSQL, therefore the - appropriate driver for the database server is located at <ulink - url="http://jdbc.postgresql.org/">http://jdbc.postgresql.org/</ulink>.</para> - </listitem> - </itemizedlist> - </section> - - <section id="sec-downloading-and-installing"> - <title>Downloading and installing the components</title> - - <section id="sec-download-java-sdk"> - <title>Java JDK/JRE</title> - - <para>The java package can be installed usually by using standard - packages provided by you operating system vendor (e.g SuSE/OpenSuSE is - providing java packages as part of their distribution) or you can - download them as add-ons either by Sun or by other vendors (IBM, ...). - The following list gives some example of additional packages to be - installed. For further reference please contact your operating system - vendor:</para> - - <variablelist> - <varlistentry> - <term><trademark>Microsoft Windows</trademark></term> - - <listitem> - <para>On Windows you might use the standard packages downloadable - from <ulink url="http://java.sun.com">Sun's java - pages</ulink>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>OpenSuSE</term> - - <listitem> - <para>On OpenSuSE the following package needs to be - installed:</para> - - <itemizedlist> - <listitem> - <para><filename>java-1_5_0-sun-1.5.0_update10-2.1</filename> - or a more recent version.</para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - </variablelist> - </section> - - <section id="sec-postgresql-database"> - <title>PostgreSQL database</title> - - <para>This document does not describe how to setup the PostgreSQL - database. For most Microsoft <trademark - class="registered">Windows</trademark> and <trademark - class="registered">Linux</trademark>/<trademark - class="registered">Unix</trademark> distribitions there're binary - packages available (see <ulink - url="http://www.postgresql.org/ftp/binary/">http://www.postgresql.org/ftp/binary/<version></ulink> - for available systems and versions). They can be downloard If you want - (or need) to install PostgreSQL from scratch, the following section in - the PostgreSQL documentation might help: <ulink - url="http://www.postgresql.org/docs/8.1/interactive/installation.html">http://www.postgresql.org/docs/8.1/interactive/installation.html</ulink>.</para> - - <para>For development and testing PostgreSQL release 8.1 has been used. - Other versions might work also but no tests have been done to ensure - working on different releases of PostgreSQL.</para> - - <section id="sec-creating-the-database-for-storing-amavisd-data"> - <title>Creating the database for storing Amavisd-new data</title> - - <para>It makes sense (from performance, sizing and other aspects like - security) to create a separate database that contains the data stored - by Amavisd-new and AmavisAdmin. The database should be accessable only - by superusers and a specific functional account for maximum security. - In addition PostgreSQL offers the possibility to move parts of the - data to other filesystems/paths by using tablespaces.</para> - - <section id="sec-creating-a-functional-database-user"> - <title>Creating a functional database user</title> - - <para>It makes sense to create a functional user that is used by the - applications (amavisd-new and AmavisAdmin) to connect to the - database. This user created should be able to access the database - only from the IP-addresses used by the applications itself. This - gives some additional security. To create a user, two steps are - neccessary: First the user itself has to be created. Afterwards the - user has to be configured to connect to the database. The second - step depends on your local security, therfore please refer to <ulink - url="http://www.postgresql.org/docs/8.1/interactive/client-authentication.html">http://www.postgresql.org/docs/8.1/interactive/client-authentication.html</ulink> - for details. Creating a user can be done by using the command - <command>createuser</command> that is part of every PostgreSQL - distribution. The following example shows how to create the user - amavis that will be used for administrators and applications to - connect to the database (please replace - <replaceable>superuser</replaceable> with your superuser role - name):</para> - - <screen xml:space="preserve"><prompt>sreindl@linux-fest:~> </prompt><userinput>sudo -u postgres createuser \ -</userinput><prompt>> </prompt><userinput> --no-superuser --no-createrole --no-createdb \ -</userinput><prompt>> </prompt><userinput> --pwprompt --username=<replaceable>superuser</replaceable> --password amavis -</userinput><prompt>Enter password for new role: </prompt><userinput><replaceable><password></replaceable> -</userinput><prompt>Enter it again: </prompt><userinput><replaceable><password></replaceable> -</userinput><prompt>Password:</prompt> <userinput><replaceable><superuserpassword></replaceable> -</userinput><computeroutput>CREATE ROLE -</computeroutput><prompt>sreindl@linux-fest:~> </prompt></screen> - - <para>The first two password prompts are asking for the password for - user <systemitem class="username">amavis</systemitem>, the last - password prompt is asking for the superuser password.</para> - - <note> - <para>Please ensure to reload the configuration files by - restarting your postgres SQL server. Please refer to your local - PostgreSQL documentation for details about how to restart the - server.</para> - </note> - </section> - - <section id="sec-creating-a-tablespace"> - <title>Creating a tablespace</title> - - <para>For maintainability I would suggest to create the database - used for Amavisd-new in a separate tablespace. Creating a tablespace - in PostgreSQL is done in two steps: At first you have to create a - directory in the file system which will contain the tablespace data. - With the Linux/Unix operating system the command might look like - this:</para> - - <programlisting><prompt>$ </prompt><userinput>mkdir -p <replaceable>/srv/db/tablespaces/amavis</replaceable></userinput></programlisting> - - <para>where the path given might even reside on a different machine - (i.e. network file server). On other operating systems this command - might look different or you might even use a graphical user - interface to create the path. After creating the path you have to - change the permissions that only the database server has access to - the created path. This is basically done for security - reasons:</para> - - <programlisting><prompt>$ </prompt><userinput>chown <replaceable>postgres</replaceable> <replaceable>/srv/db/tablespaces/amavis</replaceable></userinput> -<prompt>$ </prompt><userinput>chmod 0700 <replaceable>/srv/db/tablespaces/amavis</replaceable></userinput></programlisting> - - <para>The first command assigns the user postgres (please provide - the user name which has been used to install the postgres database) - to the created path, i.e. change the owner of this path to the - database system. The second command changes the permissions of the - directory in a way that only the PostgreSQL system (and the system - administrator) can access the contents of the directory. Other - operating systems might need other commands to accomplish - this.</para> - - <para>The second step is to actually create the tablespace. This is - done by using database commands. The following example creates a - tablespace <database class="table">tb_admin</database> which points - to the directory created above:</para> - - <para><screen><prompt>sreindl@linux-fest:~></prompt> -<prompt>sreindl@linux-fest:~> </prompt><userinput>psql --username=<replaceable>superuser</replaceable> \</userinput> -<prompt>> </prompt> <userinput>--password postgres</userinput> -<computeroutput>Password for user <replaceable>superuser</replaceable>: -Welcome to psql 8.1.5, the PostgreSQL interactive terminal. - -Type: \copyright for distribution terms - \h for help with SQL commands - \? for help with psql commands - \g or terminate with semicolon to execute query - \q to quit - -</computeroutput><prompt>postgres=# </prompt><userinput>CREATE TABLESPACE <replaceable>tb_amavis</replaceable> </userinput> -<prompt>postgres-# </prompt><userinput> OWNER amavis </userinput> -<prompt>postgres-# </prompt><userinput> LOCATION '<replaceable>/srv/db/tablespaces/amavis</replaceable>';</userinput> -<computeroutput>CREATE TABLE</computeroutput> -<prompt>postgres=#</prompt></screen></para> - </section> - - <section id="sec-creating-the-database"> - <title>Creating the database</title> - - <para>After doing the preparation steps described in the sections - above, the final step is to create the actual database. This can be - done by using the command <command>createdb</command> or by using - SQL commands entered into the PostgreSQL frontent - <command>psql</command>. The database encoding can be of any type as - the mail text itself is stored as a binary field and therefore - there's no need to use binary encoding for the database. The - following command creates the database <database - class="name">amavis</database> for user <database - class="user">amavis</database> in tablespace <database - class="table">tb_amavis</database>:</para> - - <screen><prompt>sreindl@linux-fest:~> </prompt><userinput>createdb --tablespace=tb_admin \ -</userinput><prompt>> </prompt><userinput> --owner=amavis \ -</userinput><prompt>> </prompt><userinput> --echo \ -</userinput><prompt>> </prompt><userinput> --user=superuser \ -</userinput><prompt>> </prompt><userinput> --password -</userinput><prompt>Password:</prompt> <userinput><replaceable><password></replaceable></userinput> -<computeroutput>CREATE DATABASE</computeroutput> -<prompt>sreindl@linux-fest:~> </prompt> -</screen> - - <para>A similar command on the psql command line would be</para> - - <screen><prompt>postgres=# </prompt><userinput>CREATE DATABASE amavis OWNER amavis TABLESPACE tb_amavis;</userinput> -<computeroutput>CREATE DATABASE</computeroutput> -<prompt>postgres=#</prompt></screen> - </section> - </section> - - <section id="sec-create-sql-data-model"> - <title>Create SQL data model</title> - - <para>With the Amavisd-new distribution, a README-file is distributed - that contains a sample data model. As this data model is mixed - together with MySQL comments, a clean version for PostgreSQL is - provided in the distribution of AmavisAdmin. To execute this file, you - can pass the filename directly to the <command>psql</command> command - on the command line:<screen><prompt>sreindl@linux-fest:~> </prompt><userinput>psql --username=amavis --password amavis <<replaceable>create_tables.sql</replaceable> -</userinput><prompt>Password for user amavis: </prompt><replaceable><password></replaceable> -<computeroutput>...</computeroutput> <lineannotation>lots of output.</lineannotation> -<prompt>sreindl@linux-fest:~> </prompt></screen></para> - - <para>The file can be found in - <filename>db/postgres/create_tables.sql</filename>. After creating the - data model, some initial data has to be loaded to let Amavisd-new - start over:</para> - - <screen><prompt>sreindl@sreindl:~> </prompt><userinput>psql --username=amavis --password amavis <inital_load.sql</userinput> -<prompt>Password for user amavis: </prompt><userinput><replaceable><password></replaceable></userinput> -<computeroutput>... -</computeroutput><prompt>sreindl@linux-fest:~></prompt> </screen> - - <para>A more complete example with input data can be found in the - AmavisAdmin distribution in - <filename>db/postgres/initial_load.sql</filename>.</para> - - <para>As there're no local users defined in the database, the messages - are stored according to the <emphasis>catchall</emphasis> user. After - finalizing this step your database should be ready to run - amavisd-new.</para> - </section> - - <section id="sec-download-postgres-jdbc"> - <title>Download PostgreSQL JDBC driver</title> - - <para>In addition to the standard PostgreSQL distribution you need the - JDBC driver that builds the interface between Java and PostgreSQL. The - JDBC driver is either part of the binary distribution itself or it can - be downloaded from <ulink - url="http://jdbc.postgresql.org/download.html">http://jdbc.postgresql.org/download.html</ulink>. - It is important that the version 3 JDBC driver (for JDK 1.4.x/1.5) - will be downloaded.</para> - </section> - </section> - - <section id="sec-download-and-install-tomcat"> - <title>Apache Tomcat</title> - - <para>Apache Tomcat can be downloaded and installed for various - Operating Systems. For Microsoft Windows and other operating systems and - several Linux distributions there are binary packages available that - work usually out of the box.</para> - - <para>For the development and testing Apache Tomcat release 5.5.17 has - been used. The current version 5.5.20 lacks some files for mail handling - and therefore this version has not been taken into consideration as - there's from my point of view no need to install the newer version if - the old version is working fine.</para> - - <para>Version 5.5.17 of Apache Tomcat can be downloaded for example from - <ulink - url="http://archive.apache.org/dist/tomcat/tomcat-5/v5.5.17/">http://archive.apache.org/dist/tomcat/tomcat-5/v5.5.17/</ulink>. - You should also look for <ulink - url="http://www.apache.org/dyn/closer.cgi">mirrors</ulink> to reduce - load on the apache servers.</para> - - <para>After downloading the (usually) binary distribution you can - install tomcat. This is dependend on your operating system and vendor. - Therefore please check the manuals how to install tomcat. You might find - <ulink - url="http://tomcat.apache.org/tomcat-5.5-doc/setup.html">http://tomcat.apache.org/tomcat-5.5-doc/setup.html</ulink> - an intersting source of information about how to install tomcat.</para> - - <section> - <title>Installing the database connection</title> - - <para>An important step after installing PostgreSQL is the creation of - the database resource that is used by AmavisAdmin to actually connect - to the database. There's a - <filename>$CATALINA_HOME/conf/context.xml</filename>, where you can - store resource definitions that are available for all applications - running on this instance of Tomcat (for other options how to define - resources, please refer to <ulink - url="http://tomcat.apache.org/tomcat-5.5-doc/config/context.html">http://tomcat.apache.org/tomcat-5.5-doc/config/context.html</ulink>). - </para> - - <para>To run AmavisAdmin, you need to define a database connection - resource named <varname>amavisDB</varname>. An example context.xml - file might look like this: </para> - - <programlisting><Context> - <!-- ... other global settings ... --> - <WatchedResource>WEB-INF/web.xml</WatchedResource> - <!-- ... other global settings ... --> - <Resource auth="container" - type="javax.sql.Datasource" - name="jdbc/amavisDB" - driverClassName="org.postgresql.Driver" - url="jdbc:postgresql://<replaceable>localhost:5432/amavis</replaceable>" - username="<replaceable>amavis</replaceable>" - password="<replaceable>amavis</replaceable>" - /> - <!-- ... other global settings ... --> -</Context></programlisting> - - <para>You have to ensure that the last three entries in the list (url, - username and password) are matching the settings that you have defined - while installing the database (see <xref - linkend="sec-postgresql-database" />).</para> - - <para>On top of this you have to copy the postgres JDBC driver to the - directory <filename - class="directory">$CATALINA_HOME/common/lib</filename>.</para> - </section> - - <section id="sec-starting-tomcat"> - <title>Starting Tomcat</title> - - <para>After finishing the steps above you should start Tomcat now to - see that everything is running smooth. By running</para> - - <screen><prompt>sreindl@linux-fest:~> </prompt><userinput>$CATALINA_HOME/bin/startup.sh</userinput> -<computeroutput>Using CATALINA_BASE: /opt/apache-tomcat-5.5.17 -Using CATALINA_HOME: /opt/apache-tomcat-5.5.17 -Using CATALINA_TMPDIR: /opt/apache-tomcat-5.5.17/temp -Using JRE_HOME: /usr/lib64/jvm/java/jre -</computeroutput><prompt>sreindl@linux-fest:~> </prompt></screen> - - <para>You should have a look now in the <filename - class="directory">$CATALINA_HOME/log</filename> directory and scan the - log files appearing there for errors (esp. the files - <filename>catalina*</filename> and - <filename>localhost*</filename>).</para> - </section> - </section> - - <section id="sec-download-and-install-amavisd-new"> - <title>Amavisd-new</title> - - <para>The Amavisd-new application can be downloaded from the <ulink - url="http://www.ijs.si/software/amavisd/">Amavisd-new home page</ulink>. - Please ensure to at least use version 2.4.1, as this version is at least - from documentation point of view SQL save according to the current data - model. For installation of amavisd-new and about how to setup SQL - storage and lookup, please refer to the following documentation - files:</para> - - <itemizedlist> - <listitem> - <para><ulink - url="http://www.ijs.si/software/amavisd/INSTALL.txt">http://www.ijs.si/software/amavisd/INSTALL.txt</ulink> - describes how to download and install Amavisd-new in general</para> - </listitem> - - <listitem> - <para><ulink - url="http://www.ijs.si/software/amavisd/README.sql.txt">http://www.ijs.si/software/amavisd/README.sql.txt</ulink> - describes how to setup SQL access.</para> - </listitem> - </itemizedlist> - - <para>In addition, you have to make the PDP protocol available via - socket access. The PDP protocoll (see <ulink - url="http://www.ijs.si/software/amavisd/README.protocol.txt">http://www.ijs.si/software/amavisd/README.protocol.txt</ulink> - for reference) enables other applications to either perform SPAM/Virus - checks for mails or to release quarantined mails. To accomplish this, - the file <filename>/etc/amavisd.conf</filename> has to be adapted. The - following listing explains the changes in detail:</para> - - <programlisting>... -$inet_socket_port = (10024,<replaceable>10026</replaceable><co - id="pl-amavis-inet-socket-port" />); # listen on this local TCP port(s) (see $protocol) -... -$protocol='AM.PDP';<co id="pl-amavis-conf-protocol" /> -...</programlisting> - - <calloutlist> - <callout arearefs="pl-amavis-inet-socket-port"> - <para>Please add here the port that should be used for communication - between AmavisAdmin and amavisd-new. This port number should be - selected with caution as there might be some inteference with other - application if you would select a port that is already in use by - another application.</para> - </callout> - - <callout arearefs="pl-amavis-conf-protocol"> - <para>This line defines the general protocol to be used for talking - to amavisd-new. As described above, the PDP-protocol is the right - value here.</para> - </callout> - </calloutlist> - - <para>Another part that has to be updated is the lookup and storage - section. Both sections define how and where to lookup user and policy - informartion and in addition where to store mails (either quarantined or - not, depending on the settings). The following example shows how to - define database lookups (the perl module DBI::Pg needs to be installed - for this):</para> - - <programlisting>... -@lookup_sql_dsn = - ( ['DBI:Pg:database=amavis', 'amavis', 'amavis'] ); - <lineannotation>The values used are matching the examples given above.</lineannotation> -... -@storage_sql_dsn = @lookup_sql_dsn; # none, same, or separate database -</programlisting> - - <para>Your settings might be different from the settings above, - especially if the database is located on a different host or other - settings might be different as well. For details please refer to the - Amavisd-new documentation.</para> - - <para>In addition the storage of mails has to be defined. It can be - individually set if mails of specific types (e.g. clean mail, virus, - ...) should be stored with mail contents or not. This settings should be - adjusted by your needs and available disk space. As the table that - contains the mail contents (table <database - class="table">quarantine</database>) is not accessed for read access by - amavisd-new, the performance depends on your write throughput of your - database server. The following list describes the important - configuration settings available and values which seem - reasonable:</para> - - <variablelist> - <varlistentry> - <term>$clean_quarantine_method</term> - - <listitem> - <para>If this variable will be set to sql, all message texts of - mails that have passed all checks successfully are stored in the - database.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>$virus_quarantine_method</term> - - <listitem> - <para>If this variable is set to sql, virus mail texts are stored - in the database.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>$banned_files_quarantine_method</term> - - <listitem> - <para>If this variable is set to sql, for mails that have been - rejected because of banned attachments (e.g. executable files, - ...), the mail text (including the attachments) is stored in the - database.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>$spam_quarantine_method</term> - - <listitem> - <para>if this variable is set to sql, the mail text for mails that - have been marked as SPAM are stored in the database.</para> - </listitem> - </varlistentry> - </variablelist> - - <para>Usually only for viruses, banned attachments and SPAM mails this - setting should be touched. In addition please check the legal impact of - storing each and every mail in a database that is not directly - accessable to the users.</para> - </section> - - <section id="sec-install-amavis-admin"> - <title>AmavisAdmin</title> - - <para>To install AmavisAdmin, you can download the distribution file - from the AmavisAdmin project at sourceforge.net: <ulink - url="http://sourceforge.net/project/showfiles.php?group_id=187080">http://sourceforge.net/project/showfiles.php?group_id=187080</ulink>. - There you have the different versions available. As this version is - based on AmavisAdmin version @version@, please select the appropriate - section and download the file <filename>@distfile@</filename>.</para> - - <section id="sec-install-amavisadmin-on-unix"> - <title>Installation of AmavisAdmin on a Unix/Linux operating - system</title> - - <para>After downloading the distribution, the files have to be - untarred. Depending on the format you have to use - <command>gunzip</command> (for files with the extension - <filename>.gz</filename>) or <command>bunzip2</command> (files with - the extension <filename>.bz2</filename>) to uncompress the files - first:</para> - - <screen><prompt>sreindl@linux-fest:~> </prompt><userinput>gunzip @distname@.tar.gz -</userinput><prompt>sreindl@linux-fest:~> </prompt></screen> - - <para>for gzip compressed files or</para> - - <screen><prompt>sreindl@linux-fest:~> </prompt><userinput>bunzip2 @distname@.tar.bz2 -</userinput><prompt>sreindl@linux-fest:~> </prompt></screen> - - <para>After uncompressing there should be a file named - <filename>@tarfile@.tar</filename>. This file can now be extracted - with the <command>tar</command> command:</para> - - <screen><prompt>sreindl@linux-fest:~> </prompt><userinput>cd /tmp -</userinput><prompt>sreindl@linux-fest:/tmp> </prompt><userinput>tar xfv @distname@.tar -</userinput><computeroutput>... </computeroutput><lineannotation>Several lines of output</lineannotation> -<prompt>sreindl@linux-fest:/tmp> </prompt><userinput>cd @distname@ -</userinput><prompt>sreindl@linux-fest:/tmp/@distname@></prompt></screen> - - <para>The following sections let you first update your database - system, deploy your web application and configure the AmavisAdmin - software.</para> - </section> - - <section id="sec-perform-database-update"> - <title>Updating the database for AmavisAdmin</title> - - <para>For several purposes the database model used by Amavisd-new has - to be enhanced by several items, this process can be done by running a - script on the database that performs the steps:</para> - - <screen><prompt>sreindl@linux-fest:/tmp/@distname@> </prompt><userinput>psql --username=amavis amavis <db/postgres/update_v0_v1.sql -</userinput><computeroutput>... </computeroutput><lineannotation>Several lines of output / Only warnings should appear</lineannotation> -<prompt>sreindl@linux-fest:/tmp/@distname@> </prompt></screen> - - <para>After running this script, several tables have been updated - (i.e. new columns have been added) and several new tables have been - created. In addition some entries have been inserted into the new - table to enable AmavisAdmin to recognize that the database has been - changed and in addition some jobs have been inserted to perform - further migration of existing database entries.</para> - </section> - - <section id="sec-deploy-AmavisAdmin"> - <title>Deploy the AmavisAdmin application</title> - - <para>The deployment of the AmavisAdmin application is quite simple. - For deploying the application to Tomcat you just need to copy the war - file to the folder <filename - class="directory">$CATALINA_HOME/webapps/</filename>. Tomcat is - unpacking and initializing the application by itself. That's - it.</para> - </section> - - <section id="sec-AmavisAdmin-initial-configuration"> - <title>Configuration of AmavisAdmin</title> - - <para>After deploying the application you need to set several - configuration parameters before the actual application can be - executed. The configuration can be started by pointing your web - browser to the starting page of your AmavisAdmin installation (e.g. - <ulink - url="http://localhost:8080/AmavisAdmin">http://localhost:8080/AmavisAdmin</ulink>). - About what can be configured and the configuration fields itself you - can find an explanation in the AmavisAdmin user guide. You should also - enable the maintenance jobs that are running inside the application - server. This can be done by selecting the menu item - <guimenuitem>Jobs</guimenuitem> after logging in the first time as an - administrator.</para> - - <para>After performing the configuration you are ready to use - AmavisAdmin. For more details abount administration and use of - AmavisAdmin please refer to the user guide.</para> - </section> - </section> - </section> - - <section id="sec-building-amavsiadmin-from-scratch"> - <title>Building AmavisAdmin from scratch</title> - - <warning> - <para>Please be aware that the development has been done on a single - machine only. There might be hard dependencies due to the fact that it - has been never tested to build this stuff on another machine.</para> - </warning> - - <remark>To be filled</remark> - </section> -</article> \ No newline at end of file Deleted: amavisadmin/trunk/docs/user_guide.xml =================================================================== --- amavisadmin/trunk/docs/user_guide.xml 2007-01-28 16:57:16 UTC (rev 59) +++ amavisadmin/trunk/docs/user_guide.xml 2007-12-19 18:21:00 UTC (rev 60) @@ -1,183 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" -"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"> -<book> - <bookinfo> - <title>AmavisAdmin</title> - - <subtitle>User Manual</subtitle> - - <author> - <firstname>Stephen</firstname> - - <surname>Reindl</surname> - - <address><street>Langster Str. 28</street> -<postcode>40668</postcode> <city>Meerbusch</city> -<country>Germany</country></address> - - <email>sr...@sr...</email> - </author> - - <pubdate>February 2007</pubdate> - - <copyright> - <year>2006</year> - - <year>2007</year> - - <holder>Stephen Reindl</holder> - </copyright> - - <legalnotice> - <para>Licensed 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</para> - - <para><ulink - url="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</ulink></para> - - <para>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 CON... [truncated message content] |