postfix邮件服务器迁移,编译安装Postfix邮件服务器

Postfix的安装方式与其它的软件有些不同,其做为悠久的邮件服务器,它支持众多的特性,包括与第三方软件的交互整合功能。这里对其的编译、安装过程进行了一个简单总结。

---------------

Installation of Postfix

Adding Users and Groups--添加用户及其组

Before you compile the program, you need to create users and

groups that will be expected to be in place during the

installation. Add the users and groups with the following commands

issued by the root user:

groupadd -g 32 postfix &&

groupadd -g 33 postdrop &&

useradd -c "Postfix Daemon User" -d /var/spool/postfix -g postfix

-s /bin/false -u 32 postfix &&

chown -v postfix:postfix /var/mail

Configuring the Build--编译配置

Postfix的编译安装与其它通用的软件安装不同,它有自己的一套规则。

The Postfix source tree does not contain a configure script,

rather the makefile in the top-level directory contains a makefiles

target that regenerates all the other makefiles in the build tree.

If you wish to use additional software such as a database back-end

for virtual users, or TLS/SSL authentication, you will need to

regenerate the makefiles using one or more of the appropriate

CCARGS and AUXLIBS settings listed below.

Cyrus-SASL

To use Cyrus-SASL with Postfix, use the following arguments:

CCARGS='-DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl'

AUXLIBS='-lsasl2'

OpenLDAP

To use OpenLDAP with Postfix, use the following arguments:

CCARGS='-DHAS_LDAP'

AUXLIBS='-lldap -llber'

Sqlite

To use Sqlite with Postfix, use the following arguments:

CCARGS='-DHAS_SQLITE'

AUXLIBS='-lsqlite3 -lpthread'

MySQL

To use MySQL with Postfix, use the following arguments:

CCARGS='-DHAS_MYSQL -I/usr/include/mysql'

AUXLIBS='-lmysqlclient -lz -lm'

PostgreSQL

To use PostgreSQL with Postfix, use the following arguments:

CCARGS='-DHAS_PGSQL -I/usr/include/postgresql'

AUXLIBS='-lpq -lz -lm'

CDB/TinyCDB

To use CDB or TinyCDB with Postfix, use the following

arguments:

CCARGS='-DHAS_CDB'

AUXLIBS='/libcdb.a'

StartTLS Authentication

To use OpenSSL with Postfix, use the following arguments:

CCARGS='-DUSE_TLS -I/usr/include/openssl/'

AUXLIBS='-lssl -lcrypto'

具体的编译参数和选项选项:

1.AUXLIBS

2.CC

3.CCARGS

4.DEBUG

5.OPT

参数:-I ,-D, -L, -R, -r, -l。各个参数的说明如下:

-I 指明某一包的库文件所在的地方

-D The -D option provides a way to define macros at the time you

compile Postfix. Add-on packages for Postfix require that you

define a particular macro to tell Postfix to include it when

building. For example, if you want to include support for MySQL,

you define the HAS_MYSQL macro:CCARGS='-DHAS_MYSQL'

-L 加入对某一包的额外库的支持。如:AUXLIBS='-L/usr/local/lib'

-l 和-L一块儿使用,具体到某一库。如:AUXLIBS='-L/usr/local/lib

-lmysqlclient'

-R -r

The linker uses an argument to include directories in a runtime

search path for dynamic libraries. The argument differs depending

on your linker and platform. The GNU linker (Linux, FreeBSD) uses

-rpath, as does IRIX. Solaris, on the other hand uses -R, and HP-UX

uses +b. Consult the manpage for your linker, ld(1), to see which

argument you should use to set the runtime library search path.

如:Using the SSL library as an example, if your libssl.so file is

located in /usr/local/lib and you are building Postfix on FreeBSD

or another system that uses rpath, define AUXLIBS as follows:

AUXLIBS='-L/usr/local/lib -rpath/usr/local/lib -lssl'

下面给出一个例子:可以将它保存成shell,如:install.sh文件

#make tidy

# Specify all of our options and supporting libraries

make makefiles

CCARGS='-DUSE_SASL_AUTH -DHAS_SSL -DHAS_MYSQL -DHAS_LDAP

-I/usr/local/include/sasl -I/usr/local/ssl/include

-I/usr/local/include/mysql -I/usr/local/include'

AUXLIBS='-L/usr/local/lib -L/usr/local/ssl/lib

-L/usr/local/lib/mysql -L/usr/local/lib

-lsasl2 -lcrypto -lssl -lmysqlclient -lz -lm -lldap -llber

-rpath /usr/local/lib/mysql -rpath /usr/local/lib

-rpath /usr/local/ssl/lib'

To build Postfix, type:

$ sh build.sh

$ make

Installing Postfix--安装

If you have Cyrus SASL and OpenSSL installed, install Postfix by

running the following commands:

make CCARGS="-DNO_NIS -DUSE_TLS -I/usr/include/openssl/

-DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl"

AUXLIBS="-lssl -lcrypto

-lsasl2"

makefiles &&

make

This package does not come with a useful test suite.

Now, as the root user:

sh postfix-install -non-interactive

daemon_directory=/usr/lib/postfix

manpage_directory=/usr/share/man

html_directory=/usr/share/doc/postfix-2.10.0/html

readme_directory=/usr/share/doc/postfix-2.10.0/readme

Command Explanations--指令解析

make makefiles: This command rebuilds the makefiles throughout

the source tree to use the options contained in the CCARGS and

AUXLIBS variables.

-DNO_NIS: This option disables building Network Information

Service/Yellow Pages support. The RPC implementation in Glibc (on

which NIS/YP depends) is deprecated.

对于使用'-DNO_'这样的选项是为了在默认的选项中禁止掉一些组件,像nis、Berkeley

DB、ipv6、等这些没有使用的功能块。

sh postfix-install -non-interactive: This keeps the install

script from asking any questions, thereby accepting default

destination directories in all but the few cases. If the

html_directory and readme_directory options are not set then the

documentation will not be installed.

---------------

Configuring Postfix--配置

Config Files

/etc/aliases, /etc/postfix/main.cf, and /etc/postfix/master.cf

Configuration Information

Create (or append to an existing) /etc/aliases with the

following command. Change for your non-root login

identity so mail addressed to root can be forwarded to you. As the

root user:

cat >> /etc/aliases << "EOF"

# Begin /etc/aliases

MAILER-DAEMON: postmaster

postmaster: root

root:

# End /etc/aliases

EOF

To protect an existing /etc/aliases file, the above command

appends these aliases to it if it exists. This file should be

checked and duplicate aliases removed, if present.

Note

The /etc/postfix/main.cf and /etc/postfix/master.cf files must be

personalized for your system. The main.cf file needs your fully

qualified hostname. You will find that main.cf is self documenting,

so load it into your editor to make the changes you need for your

situation.

Note

Postfix can also be set up to run in a chroot jail. See the file in

the source examples/chroot-setup/LINUX2 for details.

If you have an existing configuration, you can run the postfix

utility to add any necessary definitions to your existing files. As

the root user:

/usr/sbin/postfix upgrade-configuration

Before starting Postfix, you should check that your

configuration and file permissions will work properly. Run the

following commands as the root user to check and start your Postfix

server:

/usr/sbin/postfix check &&

/usr/sbin/postfix start

Boot Script--启动脚本

To automate the running of Postfix at startup, install the

/etc/rc.d/init.d/postfix init script included in the

blfs-bootscripts-20130721 package.

make install-postfix

---------------

Contents--所产生的文件

Installed Programs:

mailq, newaliases, postaliases, postcat, postconf, postdrop,

postfix, postkick, postlock, postlog, postmap, postmulti,

postqueue, postsuper and sendmail

Installed Libraries:

None

Installed Directories:

/etc/postfix, /usr/lib/postfix, /usr/share/doc/postfix-2.10.0,

/var/lib/postfix and /var/spool/postfix

Short Descriptions--简短描述

mailq--A symlink to sendmail.

newaliases--A symlink to sendmail.

postaliases--is a utility for Postfix alias database

maintenance

postcat--Prints the contents of files from the Postfix queue in

human readable format.

postconf--Displays or changes the value of Postfix configuration

parameters.

postdrop--Creates a file in the maildrop directory and copies

its standard input to the file.

postfix--is the Postfix control program.

postkick--Sends requests to the specified service over a local

transport channel.

postlock--Locks a mail folder for exclusive use, and executes

commands passed to it.

postlog--A Postfix-compatible logging interface for use in, for

example, shell scripts.

postmap--Creates or queries one or more Postfix lookup tables,

or updates an existing one.

postmulti--is the Postfix multi-instance manager. It allows a

system administrator to manage multiple Postfix instances on a

single host.

postqueue--The Postfix user interface for queue management.

postsuper--The Postfix user interface for superuser queue

management.

sendmail--is the Postfix to Sendmail compatibility

interface.

--------------- (责任编辑:mas)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值