编译安装postfix及使用sasl对客户端认证

编译安装postfix

在之前的文章我增提到过,目前linux常用的MTA软件有sendmail,qmail,exim,postfix。虽然目前使用最多的MTA是sendmail,但是sendmail实现的功能远没有postfix功能强大,而且postfix兼容sendmail,执行效率比sendmail更高,也更安全,postfix采用模块化设计。因此,由于具有众多的优点,postfix越来越流行。因此,此章主要是介绍如何使用postfix来搭建一台服务器,并使用sasl来为客户端提供认证功能。

使用postfix搭建邮件服务器步骤如下:

一、安装postfix前需要准备的事项:

1、我想大家都发过邮件的,在发送邮件的时候,我们一般指定收件人的格式是这样的:[email protected],

因此,当客户在发送一封邮件时,首先会到DNS服务器中查找该domain内的MX记录,并由MX记录找到这个domain内的邮件服务器(也就是该MX主机的A记录)。因此在安装前,需要配置好DNS的相关参数,在这里我不在详述如何来配置这些,只需要在该domain配置好MX,A,PTR记录(邮件服务器支持反向解析)即可。假设这里的domain为xsl.com,邮件服务器为mail.xsl.com,对于的A记录为192.168.108.251

2、安装以下开发所用到的rpm包组:

Development Libraries

Development Tools

Legacy Software Development

X Software Development

3、安装所需的rpm包,这包括以下这些:

httpd, mysql, mysql-server, mysql-devel, openssl-devel, dovecot, perl-DBD-MySQL, tcl, tcl-devel, libart_lgpl, libart_lgpl-devel, libtool-ltdl, libtool-ltdl-devel, expect

4、关闭sendmail(默认系统的邮件服务器软件是sendmail,且是开启的),并将它随系统开机自动启动的功能关闭

#service sendmail stop

#chkconfig sendmail off

二、安装mysql-5.5.28

1、准备数据存放的文件系统

新建一个逻辑卷,并将其挂载至特定目录即可。这里不再给出过程。

这里假设其逻辑卷的挂载目录为/mydata,而后需要创建/mydata/data目录做为mysql数据的存放目录。

2、新建用户以安全方式运行进程:

# groupadd -r mysql

# useradd -g mysql -r -s /sbin/nologin -M -d /mydata/data mysql

# chown -R mysql:mysql /mydata/data

3、安装并初始化mysql-5.5.28

#tar xf mysql-5.5.28-linux2.6-i686.tar.gz -C /usr/local

#cd  /usr/local

#ln -sv mysql-5.5.28-linux2.6-i686  mysql

#cd mysql

#chown -R  mysql:mysql  .

#scripts/mysql_install_db --user=mysql --datadir=/mydata/data

(#以mysql的身份来初始化数据库并指定数据的存放位置)

#chown  -R  root   .  #(将mysql目录的属主改为root,防止mysql进程被攻破,将具有mysql的一切权限)

4、为mysql通过配置文件

#cd  /usr/local/mysql

#cp support-files/my-large.cnf  /etc/my.cnf

说明:这个目录下有多个配置文件,需要根据自己的内存来选择

这些配置文件有(在/usr/local/mysql/support-files目录下),my-small.cnf、my-medium.cnf、my-large.cnf、my-huge.cnf等等。我这里选择的是my-large.cnf作为我的配置文件

并且编辑/etc/my.cnf,找到[mysqld]的这一段落,修改thread_concurrency的值为你的CPU个数乘以2,比如这里使用如下行:
thread_concurrency = 2

另外还需要添加如下行指定mysql数据文件的存放位置:
datadir = /mydata/data

在这里说明一下。mysql的配置文件有多个,因此mysql在加载配置文件的顺序是:

/etc/my.cnf---->/etc/mysql/my.cnf--->$BASEDIR/my.cnf--->~/.my.cnf

5、为mysql通过Sysv服务脚本

#cd /usr/local/mysql

#cp support-files/mysql.server  /etc/rc.d/init.d/mysqld

#chmod +x  /etc/rc.d/init.d/mysqld

6、添加至服务列表

chkconfig  --add  mysqld

如果想让mysqld开机自动启动,可以使用chkconfig  mysqld   on命令来实现

通过上述6步就完成mysql的安装了,并且也可以进行测试了。

为了使用mysql的安装符合系统使用规范,并将其开发组件导出给系统使用,这里还需要进行如下步骤:
7、输出mysql的man手册至man命令的查找路径:

编辑/etc/man.config,添加如下行即可:
MANPATH  /usr/local/mysql/man

8、输出mysql的头文件至系统头文件路径/usr/include:

这可以通过简单的创建链接实现:
# ln -sv /usr/local/mysql/include  /usr/include/mysql

9、输出mysql的库文件给系统库查找路径:

# echo ‘/usr/local/mysql/lib‘ > /etc/ld.so.conf.d/mysql.conf

而后让系统重新载入系统库:
# ldconfig

9、修改PATH环境变量,让系统可以直接使用mysql的相关命令

可以在/etc/profile.d/目录下创建以*.sh结尾的文件

#vim  /etc/profile.d/mysqld.sh

#添加如下行:

export  PATH=$PATH:/usr/local/mysql/bin

这样mysql就可以直接使用它的相关命令了,不需要输入绝对路径来使用

时间: 2024-08-15 07:44:03

编译安装postfix及使用sasl对客户端认证的相关文章

Linux 邮件服务器原理介绍,编译安装Postfix实现本地的邮件服务。

一.邮件服务器基本的工作原理 用户(MUA)通过SMTP协议将邮件发送到服务器(MTA),服务器分解发现如果是本地的邮件传输则通过lmtp来传送,如果是远程邮件将调用本地的客户端使用SMTP协议向对方服务器传送. 当对方的服务器接收到邮件之后,发现如果不是本机所负责的域,则将邮件交给本机的邮件客户端,根据邮件目标域请求DNS解析,将邮件发送到目标服务器,或者丢至下一跳此过程称为邮件中继,如果发现是本机负责区域内的用户,则SMTPD将邮件转交给MDA,由MDA把邮件传递到用户的邮筒. 用户通过MU

源码编译安装postfix

一.安装前的准备工作 邮件依赖于DNS系统,所以安装postfix之前,要把DNS给弄好.如果系统有sendmail,需要把sendmail关掉 # service sendmail stop # chkconfig sendmail off 由于是编译安装postfix,所以如果有rpm的postfix,要删除掉,并且把postfix用户等信息也删除掉.因为我后面要配合做mysql认证,好像rpm的postfix不支持mysql认证,我也没有验证过,为了保险起见,直接源码来安装了! # yum

编译安装postfix+sasl+mysql+dovecot+extmail构建完成的邮件系统(二)

十.安装Courier authentication library 1.courier简介 courier-authlib是Courier组件中的认证库,它是courier组件中一个独立的子项目,用于为Courier的其它组件提供认证服务.其认证功能通常包括验正登录时的帐号和密码.获取一个帐号相关的家目录或邮件目录等信息.改变帐号的密码等.而其认证的实现方式也包括基于PAM通过/etc/passwd和/etc/shadow进行认证,基于GDBM或DB进行认证,基于LDAP/MySQL/Post

编译安装postfix邮件服务

一.安装前的准备 1.邮件服务基本知识: wget http://sourceforge.net/p SMTP:(Simple Mail Transfer Protocol)即简单邮件传输协议 POP3:邮局协议     IMAP4:internet mail access protocol 互联网邮件访问协议 SASL:simple Authentication Secure layer  简单安全认证层 (版本v1,v2目前主流v2版本) MDA:邮件投递代理(procmail,maildr

邮件服务器之编译安装postfix

安装环境:redhat5.8 2.6.18-194.el5 i386 mysql 5.6.25 (mysql> SELECT VERSION();) 安装前 关闭sendmail服务 service sendmail stop &&chkconfig sendmail off 安装gcc环境  yum -y install gcc+ 确认开发环境已安装; Development Libraries Development Tools 启动mysqld数据库服务. service my

Centos 6.2_X86_64 编译安装postfix+amavisd-new+clamav

系统环境 CENTOS6.2 X86-64 并已经使用yum安装配置好LNMP环境 以下是安装所使用的部分软件包 shell>cd /usr/local/src shell>wget http://jaist.dl.sourceforge.net/project/courier/imap/4.16.0/courier-imap-4.16.0.tar.bz2 shell>wget ftp://ftp.cuhk.edu.hk/pub/packages/mail-server/postfix/

编译安装Postfix-2.10.10

一.先卸载原有的postfix: [[email protected] ~]# service postfix stop [[email protected] ~]# chkconfig postfix off [[email protected] ~]# rpm -e postfix --nodeps 二.为了基于Mysql实现虚拟用户认证,首先安装MySQL(我这里通过编译安装MySQL-5.6.33(通用二进制格式)) 1.将下载好的压缩包解压至/usr/local,并进入此目录 [[em

Linux 安装postfix服务器

一.搭建内部DNS服务器 1.Bind包的安装 [[email protected] ~]# yum -y install bind bind-utils bind-libs 2.更改Bind主配置文件 [[email protected] ~]# ll /etc/named.conf -rw-r----- 1 root named 1008 7月  19 2010 /etc/named.conf [[email protected] ~]# mv /etc/named.conf /etc/na

redhat编译安装postfix-3.1.1出现的一些错误及解决方法

今天尝试在rhel5.8下编译安装postfix,在编译安装postfix-3.1.1时出现了些小问题,在此记录下,以备不时之需,同时希望可以帮助到遇到相同问题的朋友. 1.在make makefiles及make命令顺利完成并执行make install命令时,出现以下现象: 前两个选项提供默认值,其后的各选项都不再出现默认值,手动输入各选项的值最终还是报错:error while loading shared libraries: libmysqlclient.so.18: cannot o