- 浏览: 305878 次
文章分类
最新评论
-
流年末年:
那四个参数还是没看懂.....能不能解释下showPassst ...
我写的密码强度验证方法(原创) -
kingcs2008:
// 验证pws.jsshowPassstrength(&qu ...
我写的密码强度验证方法(原创) -
h957355152:
请问博主这个怎么用呢?我直接放到jsp里面调用showPass ...
我写的密码强度验证方法(原创) -
qq_15138059:
我写的全国省市县三级联动菜单,拿出来和大家分享了(原创) -
valenon:
评论呢?从MAIL FROM命令开始貌似就出错了:500 Er ...
如何发送伪造的电子邮件
、
———————————————————
二.邮件发送接收相关包的安装
再继续安装前先清理一下系统自带的一些软件
Sendmail
相关包
rpm –q sendmail
sendmail-8.13.8-2.el5
———————————————-
清除:
rpm -e sendmail –nodeps
Sasl
相关包列出
rpm -qa|grep sasl
cyrus-sasl-2.1.22-4
cyrus-sasl-devel-2.1.22-4
cyrus-sasl-plain-2.1.22-4
cyrus-sasl-lib-2.1.22-4
———————————————
清除:
rpm -e –nodeps cyrus-sasl cyrus-sasl-devel cyrus-sasl-plain cyrus-sasl-lib
然后是创建以下用户及组
然后是创建以下用户及组
用户名
|
组名
|
作用
|
备注
|
mysql
|
mysql
|
数据库
mysql
运行用户
|
以上已创建
|
vmail
|
vmail
|
nginx
服务运行用户
|
以上已创建
|
vmail
|
vmail
|
Postfix
虚拟邮件帐号所使用的用户及组
|
uid,gid
:1001,1001
|
postfix
|
Postfix
|
Postfix
主程序使用的帐号和组
|
Uid,gid:1000,1000
|
|
Postdrop
|
Postfix
setgid_group
|
setgid_group=postdrop
1002 |
amavis
|
amavis
|
邮件扫描
|
|
clamav
|
Clamav
|
病毒扫描
|
|
ln -s /usr/src/kernels/2.6.18-128.el5-i686 /usr/src/linux //
避免以下安装编译出现问题
一.
安装
courier-authlib
安装过程:
……………………………安装开始………………………………………………
Shell> tar jxvf courier-authlib-0.62.2.tar.bz2
Shell> cd courier-authlib-0.62.2
Shell>./configure
–with-mailuser=vmail –with-mailgroup=vmail
–with-mysql-libs=/usr/local/mysql/lib/mysql
–with-mysql-includes=/usr/local/mysql/include/mysql
–prefix=/usr/local/authlib
–without-stdheaderdir
Shell> make && make install
Shell> make install-configure
…………………………安装结束……………………………………………
———————————————————
一般情况下,
anthlib
的安装应该是容易完成的。
配置:
配置
authlib.
在目录
/usr/local/authlib/etc/authlib
中,修改文件
authdaemonrc
及
authmysqlrc
。
vim /usr/local/authlib/etc/authlib/authdaemonrc
vi /usr/local/authlib/etc/authlib/authdaemonrc
authmodulelist=”authmysql” authmodulelistorig=”authmysql” DEBUG_LOGIN=2
修改上面3
项,其他的项保持不变。这个修改前2
行表示用mysql
认证模块;把DEBUG_LOGIN
的值有默认的“0
”改成“2
”的用意是运行
postfix
时有更多的信息输出,通过生成的日志以帮助排错。
|
vi /usr/local/authlib/etc/authlib/authmysqlrc
MYSQL_SERVER localhost MYSQL_USERNAME extmail MYSQL_PASSWORD extmail
MYSQL_DATABASE extmail
MYSQL_SOCKET
/usr/local/mysql/tmp/mysql.sock
MYSQL_PORT 3306
MYSQL_USER_TABLE mailbox MYSQL_CRYPT_PWFIELD password // 这里需要注意 #MYSQL_CLEAR_PWFIELD password
DEFAULT_DOMAIN mail.test.com
MYSQL_UID_FIELD ‘1001 ’ MYSQL_GID_FIELD ‘1001 ’
MYSQL_LOGIN_FIELD username
MYSQL_HOME_FIELD ‘/var/mailbox/’
MYSQL_NAME_FIELD name
MYSQL_MAILDIR_FIELD maildir MYSQL_QUOTA_FIELD concat(quota,’S') MYSQL_WHERE_CLAUSE active=’1′
特别注意
MYSQL_UID_FIELD
和
MYSQL_GID_FIELD
字段的值,这里是‘1001
’,
也可以是其它的,但一定要与vmail
用户及组相一致(id vmail
可以得出这2
者的值)
|
后续工作还有,所以现在还不能测试。
——————————————————-
二.
安装
SASL
cyrus-sasl-2.1.22.tar.gz
安装过程:
……………………………安装开始………………………………………………
Shell> tar zxvf cyrus-sasl-2.1.22.tar.gz
Shell> cd cyrus-sasl-2.1.22
Shell> ./configure –disable-anon
–disable-gssapi //
授权
–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/authlib/var/spool/authdaemon/socket
Shell> make
Shell> make install
…………………………安装结束……………………………………………
配置:
ln -s /usr/local/lib/sasl2 /usr/lib/sasl2 //
sasl
的安装目录是
/usr/local/lib/sasl
//
安装结束后有
Warning
警告
echo “/usr/local/lib” >> ld.so.conf
//
否则
postfix
编译里会找不到
libsasl2.so.2
创建文件
/usr/local/lib/sasl2/smtpd.conf,
并加入如下内容:
pwcheck_method: authdaemond
mech_list: PLAIN LOGIN
log_level: 3
authdaemond_path: /usr/local/authlib/var/spool/authdaemon/socket
|
Sasl2
需要使用文件
/usr/local/authlib/var/spool/authdaemon/socket
,但默认情况下,其属性是
744
,需要把它加上执行权限,以便文件属组(主)而外的其它用户可以执行。运行命令
chmod +x /usr/local/authlib/var/spool/authdaemon
即可,如果不这样处理,
smtp
验证无一例外会失败的。
创建运行时需要的目录并调试启动
# mkdir -pv /var/state/saslauthd
# /usr/local/sbin/saslauthd -v // 看看版本是不是 2.1.22
# mkdir -pv /var/state/saslauthd
# /usr/local/sbin/saslauthd -v // 看看版本是不是 2.1.22
saslauthd 2.1.22
authentication mechanisms: getpwent
pam
rimap
shadow
# /usr/local/sbin/saslauthd -a shadow pam -d // 正常不会报错
# /usr/local/sbin/saslauthd -a shadow pam -d // 正常不会报错
启动并测试
# /usr/local/sbin/saslauthd -a shadow pam
# /usr/local/sbin/testsaslauthd -u root -p password // 正常显示 0: OK “Success” 成功
# /usr/local/sbin/saslauthd -a shadow pam
# /usr/local/sbin/testsaslauthd -u root -p password // 正常显示 0: OK “Success” 成功
(Password
改成机器登录账号
root
的密码
,
这里不是账号不是指的
MySQL
账号密码。否则会提示:
0: NO “authentication failed”,
同时,注意这里测试不用开启
authdaemond(authlib)
加入开机自启动
Echo “/usr/local/sbin/saslauthd -a shadow pam” >>/etc/rc.local
三.
安装
postfix
Make
参数参考:安装源文件READ_FILES
目录
# more README_FILES/MYSQL_README
# more README_FILES/MYSQL_README
安装过程:
……………………………安装开始………………………………………………
Shell> tar zxvf
postfix
-2.5.6.tar.gz
Shell> cd
postfix
-2.5.6
Shell>
make makefiles ‘CCARGS=-DHAS_MYSQL -I/usr/local/mysql/include/mysql
-DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/local/include/sasl’
‘AUXLIBS=-L/usr/local/mysql/lib/mysql -lmysqlclient -lz -lm
-L/usr/local/lib -lsasl2′
@@
注意:
1.
如果没有
Makefile
文件,需要设置成
make -f Makefile.init
2.
/usr/local/mysql/include
如果此目录下还有
mysql
目录,应改成
/usr/local/mysql/include/mysql
3.
/usr/local/mysql/lib
如果此目录下还有
mysql
目录,应改成
/usr/local/mysql/lib/mysql
如果没有意外,
make
这一步很快就执行完了,接下来就是安装,使用的命令是
Shell> make install
程序先自动执行一阵子,然后会进入交互状态,等待用户的输入,一般情况下,一路回车即可完成所有的安装。
最后:
生成别名二进制文件,这个步骤如果忽略,会造成 postfix 效率极低:
shell> /usr/bin/newaliases
生成别名二进制文件,这个步骤如果忽略,会造成 postfix 效率极低:
shell> /usr/bin/newaliases
…………………………安装结束……………………………………………
检验
postfix
是否支持
sasl
认证,如果输出为以下结果,则支持:
shell> /usr/sbin/postconf -a // postfix 安装没有指定目录
shell> /usr/sbin/postconf -a // postfix 安装没有指定目录
cyrus
dovecot
dovecot
shell> /usr/sbin/postconf -m |grep mysql
mysql
//
没有的话需重新编译
postfix
四.
安装
imap
Postfix
只是实现邮件系统的smtp
功能,pop3
或imap
则需要另外的软件来实现,这个软件就是courier-imap(
当然也有别的软件可以选择)
。
……………………………安装开始………………………………………………
Shell> tar jxvf courier-imap-4.4.1.tar.bz2
Shell> cd courier-imap-4.4.1
Shell>./configure
–prefix=/usr/local/imap
–with-redhat
–disable-root-check
–enable-unicode=utf-8,iso-8859-1,gb2312,gbk,gb18030
–with-trashquota
–with-dirsync
–with-mysql-libs=/usr/local/mysql/lib/mysql –with-mysql-includes=/usr/local/mysql/include/mysql
–with-authmysql
–with-authmysql=yes
CPPFLAGS=’-I/usr/local/authlib/include’ LDFLAGS=’-L/usr/local/authlib/lib/courier-authlib’
COURIERAUTHCONFIG=’/usr/local/authlib/bin/courierauthconfig’
[
以上时间长一些
]
Shell> make
Shell> make install
Shell> make install-configure
……………………………安装结束………………………………………………
配置:
……………………………配置开始………………………………………………
修改配置文件
/usr/local/imap/etc/pop3d
及
/usr/local/imap/etc/imapd
。把
/usr/local/imap
/etc/pop3d
文件的行“
POP3DSTART=NO
”改成“
POP3DSTART=YES
”,再依照这个形式把文件
/usr/local/imap/etc/imapd
的行“
IMAPDSTART=NO
”改成“
IMAPDSTART=YES
”即可。
加入开机启动:
cp courier-imap.sysvinit /etc/rc.d/init.d/imapd
// courier-imap.sysvinit
在安装源文件中
chmod +x /etc/rc.d/init.d/imapd
chkconfig –add imapd
[chkconfig --level 2345 imapd on]
Service imapd start
//
输出
Starting Courier-IMAP server: imap pop3
检测:
netstat -tnl|egrep “110|143″
五.
安装
pcre
安装前先卸载系统自带的
pcre-6.6-1.1
Rpm –e pcre
自带的
pcre RPM
包可能与一些有冲突,可以先卸载掉
Shell> rpm –e pcre
如果提示
libpcre.so.0
与别的软件有依存关系。可以这样
先备份一下
libpcre.so.0
这个文件,然后。
Shell> rpm -e pcre –nodeps
……………………………安装开始………………………………………………
Shell> tar zxvf pcre-7.8.tar.gz
Shell> cd pcre-7.8
Shell> ./configure
Install prefix ……………… : /usr/local
C preprocessor ……………… : gcc -E
C compiler …………………. : gcc
C++ preprocessor ……………. : g++ -E
C++ compiler ……………….. : g++
Linker …………………….. : /usr/bin/ld
C preprocessor flags ………… :
C compiler flags ……………. : -O2
C++ compiler flags ………….. : -O2
Linker flags ……………….. :
Extra libraries …………….. :
Build C++ library …………… : yes
Enable UTF-8 support ………… : no
Unicode properties ………….. : no
Newline char/sequence ……….. : lf
\R matches only ANYCRLF ……… : no
EBCDIC coding ………………. : no
Rebuild char tables …………. : no
Use stack recursion …………. : yes
POSIX mem threshold …………. : 10
Internal link size ………….. : 2
Match limit ………………… : 10000000
Match limit recursion ……….. : MATCH_LIMIT
Build shared libs …………… : yes
Build static libs …………… : yes
Link pcregrep with libz ……… : no
Link pcregrep with libbz2 ……. : no
Link pcretest with libreadline .. : no
Shell> make
Shell> make install
……………………………安装结束………………………………………………
六.
安装
maildrop
注意
%
源码安装的,将
courierauthconfig
命令链接到
/usr/bin
里,假设装在:
/usr/local/authlib/bin/courierauthconfig ,则:
ln -s /usr/local/authlib/bin/courierauthconfig /usr/bin/courierauthconfig
这样编译出来的 maildrop 才会 Courier Authentication Library extension enabled.
/usr/local/authlib/bin/courierauthconfig ,则:
ln -s /usr/local/authlib/bin/courierauthconfig /usr/bin/courierauthconfig
这样编译出来的 maildrop 才会 Courier Authentication Library extension enabled.
……………………………安装开始………………………………………………
Shell> tar jxvf maildrop-2.0.4.tar.bz2
Shell> cd maildrop-2.0.4
Shell>./configure
–enable-sendmail=/usr/sbin/sendmail
–enable-trusted-users=’root vmail’
–enable-syslog=1
–enable-maildirquota
–enable-maildrop-uid=1001
–enable-maildrop-gid=1001
–with-trashquota
–with-dirsync
Shell> make
Shell> make install
Shell> cp /usr/local/bin/maildrop /usr/bin //
可有可无
……………………………安装结束………………………………………………
验证安装是否成功
:
Shell> maildrop –v
[root@localhost
postfix
]# /usr/local/bin/maildrop -v
maildrop 2.0.4 Copyright 1998-2005 Double Precision, Inc.
GDBM extensions enabled.
Courier Authentication Library extension enabled. //
这行重要
,
没有的话要查一下原因
Maildir quota extension enabled.
This program is distributed under the terms of the GNU General Public
License. See COPYING for additional information.
FAQ:
如果没有显示Courier
Authentication
Library
extension
enabled
.
说明你的maidrop
还不支持courier
auth
,请仔细检查,重新编译maildrop
建议不要自定义目录安装,可以减少不必要的麻烦,删除很方便:直接在已经编译的源代码目录 make uninstall
就行
知道
maildrop
把邮件移动到哪个用户目录还是非常有必要的,这个操作就是
maildrop
的日志记录。这里我们创建一个新文件
/etc/maildroprc
,这个文件就
2
行内容:如果加入反SPAM,
需要更改以下内容
[root@mail mailbox]# more /etc/maildroprc
logfile “/var/log/maildrop.log”
to “$HOME/$DEFAULT”
|
Shell> touch /var/log/maildrop.log
Shell> chown vmail.vmail /var/log/maildrop.log
shell> chown vmail.vmail /var/mailbox
shell> chown vmail.vmail /var/mailbox
Posted by wtxly521
at 上午 12:44
Leave a Reply
Name (required)
E-mail (required)
URI
Your Comment
You may use these HTML
tags and attributes: <a
href="" title=""> <abbr title=""> <acronym title="">
<b> <blockquote cite=""> <cite> <code> <del
datetime=""> <em> <i> <q cite=""> <strike>
<strong>
发表评论
-
全国学校和地区数据库
2012-04-08 03:14 2642全国学校和地区数据库 -
提升struts2的性能
2012-03-30 14:39 818freemarker 升级为2.3.14 og ... -
JAVA项目之SSH编码规范
2012-03-26 00:19 951编码规范目的:风格统 ... -
浅谈千万级PV/IP规模高性能高并发网站架构
2012-03-21 23:42 1318浅谈千万级PV/IP 规模高性能高并发网站架构 ... -
struts2的通用分页工具条
2012-03-07 11:17 1756java组件 package com.tag; im ... -
myeclipse中项目上面有红叉如何解决?
2012-03-06 13:50 6649项目中没有错误,却发现有一个红叉,怎么都消不掉,这是为什么呢? ... -
基于Compass2.2与Spring 结合建立索引的实例
2012-03-03 19:55 1153本实例建立在ssh ... -
数据库表设计的基本原则
2012-03-02 08:47 9921.动态数据和静态数据分离,比如统计作用的列comment_c ... -
struts1.x、struts2.x和springmvc浅析(转载)
2012-02-27 09:59 1053入住javaeye也要1年半了,第一次给自己的blog丰富点. ... -
testsaslauthd报 0: NO "authentication failed" 的问题
2012-02-17 00:39 4785输入 ./testsaslauthd -u userID -p ... -
中外伟人观之对比,架构
2012-02-16 20:59 397世界上每一个国家都有他们的伟人,但各国的伟人观却不 ... -
postfix用到的包
2012-02-16 15:20 789The Postfix RPM I produce use ... -
通过Telnet来发送邮件
2012-02-16 10:28 968有些时候我们通过写代码来发送邮件. 有些时候, 代码可以正 ... -
sendmail发件人显示为xxx@localhost.localdomain的解决办法
2012-02-15 22:07 5169大 | 中 | 小 1 ... -
架构演进-实例篇(转载)
2012-02-05 18:03 8111引言 在标题的取名上,不敢说颇费心机,也算得上花 ... -
消息提示的架构演进-理论篇(转载)
2012-02-05 18:02 729项目是一个互联网 ... -
通告(公告),消息(站内短信),提醒的设计<一>:通告(转载)
2012-02-05 18:00 13451 业务描述 首先我们 ...
相关推荐
安装`libstdc++.so.6.0.30`时,通常需要通过yum或dnf(取决于你的CentOS版本)来管理软件包,例如: ```bash sudo yum install libstdc++.so.6.0.30 ``` 或者 ```bash sudo dnf install libstdc++.so.6.0.30 ``` ...
本人在Centos6.x x86_64位系统上安装成功过 1、下载libstdc++.so.6.0.21 文件 2 放到对应目录下面 mv ./libstdc++.so.6.0.21 /usr/lib64/ 6 删除以前的libstdc++.so.6 链接 cd /usr/lib64 rm libstdc++.so.6 ...
在Linux操作系统中,`libstdc++.so`是一个重要的动态链接库,它是GNU C++标准库的实现,包含了C++语言的关键功能,如输入/输出流、容器、算法、异常处理等。`libstdc++.so`的不同版本代表了不同时期的C++标准支持和...
《深入理解libstdc++.so.6.0.29:CentOS 7 x86_64系统下的GCC依赖库》 在Linux系统中,动态链接库是程序运行的关键组成部分,它们为应用程序提供了共享的功能代码,从而节省了内存资源并简化了软件更新。在CentOS 7...
因此,libstdc++.so.6.0.24的正确安装和配置对于开发者和系统管理员来说至关重要。 总结来说,libstdc++.so.6.0.24是GCC在CentOS 7.X系统中编译和运行C++程序的关键组件。它提供了C++语言的核心功能,如STL和异常...
在系统安装过程中,libstdc++.so.6.0.26通常随GCC一起安装,也可以单独通过包管理器(如apt-get for Debian/Ubuntu或yum for CentOS/RHEL)来安装。例如,在Ubuntu上,可以运行`sudo apt-get install libstdc++6`...
本文将详细解析如何在CentOS 5.3操作系统上安装配置Postfix与Extmail邮件系统,以实现高效、安全的企业邮件服务。 ### 一、理解Postfix与Extmail **Postfix**是一款由IBM开发的邮件传输代理(MTA),它设计用于...
centos7的环境下安装了python3.7运行程序,在tensorflow报错“ImportError: /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found” 下载新的进行安装和配置
在CentOS 7 64位系统中,确保libstdc++.so.6.0.21的正确安装和配置至关重要,因为许多依赖于C++的软件都需要这个版本的库来运行。如果在运行过程中遇到“缺少libstdc++.so.6”或类似错误,可能是因为系统中未安装这...
libstdc++.so.6.0.25
centos7 下使用. Uncaught Exception: Error: Dynamic Linking Error: /usr/lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /opt/baidunetdisk/./libkernel.so)
下载libstdc++.so.6.0.20,gcc-4.8,安装Tensorflow,http://ftp.de.debian.org/debian/pool/main/g/gcc-4.8/
在Linux系统中,遇到“/lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found”的错误提示通常意味着系统中的`libstdc++.so.6`库版本过低,无法满足某些应用程序运行所需的C++ ABI(Application Binary ...
在安装某些应用时,需要用到libstdc++.so.6.0.21(例如:hugo-extend),但是redhat以及centos默认的都是最高支持到3.4.19,因此需要编译安装搞版本的gcc。此版本是通过gcc源码编译获得的,对应gcc的源码版本为:...
libstdc++.so.6.0.20 64位
linux centos7安装playwright一定会遇到的问题,最终需要使用libstdc++.so.6.0.28替换掉原来的/usr/lib64/libstdc++.so.6 ,而这个版本的libstdc++.so.6.0.28 非常难找,在此分享一下。
libstdc++.so.6.0.10 libstdc++.so.6.0.10