马哥linux高薪中级-POSTFIX邮件服务(四)

安装配置httpd文件

由于extmail要进行本地邮件的投递操作,所以必须以邮件投递代理所认可的用户身份运行httpd服务器。本利中打开了httpd服务器的suexec功能,所以使用一下方法来实现虚拟主机运行身份的指定。

<VirtualHost *:8081>

ServerName mail.dtedugongbing.com

DocumentRoot /var/www/extsuite/extmail/html/

ScriptAlias /extmail/cgi /var/www/extsuite/extmail/cgi

Alias /extmail /var/www/extsuite/extmail/html/

CustomLog logs/mail.qupeiyin.net.log common

suexecusergroup postfix postfix

</VirtualHost>

suexec:

默认情况下,运行httpd程序的用户会以相同的身份运行httpd的cgi功能,如果要实现两者的运行身份分离,就使用到了suexec参数。

也可以直接修改user、group两个全局控制用户权限的参数。

user postfix

Group postfix

listen 8081

修改CGI执行文件属主为postfix运行身份用户。

chown -R postfix:postfix /var/www/extsuite/extmail/cgi/

通过WEB界面配置extmail。

登录邮箱管理后台,默认密码为extmail*123*

后台界面:

邮件加密传输SSL的运用

TCPDUMP

数据包抓包分析工具,常用的还有wireshark的tshark。

tcpdum语法:

tcpdump [optins] [protocol][direction][hosts][value][logical oprations][other expression]

反垃圾邮件工具:

内容过滤:

APACHE:spanassassin,垃圾邮件分拣器,对英文支持比较好,中午支持并不太好。属于内容过滤器。

病毒邮件网关:

clamav:开源杀毒软件,通常作为病毒邮件服务器网关

邮件服务器呼叫器:

用于调用反垃圾工具及病毒网关等。

常见工具:amavisd-new(常用),mailscanner,mimedefang

RBL:实时黑名单列表,通常是付费的,是提供反垃圾邮件的一种方法。

补充知识:

使用maildrop替换postfix默认的邮件投递代理(MDA)virtual。

1、安装前先将courier-authlib的头文件、库文件、执行文件进行系统定位。并创建用于启动maildrop的用户及uid。

下面进入报错的解决方案:

extmail报错:

Can‘t locate CGI.pm in @INC (@INC contains: /var/www/extsuite/extmail/libs /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5) at /var/www/extsuite/extmail/libs/Ext/CGI.pm line 20. BEGIN failed--compilation aborted at /var/www/extsuite/extmail/libs/Ext/CGI.pm line 20. Compilation failed in require at /var/www/extsuite/extmail/libs/Ext/App.pm line 23. BEGIN failed--compilation aborted at /var/www/extsuite/extmail/libs/Ext/App.pm line 23. Compilation failed in require at /var/www/extsuite/extmail/libs/Ext/App/Login.pm line 16. BEGIN failed--compilation aborted at /var/www/extsuite/extmail/libs/Ext/App/Login.pm line 16. Compilation failed in require at index.cgi line 20.

解决:yum install perl-CGI

报错: Can‘t locate /var/www/cgi-bin/extmail//lang//en_US in @INC (@INC contains: /var/www/extsuite/extmail/libs /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5) at /var/www/extsuite/extmail/libs/Ext/Lang.pm line 65.

解决:没有主文件

[[email protected] extmail]# cp webmail.cf.default webmail.cf

[[email protected] extmail]# pwd /var/www/extsuite/extmail

报错:

Unix::Syslog not found, please install it first! (in cleanup) Undefined subroutine &Ext::Logger::do_closelog called at /var/www/extsuite/extmail/libs/Ext/Logger.pm line 86.

解决方案:

没有这个包: Unix-Syslog-1.1.tar.gz

# perl Makefile.PL  

安装这个包的报错

Can‘t locate ExtUtils/MakeMaker.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at Makefile.PL line 1. BEGIN failed--compilation aborted at Makefile.PL line 1.

解决

yum install -y perl-ExtUtils-MakeMaker

# perl Makefile.PL # make install

报错

DBI connect(‘database=extmail;host=localhost;mysql_socket=/var/lib/mysql/mysql.sock‘,‘db_user‘,...) failed: Access denied for user ‘db_user‘@‘localhost‘ (using password: YES) at /var/www/extsuite/extmail/libs/Ext/Auth/MySQL.pm line 45

解决:进入数据库失败,修改主配置文件。 SYS_MYSQL_USER = extmail SYS_MYSQL_PASS = extmail

报错 Can‘t chdir to /home/domains/extmail.org/postmaster/Maildir/, No such file or directory

解决:

SYS_MAILDIR_BASE = /home/vmail

# mail [email protected] 发封邮件让它创建邮件目录

extmail后台的配置

后台的操作 同样的操作

NameVirtualHost *:80 <VirtualHost *:80> ServerName mail.example.com DocumentRoot /path/to/your/document/root/ ScriptAlias /extman/cgi /var/www/extsuite/extman/cgi Alias /extman /var/www/extsuite/extman/html SuexecUserGroup vuser vgroup </VirtualHost>

只需要下面2行插入,mail前台配置中 ScriptAlias /extman/cgi /var/www/extsuite/extman/cgi Alias /extman /var/www/extsuite/extman/html

最终Apache写入的配置:

<VirtualHost *:80>

ServerName mail.extmail.org

DocumentRoot /var/www/extsuite/extmail/html/

ScriptAlias /extmail/cgi /var/www/extsuite/extmail/cgi

Alias /extmail /var/www/extsuite/extmail/html

ScriptAlias /extman/cgi /var/www/extsuite/extman/cgi

Alias /extman /var/www/extsuite/extman/html

SuexecUserGroup vmail vmail

</VirtualHost>

/var/www/extsuite/extman chown vmail.vmail . -R

验证码

/var/www/extsuite/extman

cp webman.cf.default webman.cf

vim webman.cf SYS_CAPTCHA_ON = 1

SYS_CAPTCHA_LEN = 4

关于主页的显示:

vim /etc/rc.local

/var/www/extsuite/extman/daemon/cmdserver &

后台图形监控报错:

Can‘t locate RRDs.pm in @INC (@INC contains: /var/www/extsuite/extman/libs /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /var/www/extsuite/extman/libs/Ext/GraphLog.pm line 23. BEGIN failed--compilation aborted at /var/www/extsuite/extman/libs/Ext/GraphLog.pm line 23. Compilation failed in require at /var/www/extsuite/extman/libs/Ext/MgrApp/ViewLog.pm line 22. BEGIN failed--compilation aborted at /var/www/extsuite/extman/libs/Ext/MgrApp/ViewLog.pm line 22. Compilation failed in require at viewlog.cgi line 18.

解决方法: 下载软件包:rrdtool-perl-1.3.8-6.el6.x86_64.rpm yum localinstall rrdtool-perl-1.3.8-6.el6.x86_64.rpm

虽然显示出来监控目录,但是点击没反映:

# cp mailgraph_ext/ /usr/local/ -r 为什么要cp到/usr/local/下?

/usr/local/mailgraph_ext vim mailgraph-init会发现执行脚本的路经:BASEDIR=/usr/local/mailgraph_ext

# /usr/local/mailgraph_ext/mailgraph-init start

报错: Starting mail statistics grapher: mailgraph_ext Can‘t locate File/Tail.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /usr/local/mailgraph_ext/mailgraph_ext.pl line 296. BEGIN failed--compilation aborted at /usr/local/mailgraph_ext/mailgraph_ext.pl line 296. Starting queue statistics grapher: qmonitor

下载包: File-Tail-0.99.3.tar.gz

tar -zxf File-Tail-0.99.3.tar.gz # cd File-Tail-0.99.3 # perl Makefile.PL

报错: File::Tail will be installed without debugging information. This information isn‘t usefull unless you intend to tinker with the code. To install with debugging enabled, use: perl Makefile.PL LOGIT Checking if your kit is complete... Looks good Warning: prerequisite Time::HiRes 1.12 not found. Writing Makefile for File::Tail

解决方法: # yum install perl-Time-HiRes -y # perl Makefile.PL # make install

# /usr/local/mailgraph_ext/mailgraph-init start

之后就会看到图形化监控。

参考文件: Linux 邮件服务器 之跟我一步一步来实现一个邮件系统

postfix之courier-authlib详解

Linux下配置Dovecot常见错误及解决办法

时间: 2024-10-22 06:05:45

马哥linux高薪中级-POSTFIX邮件服务(四)的相关文章

马哥linux高薪中级-POSTFIX邮件服务

第一章.概述 1.邮件服务通常使用什么协议? SMTP:简单邮件传输协议,只实现传输功能,没有索引.加密邮件功能. ESMTP,SMTP的升级版本,可以实现身份检测功能了. POP3::post office protocol 邮局协议 IMAP4:互联网访问协议 SASL:邮件认证协议 2.邮件服务的发展简史. 早期unix之间的通信协议是UUCP协议(unix to unix copy,主机间复制文件协议).后来出现了smtp,smtp具有路由功能,可以依据邮件的目的地址来通过邮件中继器进行

马哥linux高薪中级-POSTFIX邮件服务(三)

五.邮件服务器的虚拟域 简介 虚拟域功能类似于httpd的虚拟主机服务,同样支持一台物理主机服务器创建和支持多个虚拟域名,并为其提供邮件服务,实现此功能需要涉及到mydestination.mydomain.myorigin几个参数. 当一台服务器运行多个虚拟域的情况下,势必会给查询带来负担,这样就需要一个快速的检索数据库,常用的有hash.ladp.mysql等,hash我们在前面已经讲过了,就是通过postmap来生成需要的索引文件*.db.确定是不灵活,当账户信息文件需要经常变化的时候,就

马哥linux高薪中级-POSTFIX邮件服务(二)

四.POSTFIX+CYRUS-SASL 结合实现用户身份认证 1.cyrus-SASL简介 Cyrus SASL介绍(翻译) 2.配置内容简介: postfix-->/var/lib/sasl2/smtpd.conf pwcheck_method : saslauthd math_list :PLAIN LOGIN 3.服务脚本:saslauthd 1.启动SASL 服务 /etc/init.d/saslauthd [[email protected] ~]# chkconfig --add

马哥linux高薪中级-DNS

第一章 简介 一.DNS domain name server,用来将计算机名称或者域名解析成ip地址的服务协议. 用户在使用域名访问时会先通过DNS服务请求域名对应的ip地址,然后缓存下来,然后才通过ip地址进行通信. 最初域名解析是通过HOSTS文件来静态绑定的. DNS缓存的时间期限是由服务器端决定的,然后客户端在时间到期后进行更新缓存信息. 二.DNS服务器角色类型: 缓存DNS服务器:只处理请求并递归查找,本身并不解析域名.可以直接安装caching-nameserver来完成,也可以

马哥Linux学习笔记之五——邮件服务

1.SMTP只负责将邮件发送到服务器,其他的,像身份认证检测邮件,都不能完成.(25/tcp) ESMTP:Extended SMTP POP3:Post Office Protocol IMAP4:Internet Mail Access Protocol 2.Open Relay:开放式中继 就是人家的邮件从这个邮件服务器过,你都帮忙转发,这样就会成为产生垃圾邮件的根源.所以都要关闭Open Relay 3.SASL,Simple Authintication Secure Layer,简单

马哥linux高薪中级-web服务器

第一章  HTTP概述 一.概述 1.什么是HTTP? HTTP:hypertext transfer protocl 超文本链接协议,所谓超链接就是将不同位置的超文本文件HTML进行快速的查找并读取.HTTP协议是一个规范,可以实现不同区域的用户直接可以实现超文本连接.实现的条件是tcp/ip协议.DNS服务.URL地址. 最初http协议的特点 1.无状态连接,不能够反映出连接时客户端的登录状态. 2.短连接,完成一次客户端请求报文就断开连接. 3.非安全传输. 4.一条链路上只发送一个请求

马哥linux高薪中级-web服务器(续二)

11.http status 查看web服务器状态的模块:status 要求安装mod_status模块,默认是安装的. 1.已经加载了LoadModule status_module modules/mod_status.so 2.按需要开启ExtendedStatus on 3.配置文件 <Location /status>                                //"/status"可以随意设置,最终代表的就是域名后面的路径 SetHandle

马哥linux高薪中级-web服务器(续一)

2.工作模式切换 httpd支持三种模型,即perfork.worker.event模型. 三种模型的启动方法是不同的,perfork是默认的启动模型,通过httpd命令即可启动,可以通过rpm -ql |grep bin来看到有httpd.http.worker.http.event三个命令. 一般来说,apache的2.2版本之前并不支持event模型,在2.4以后才开始支持event模型. 2.1.修改配置文件 [[email protected] ~]# vi /etc/sysconfi

马哥LINUX高薪LINUX高薪就业入门教程-虚拟机篇幅-学习笔记-11

课程名称:马哥Linux高薪就业入门-安装学习VMware Workstation9-1 课程主要内容:虚拟机安装及OS系统配置说明 虚拟机硬件配置: CPU,Memory,I/O(disk,Ethercard) 虚拟机关键字: 1.disk image file(磁盘映像文件) 2.Sparse(稀疏格式) 3.CPU超线程 虚拟机使用技巧: 1.虚拟机磁盘建议放置空间大,分区编号越小性能越好,对于不常用的文件就放到最外层的: 2.CPU一级缓存最高,二级缓存价格次之,一级缓存容量翻倍基本价格