Linux系统,Centos7版本下搭建postfix服务器及其相关配置应用

文章目录

[隐藏]

  • 实验报告
  • 实验步骤
    • 第一步
    • 第二步
    • 第三步
    • 第四步
    • 第五步
    • 第六步
    • 第七步
实验报告

一、 实验名称:邮件服务器的搭建和相关使用功能的配置

二、 实验环境与要求:Linux系统 centos7版本

搭建邮件服务器实现发信收信基本功能
实现发信认证功能
搭建好LAMP环境,配置squirrelmail收发邮件

三、 实验内容:

1、 检查版信息,postfix安装情况与支持的功能,启动运行;
2、 搭建与之相关的DNS服务器,配置DNS解析功能;
3、 配置postfix基本发信功能,进行测试;
4、 安装dovecot提供收信服务,进行测试;
5、 客户端利用邮箱软件配置测试服务器功能;
6、 进行发信认证配置;
7、 搭建LAMP环境,配置squirrelmail收发邮件

实验步骤

第一步

cat /etc/redhat-release //检查版本信息  

※安装postfix(版本自带) centos7版本即使用最小化安装仍自带此功能

postconf -a // 验证是否支持cyrus dovecot功能  

启动服务器systemctl start postfix

netstat -anpt | grep 25 //查看监听端口号  

第二步

※搭建与之相关的DNS服务器,配置DNS解析功能

yum install bind //安装服务器程序  
vi /etc/named.conf //编辑主配置文件  

※以下进行区域文件配置:

cd /var/named/ 进入文件目录下  

复制配置文件的模板进行修改:

cp -p named.localhost yyf.com.zone  cp -p named.localhost yyf.com.local  
vi /var/named/yyf.com.zone 编辑正向区文件  

如图:

vi /var/named/yyf.com.local 编辑反向区文件  

如图:

以上基本配置编辑完成

systemctl start named //启动服务器  netstat -anpu | grep name //检测到UDP 53端口在监听 服务器正常工作。  

进行DNS验证

vi /etc/resolv.conf  nameserver 192.168.80.18 //指向DNS服务器地址    rpm -ivh /mnt/Packages/bind-utils-9.9.4-50.el7.x86_64.rpm //安装检测命令nslookup  

解析如图:

~nslookup mail.yyf.com //正向解析  

~nslookup 192.168.80.18 //反向解析  

解析成功!

第三步

—–配置postfix基本发信功能

vi /etc/postfix/main.cf 编辑配置文件 修改项如下:

myhostname = mail.aa.com //本机系统主机名  mydomain = aa.com //主机域名  myorigin = $mydomain //根源、起点  inet_interfaces = 192.168.80.18, 127.0.0.1 //接口地址  inet_protocols = ipv4  mydestination = $myhostname, $mydomain //预定、指定范围  home_mailbox = Maildir/ //信箱家目录  

完成后保存退出,用postfix check命令检查是否存在语法错误:

service postfix restart //重启邮件服务器  

※要测试发信功能是否生效,我们需要添加用户并加入同一组管理:
—–增加邮件测试账号

groupadd mailusers //增加组账号  useradd -g mailusers -s /sbin/nologin jack //建用户jack 加入mailusers组且不可登陆系统  passwd jack(密码随便设置123)  useradd -g mailusers -s /sbin/nologin tom //建用户tom 加入mailusers组且不可登陆系统  passwd tom(密码随便设置123)  

测试准备:安装yum install telnet
开始测试:连接服务器的25端口进行简单发信测试
telnet mail.yyf.com 25

依次输入以下内容:

如图:

由于目前未安装收件服务,所以只能通过root超级管理员来查看邮件是否发送成功

使用root查看tom用户是否收到测试邮件:

ls -l /home/tom/Maildir/new/ 在此目录下应该会有刚才发的邮件  

可用cat命令查看内容

邮件发送功能测试成功!

第四步

※安装dovecot提供收信服务

yum install dovecot //安装系统程序  
vi /etc/dovecot/dovecot.conf //配置程序文件  

※修改项如下:

protocols = imap pop3 lmtp  listen = //监听 所有端口  !include conf.d/10-auth.conf //此处* 必须替换  

※手动增加以下内容:

ssl = no  disable_plaintext_auth = no  mail_location = maildir:~/Maildir  

※以上基本配置完成

service dovecot start //启动服务  netstat -anpt | grep dovecot // 110 143端口需要监听  

如图:

服务启动成功,正常工作

※现在可以用户进行测试收信了(以前是用root,现在可以用账户)
测试开始:telnet mail.yyf.com 110

如图:

我们来读取第一份邮件看看

显示如图:

用quit 可以退出
测试结构说明收件系统工作正常

鉴于目前的收信发信方式太不友好,安装MUA软件连接服务器收发邮件

※客户端装测设软件:

用此软件进行测试,看服务器是否正常工作
基本设置如图所示:

登陆后收件:

邮件接受正常
服务器工作正常

第五步

以下进行发信认证配置

yum install cyrus-sasl* 安装相关软件包  

vi /etc/sasl2/smtpd.conf 开始编辑配置文件,内容如下:

pwcheck_method: saslauthd  mech_list: plain login  log_level:3 //设置日志级别为3  
vi /etc/sysconfig/saslauthd //编辑认证系统配置文件  MECH=shadow    service saslauthd start //开启认证功能服务器  
vi /etc/postfix/main.cf //编辑配置文件  在末尾新增  smtpd_sasl_auth_enable = yes //开启认证  smtpd_sasl_security_options = noanonymous //不允许匿名发信  mynetworks = 127.0.0.0/8 //允许的网段,如果增加本机所在网段就会出现允许 不验证也能向外域发信  smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination //允许本地域以及认证成功的发信,拒绝认证失败的发信    postfix check //检查语法  service postfix restart //重启服务器  

※测试普通发信

telnet mail.yyf.com 25  

如图:

向未认证区域发件失败说明认证系统是生效的
quit 退出

※下面用系统账户进行发信测试

将用户名与密码生成密文加密:

printf "jack" | openssl base64 //生成密文  amFjaw== (密文)  printf "123" | openssl base64 //生成密文  MTIz (密文)  

※开始用字符终端测试认证发信:

telnet mail.aa.com 25  

如图:

若在真机用邮箱软件测试,只需做如下操作:

将高级设置中的选项勾选即可验证

第六步

—-以下是配置squirrelmail收发邮件内容
需要搭建好LAMP环境

--------安装LAMP---------  yum install -y   httpd   mariadb-server mariadb   php   php-mysql   php-gd   libjpeg*   php-ldap   php-odbc   php-pear   php-xml   php-xmlrpc   

php-mhash 注: 安装相关软件包,其中表示强制换行操作

vi /etc/httpd/conf/httpd.conf //编辑配置文件  

需要修改的内容:

ServerName www.aa.com ///服务器名称  DirectoryIndex index.html index.php ///支持静态与动态网页  
vi /etc/php.ini //编辑此配置文件  date.timezone = PRC //设置时区  

提醒:系统中的防火墙与安全Linux要确认关闭,否则影响实验

systemctl stop firewalld.service  setenforce 0    systemctl start httpd.service 网页系统启动  systemctl start mariadb.service 数据库系统启动    netstat -anpt | grep 80  netstat -anpt | grep 3306 //端口在监听,说明服务器启动正常  

※mysql_secure_installation 进行安全校验,也可不设置

接下来

vi /var/www/html/index.php 编辑数据库文件  

在里面写入脚本如下:

<?php  phpinfo();  ?>  

用真机浏览器测试:

http://192.168.80.18 将出现如下页面,说明设置成功

※进入数据库,建立授权账号

mysql -u root -p  

进数据库时设置一下密码:123456

CREATE DATABASE bcd; //建立数据库名字bcd  GRANT all ON bcd.* TO 'mail'@'%' IDENTIFIED BY '123456';  flush privileges; //刷新一下权限  

下面测试数据库工作是否正常

vi /var/www/html/index.php //编辑配置文件,该文件为数据库工作目录  

删除以前内容,写入如下内容:

<?php  $link=mysql_connect('192.168.80.18','mail','123456'); //说明地址与密码  if($link) echo "<h4>Success!!</h4>"; //如果连接成功则会显示Success!!  else echo "Fail!!"; //如果连接失败则显示Fail!!  mysql_close();  ?>  

保存退出

测试:

连接成功!

到下面网址下载小松鼠包与汉化语言包

http://www.squirrelmail.org/download.php

1、squirrelmail-webmail-1.4.22.tar.gz
2、all_locales-1.4.18-20090526.tar.gz

将安装包上传到Linux系统中进行解压

tar xzvf squirrelmail-webmail-1.4.22.tar.gz  tar xzvf all_locales-1.4.18-20090526.tar.gz -C squirrelmail-webmail-1.4.22 //-C表示将语言包解压到后续包中    cp -rv squirrelmail-webmail-1.4.22 /var/www/html/mail //将解压完成的包拷贝到/var/www/html/mail(网页工作目录)    cd /var/www/html/mail // cd到php工作目录下  mkdir attach //建立附件文件目录  chown -R apache:apache attach/ data/ //修改权限    cd config //到squirrelmail配置文件下  cp config_default.php config.php // 拷贝模板  
vi config.php //开始编辑    修改内容如下:    $domain = 'aa.com'; //域名  $imap_server_type = 'dovecot'; //imap服务类型为dovecot  $data_dir = '/var/www/html/mail/data'; //原件存放地址  $attachment_dir = '/var/www/html/mail/attach/'; //附件存放地址  $squirrelmail_default_language = 'zh_CN'; //网页显示语言为中文  $default_charset = 'zh_CN.UTF-8'; //中文字符编码  

用真机浏览器登陆测试:

http://192.168.80.181/mail

出现登录界面,如图:

输入账户登陆:
显示如下:

成功进入并且可正常操作使用,服务器工作正常。

第七步

※以下设置邮件组

vi /etc/aliases 编辑配置文件  

增加组名:student:jack,tom

newaliases //生成hash数据库文件  systemctl restart postfix //重启邮件服务器br/>测试向[email protected]发信的时候jack,tom都会收到。  

测试如下:

※用tom向组邮箱发送组邮件

检查收件情况:

测试结果符合要求

※以下设置邮件大小

vi /etc/postfix/main.cf //编辑配置文件    手动写入:    message_size_limit = 5120000 //单位是Byte  

保存后退出!

systemctl restart postfix //重启邮件服务器  

通过增加大附件测试效果

※以下通过配置用户磁盘配额实现限制用户邮箱空间
邮件存放目录在home下,挂载于/dev/sda5盘上

[root@yyf ~]# umount /home  [root@yyf ~]# mount -o usrquota,grpquota /dev/sda5  [root@yyf ~]# vi /etc/fstab  

最后一行加上:

开启磁盘配额:

edquota -u jack  

配额硬性为20M 如图:

用户系统中检测磁盘配额是否生效:

超出配额,已生效。
用客户端软件测试:

发送大小为6.6M的邮件,已成功发送两个(已取消单个邮件不得大于5M的配置)

第三份发送失败

查看目录剩余空间,限额20M的情况下,已不足6.6M的空间,故第三份发送必然失败

所以对jack用户做的磁盘配额生效。

原文出处:51cto -> http://blog.51cto.com/13490688/2061070

本站所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如果侵犯你的利益,请发送邮箱到 [email protected],我们会很快的为您处理。
超哥软件库 » Linux系统,Centos7版本下搭建postfix服务器及其相关配置应用