Postfix: Difference between revisions

From CBLFS
Jump to navigationJump to search
No edit summary
Line 31: Line 31:
== Non-Multilib ==
== Non-Multilib ==


Compile the package:
To build postfix we need to build the makefiles. Use the following commands to create the appropriate CCARGS and AUXLIBS variables:


  make makefiles CCARGS='-DDEF_DAEMON_DIR=\"/usr/lib/postfix\" \
  export CCARGS="-DDEF_DAEMON_DIR=\\\"/usr/lib/postfix\\\" \
  -DDEF_MANPAGE_DIR=\"/usr/share/man\" \
  -DDEF_MANPAGE_DIR=\\\"/usr/share/man\\\" \
  -DDEF_HTML_DIR=\"/usr/share/doc/postfix-{{Postfix-Version}}/html\" \
  -DDEF_HTML_DIR=\\\"/usr/share/doc/postfix-{{Postfix-Version}}/html\\\" \
  -DDEF_README_DIR=\"/usr/share/doc/postfix-{{Postfix-Version}}/README\"  
  -DDEF_README_DIR=\\\"/usr/share/doc/postfix-{{Postfix-Version}}/README\\\""
  <additional args>' \
  export AUXLIBS=""
  <AUXLIBS='additional args'> '
 
PCRE Support:
 
export CCARGS="${CCARGS} -DHAS_PCRE -I/usr/include"
  export AUXLIBS="${AUXLIBS} -L/usr/lib -lpcre"


TLS Authentication  
TLS Authentication  
   
   
  CCARGS='-DUSE_TLS -I/usr/include/openssl'
  export CCARGS="${CCARGS} -DUSE_TLS -I/usr/include/openssl"
  AUXLIBS='-L/usr/lib -lssl -lcrypto'
  export AUXLIBS="${AUXLIBS} -L/usr/lib -lssl -lcrypto"


To use TLS you will also need [[CyrusSASL]]
To use TLS you will also need [[CyrusSASL]]
Line 49: Line 53:
Cyrus-SASL
Cyrus-SASL
   
   
  CCARGS='-DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl'
  export CCARGS="${CCARGS} -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl"
  AUXLIBS='-L/usr/lib -lsasl2'
  export AUXLIBS="${AUXLIBS} -L/usr/lib -lsasl2"


OpenLDAP  
OpenLDAP  
   
   
  CCARGS='-I/usr/include -DHAS_LDAP'
  export CCARGS="${CCARGS} -I/usr/include -DHAS_LDAP"
  AUXLIBS='-L/usr/lib -lldap -llber'
  export AUXLIBS="${AUXLIBS} -L/usr/lib -lldap -llber"


MySQL  
MySQL  


  CCARGS='-DHAS_MYSQL -I/usr/include/mysql'
  export CCARGS="${CCARGS} -DHAS_MYSQL -I/usr/include/mysql"
  AUXLIBS='-L/usr/lib -lmysqlclient -lz -lm'
  export AUXLIBS="${AUXLIBS} -L/usr/lib -lmysqlclient -lz -lm"


PostgreSQL  
PostgreSQL  


  CCARGS='-DHAS_PGSQL -I/usr/include/postgresql'
  export CCARGS="${CCARGS} -DHAS_PGSQL -I/usr/include/postgresql"
  AUXLIBS='-L/usr/lib -lpq -lz -lm'
  export AUXLIBS="${AUXLIBS} -L/usr/lib -lpq -lz -lm"


TinyCDB  
TinyCDB  


  CCARGS='-DHAS_CDB'
  export CCARGS="${CCARGS} -DHAS_CDB"
  AUXLIBS='</path/to/CDB>/libcdb.a'
  export AUXLIBS="${AUXLIBS} </path/to/CDB>/libcdb.a"
 
Create the Makefiles and compile the package:
 
make makefiles CCARGS="${CCARGS}" AUXLIBS="${AUXLIBS}" &&
make


Install the package
Install the package

Revision as of 19:17, 16 February 2009

Download Source: http://www.mirrorspace.org/postfix/official/postfix-2.5.10.tar.gz

Introduction to Postfix

The Postfix package contains a Mail Transport Agent.

Project Homepage: http://www.postfix.org/

Dependencies

Optional

Creating the Postfix User & Group

groupadd -g 33 postfix &&
groupadd -g 34 postdrop &&
useradd -c "Postfix Daemon User" -d /dev/null -g postfix \
-s /bin/false -u 33 postfix &&
chown -v postfix:postfix /var/mail

Non-Multilib

To build postfix we need to build the makefiles. Use the following commands to create the appropriate CCARGS and AUXLIBS variables:

export CCARGS="-DDEF_DAEMON_DIR=\\\"/usr/lib/postfix\\\" \
-DDEF_MANPAGE_DIR=\\\"/usr/share/man\\\" \
-DDEF_HTML_DIR=\\\"/usr/share/doc/postfix-2.5.10/html\\\" \
-DDEF_README_DIR=\\\"/usr/share/doc/postfix-2.5.10/README\\\""
export AUXLIBS=""

PCRE Support:

export CCARGS="${CCARGS} -DHAS_PCRE -I/usr/include"
export AUXLIBS="${AUXLIBS} -L/usr/lib -lpcre"

TLS Authentication

export CCARGS="${CCARGS} -DUSE_TLS -I/usr/include/openssl"
export AUXLIBS="${AUXLIBS} -L/usr/lib -lssl -lcrypto"

To use TLS you will also need CyrusSASL

Cyrus-SASL

export CCARGS="${CCARGS} -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl"
export AUXLIBS="${AUXLIBS} -L/usr/lib -lsasl2"

OpenLDAP

export CCARGS="${CCARGS} -I/usr/include -DHAS_LDAP"
export AUXLIBS="${AUXLIBS} -L/usr/lib -lldap -llber"

MySQL

export CCARGS="${CCARGS} -DHAS_MYSQL -I/usr/include/mysql"
export AUXLIBS="${AUXLIBS} -L/usr/lib -lmysqlclient -lz -lm"

PostgreSQL

export CCARGS="${CCARGS} -DHAS_PGSQL -I/usr/include/postgresql"
export AUXLIBS="${AUXLIBS} -L/usr/lib -lpq -lz -lm"

TinyCDB

export CCARGS="${CCARGS} -DHAS_CDB"
export AUXLIBS="${AUXLIBS} </path/to/CDB>/libcdb.a"

Create the Makefiles and compile the package:

make makefiles CCARGS="${CCARGS}" AUXLIBS="${AUXLIBS}" &&
make

Install the package

sh postfix-install -non-interactive

Multilib

32Bit

N32

64Bit

Configure

BootScript

Install the init script included in the Bootscripts package.

make install-postfix