RHEL54 Postfix 邮件系统的安装.docx

上传人:b****5 文档编号:12087195 上传时间:2023-04-17 格式:DOCX 页数:62 大小:39.89KB
下载 相关 举报
RHEL54 Postfix 邮件系统的安装.docx_第1页
第1页 / 共62页
RHEL54 Postfix 邮件系统的安装.docx_第2页
第2页 / 共62页
RHEL54 Postfix 邮件系统的安装.docx_第3页
第3页 / 共62页
RHEL54 Postfix 邮件系统的安装.docx_第4页
第4页 / 共62页
RHEL54 Postfix 邮件系统的安装.docx_第5页
第5页 / 共62页
点击查看更多>>
下载资源
资源描述

RHEL54 Postfix 邮件系统的安装.docx

《RHEL54 Postfix 邮件系统的安装.docx》由会员分享,可在线阅读,更多相关《RHEL54 Postfix 邮件系统的安装.docx(62页珍藏版)》请在冰豆网上搜索。

RHEL54 Postfix 邮件系统的安装.docx

RHEL54Postfix邮件系统的安装

第一篇邮件系统简介

邮件系统组成部分:

MTAMSA,MUA,MDA,MAA

1MUA:

是MialUserAgent的简称,是邮件系统的客户端程序,它提供了阅读,发送和接受电子邮件的用户接口,如:

linux中的Mail,Windowns中的Foxmail,Outlook等

2MSA:

是MailSubmmissionAgent的简称。

是邮件提交代理,负责消息有MTA发送之前必须完成所有准备工作和错误检测,MSA是在MUA和MTA之间插入了一个头脑清醒的检测员,对所有的主机名,从MUA得到的头信息等信息进行检测

3MTA:

是MailTransferAgent的简称,邮件转发代理,负责邮件的存储和转发;监视用户的代理请求,根据电子邮件的目标地址找出对应的电子邮件服务器,并将信件在服务器之间传输并且将接受到的邮件进行缓冲。

Linux下有sendmail.Postfix,qmail等

4MDA:

是MailDdliveryAgent的简称。

邮件投递代理,从MTA接受邮件并进行适当的本地投递,可以投递一个本地用户,一个邮件列表,一个文件或者是一个程序

5MAA:

是MailAccessAgent。

邮件访问代理,用于将用户连接到系统邮件库,使用POP或者Imap协议收取邮件。

Linux下常用的MAA有,Cyrus-IMAP,COURIER-IMAP等邮件中继,当邮件的目的传输是一旦源地址和目的地址都不是本地系统,那么本地系统就是邮件中继站(即是中转站)

6邮件交换过程如下图

第二篇Postfix的安装

邮件系统的逻辑结构

注:

配置postfix系统时需要在DNS服务器中配置邮件服务器MX记录

需要的软件包

mysql-5.5.4-m3.tar.gz

openssl-1.0.0b.tar.tar

pcre-8.10.zip

perl-5.12.2.tar.gz

php-5.2.14.tar.bz2

postfix-2.7.1.tar.gz

Unix-Syslog-1.1.tar.gz.gz

zlib-1.2.5.tar.gz

httpd-2.2.17.tar.gz.gz

extman-1.1.tar.gz

extmail-1.2.tar.gz

DBD-mysql-4.018.tar.gz.gz

db-4.8.26.tar.gz

cyrus-sasl-2.1.23.tar.gz

courier-imap-4.8.1.tar.bz2

courier-authlib-0.63.0.tar.bz2

courier-analog-0.16.tar.bz2

clamav-0.96.5.tar.gz

maildrop-2.5.2.tar.bz

Mail-SpamAssassin-3.3.1.tar.gz

GD-2.45.tar.gz.gz

第二.安装mysql

1添加mysql用户

#groupaddmysql

#useradd–gmysql–s/bin/false–Mmysql

2编译安装mysql

#tarxvfmysql-5.5.4-m3.tar.gz

#cdmysql-5.5.4-m3

#./configure

--prefix=/usr/local/mysql

--enable-thread-safe-client

--enable-local-infile

--with-charset=gbk

--with-extra-charset=all

--with-low-memory

#make&&makeinstall

#cpsupport-files/my-f/etc/f

#cd/usr/local/mysql

#chown–Rmysql.mysql.

#bin/mysql_install_db–user=mysql

#chown–Rroot.

#chown–Rmysqlvar

#bin/mysqld_safe--user=mysql&

#cd/root/postfix/mysql-5.5.4-m3

#cpsupport/mysql.server/etc/rc.d/init.d/mysqld

#chmod700/etc/rc.d/init.d/mysqld

3把mysql加入到自动启动队列

#chkconfig–addmysqld

#chkconfigmysqldon

4测试mysql

#/usr/local/mysql/bin/mysqladminping

mysqldisalive

#/usr/local/mysql/bin/mysqladminversion

#/usr/local/mysql/bin/mysql

5添加root用户的密码

#/usr/local/mysql/bin/mysqladmin–uroot–p“Oldpassword”password“newpassword”

注:

此时的mysql的root用户的密码为空

6配置mysql的库文件搜索路径

#echo“/usr/local/mysql/lib/mysql”>>/etc/ld.so.conf

#ldconfig–v

注:

一定要执行ldconfig–v不然当前不会去指定的mysql的库文件中查找mysql的库文件

7把/usr/local/mysql/bin添加到环境变量PATH中

#vim/etc/profile

exportPATH=$PATH:

/usr/local/mysql/bin

、并执行

#source/etc/profile

第三安装openssl,在解压安装openssl时一定要配置好当前的系统时间,否则,在解压是和安装时会报错

1安装openssl

#openssl-1.0.0b.tar.tar

#cdopenssl-1.0.0b

#./configuresharedzlib

#make

#maketest

#makeinstall

2删除系统中的openssl文件

#mv/usr/bin/openssl/usr/bin/openssl.OFF

#mv/usr/include/openssl/usr/include/openssl.OFF

#rm/usr/lib/libssl.so

3创建新编译的openssl文件

#ln-sv/usr/local/ssl/bin/openssl/usr/bin/openssl

#ln-sv/usr/local/ssl/include/openssl/usr/include/openssl

#ln–sv/usr/local/ssl/lib/libssl.so.1.0.0/usr/lib/libssl.so

4配置openssl库文件搜索路径

#echo“/usr/local/ssl/lib”/etc/ld.so.conf

#ldconfig–v

5检测openssl的版本

#opensslversion

OpenSSL1.0.0b16Nov2010

第四安装cyrus-sasl

1安装cyrus-sasl

#tarxvfcyrus-sasl-2.1.23.tar.gz

#cdcyrus-sasl-2.1.23

#./configure--prefix=/usr/local/sasl2(注意使用续行符)

--disable-gssapi

--disable-anon

--disable-sample

--disable-digest

--enable-plain

--enable-login

--enable-sql

--with-mysql=/usr/local/mysql

--with-mysql-includes=/usr/local/mysql/include/mysql--with-mysql-libs=/usr/local/mysql/lib/mysql--with-authdaemond=/usr/local/courier-authlib/var/spool/authdaemon/socket

#make

#makeinstall

2关闭系统自带的sasl

#mv/usr/lib/libsasl2.a/usr/lib/libsasl2.a.OFF

#mv/usr/lib/libsasl2.so.2.0.22/usr/lib/libsasl2.so.2.0.22.OFF

#mv/usr/lib/sasl2/usr/lib/sasl2.OFF

#rm/usr/lib/libsasl2.so

#rm/usr/lib/libsasl2.so.2

3重新创建新编译的sasl库文件

#ln–sv/usr/local/sasl2/lib/*/usr/lib

Postfix2.3以后的版本会分别在/usr/local/lib和/usr/local/include中搜索sasl的库文件及其头文件,因此需要将其连接至此

#ln–sv/usr/local/sasl2/lib/*/usr/local/lib

#ln–sv/usr/local/sasl2/include/sasl/*/usr/local/include

4创建运行时需要的目录并调试启动

#mkdir-pv/var/state/saslauthd

#/usr/local/sasl2/sbin/saslauthd-ashadowpam-d

5启动并测试

#/usr/local/sasl2/sbin/saslauthd–ashadowpam

#/usr/local/sasl2/sbin/testsaslauthd–uroot–proot用户密码

6添加配之文件搜索路径

#echo“/usr/local/sasl2/lib">>/etc/ld.so.conf

#echo"/usr/local/sasl2/lib/sasl2">>/etc/ld.so.conf

#ldconfig–v注:

一定要执行该命令,否则不会生效,除非是重启系统

7添加开机自动启动

#echo“/usr/local/sasl2/sbin/saslauthd-ashadowpam”>>/etc/rc.local

第五安装BerkeleyDB

1解压并安装

#tarxvfDBD-mysql-4.018.tar.gz.gz

#cdDBD-mysql-4.018/dist

#./configure--prefix=/usr/local/BerkeleyDB

#make

#makeinstall

2修改相应的头文件

#mv/usr/include/db4/usr/include/db4.OFF

#rm/usr/include/db_cxx.h

#rm/usr/include/db.h

#rm/usr/include/db_185.h

#ln-sv/usr/local/BerkeleyDB/include/usr/include/db4

#ln-sv/usr/local/BerkeleyDB/include/db.h/usr/include/db.h

#ln-sv/usr/local/BerkeleyDB/include/db_cxx.h/usr/include/db_cxx.h

3配置库文件搜索路径

#echo“/usr/local/BerkeleyDB/lib“>>/etc/ld.so.conf

#ldconfig–v

第六安装httpd

1安装httpd

#tarxfvhttpd-2.2.17.tar.gz.gz

#cdhttpd-2.2.17

#./configure

--prefix=/usr/local/apache

--enable-so

--enable-ssl

--with-ssl=/usr/local/ssl

--enable-track-vars

--enable-rewrite

--with-zlib

--enable-mods-shared=most

--enable-suexec(后面extmail切换”运行时用户”时要用到)

--with-suexec-caller=daemon

#make

#makeinstall

2配置开机启动

#echo“/usr/local/apache/bin/apachectlstart”>>/etc/rc.local

第七,安装php

1安装php-5.2.14.tar.bz2

#tarxvfphp-5.2.14.tar.bz2

#cdphp-5.2.14

#./configure--prefix=/usr/local/php

--with-apxs2=/usr/local/apache/bin/apxs

--with-mysql=/usr/local/mysql

-with-mysqli=/usr/local/mysql/bin/mysql_config

--with-libxml-dir

--with-png-dir

--with-jpeg-dir

--with-zlib

--with-freetype-dir

--with-gd-dir

--enable-mbstring=all

#make

#makeinstall

2配置php的配置文件

#cpphp.ini-dist/usr/local/php/lib/php.ini

3整合php和apahce,且apache支持php

#cd/usr/local/apache/conf

#vimhttpd.conf

并找到AddTypeapplication/x-compress.Z

AddTypeapplication/x-gzip.gz.tgz并在其后添加一下两行

AddTypeapplication/x-httpd-php.php

AddTypeapplication/x-httpd-php-source.phps

4找到DirectoryIndexindex.html

修改为:

DirectoryIndexindex.phpindex.html

5验证apache是否能够正常支持配php文件

在/usr/local/apache/htdocs中创建

#vimTest.php

Phpinfo();

?

>

6重启apache

#/usr/local/apache/bin/apachectlstop

#/usr/local/apache/bin/apachectlstart

7访问http:

//IP/Test.php能够正常显示php的版本号及其配置信息

8将网站根目录指定到/var/www:

找到DocumentRoot“/usr/local/apache/htdocs”

修改为:

DocumentRoot“/var/www”(后文中我们还会注释掉此行,以启用虚拟主机)

找到

修改为:

第八安装postfix

1创建postfix和postdrop用户

#groupadd–g2525postfix

#useradd–gpostfix–u2525–s/sbin/nologin–Mpostfix

#groupadd–g2526postdrop

#useradd–gpostdrop–u2526–s/bin/false–Mpostdrop

2安装postfix-2.7.1

#tarxvfpostfix-2.7.1.tar.gz

#cdpostfix-2.7.1

#makemakefiles'CCARGS=-DHAS_MYSQL-I/usr/local/mysql/include/mysql-DUSE_SASL_AUTH-DUSE_CYRUS_SASL-I/usr/local/sasl2/include/sasl-I/usr/local/BerkeleyDB/include-DUSE_TLS-I/usr/local/ssl/include/openssl''AUXLIBS=-L/usr/local/mysql/lib/mysql-lmysqlclient-lz-lm-L/usr/local/sasl2/lib-lsasl2-L/usr/local/BerkeleyDB/lib-L/usr/local/ssl/lib-lssl-lcrypto'

#make

#makeinstall

按照以下的提示输入相关的路径

daemon_directory:

[/usr/local/postfix/libexec]

data_directory:

[/usr/local/postfix/lib]

html_directory:

[/var/www/postfix_html]

mail_owner:

[postfix]

mailq_path:

[/usr/bin/mailq]

manpage_directory:

[/usr/local/postfix/man]

newaliases_path:

[/usr/bin/newaliases]

queue_directory:

[/var/spool/postfix]

readme_directory:

[no]

sendmail_path:

[/usr/sbin/sendmail]

setgid_group:

[postdrop]

3生成别名二进制文件,此步能够提高postfix的效率,如果不生成二进制文件。

Postfix的效率比较低下

#newaliases

4配置postfix,并启动,测试postfix并进行发言

#cd/etc/postfix/

#vimmain.cf

myhostname=

mydomain=

myorigin=

inet_interfaces=all

mydestination=$myhostname,localhost.$mydomain,localhost,$mydomain

mynetworks=192.168.18.0/24,127.0.0.0/8

说明:

myorigin参数用来指明发件人所在的域名;

mydestination参数指定postfix接收邮件时收件人的域名,即您的postfix系统要接收到哪个域名的邮件;

myhostname参数指定运行postfix邮件系统的主机的主机名,默认情况下,其值被设定为本地机器名;

mydomain参数指定您的域名,默认情况下,postfix将myhostname的第一部分删除而作为mydomain的值;

mynetworks参数指定你所在的网络的网络地址,postfix系统根据其值来区别用户是远程的还是本地的,如果是本地网络用户则允许其访问;

inet_interfaces参数指定postfix系统监听的网络接口;

当然在上面的myorigin=同时也可以用$mydomain来代替

在配置或者修改postfix配置文件是,必须重新启动postfix或者reload,配置才能生效,但是如果是修改inet_interfaces,则需要重新启动postfix

如果一个参数的值有多个,可以将它们放在不同的行中,只需要在其后的每个行前多置一个空格即可;postfix会把第一个字符为空格或tab的文本行视为上一行的延续

5启动postfix

#/usr/local/postfix/sbin/postfixstart

6连接postfix,并验证postfix是否正常启动

#telnetlocalhost25

Trying127.0.0.1...

Connectedtolocalhost.localdomain(127.0.0.1).

Escapecharacteris'^]'.

220ESMTPPostfix

ehlo

250-

250-PIPELINING

250-SIZE10240000

250-VRFY

250-ETRN

250-ENHANCEDSTATUSCODES

250-8BITMIME

250DSN

mailfrom:

root@

2502.1.0Ok

rcptto:

RedHat@

2502.1.5Ok

data

354Enddatawith.

subject:

test!

test!

!

!

.2502.0.0Ok:

queuedasAB94A1A561

quit

2212.0.0Bye

Connectionclosedbyforeignhost.

7切换到redhat,查看是否收到email切换到redhat用户进行收信:

#su-redhat

$mail

Mailversion8.16/6/93.Type?

forhelp.

"/var/spool/mail/redhat":

1message1new

>N1root@WedSep822:

4016/566"test!

"

&

第九为postfix开启基于cyrus-sasl的认证

1确认postfix是否支持cyrus风格的sasl的认证,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1