问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

debian8.2安装mysql+apache+postfix 应该怎么配置

发布网友 发布时间:2022-04-07 17:03

我来回答

1个回答

热心网友 时间:2022-04-07 18:33

 配置全过程如下:

  1. 为了让系统尽量使用最新的安装包,推荐在进行安装各软件前先apt-get update;apt-get upgrade一下。否则还有可能引起软件安装的兼容性问题,我遇到过几次在安装任何软件时均提示在安装过程中需先卸载e2fsprogs而安装失败的情形,最好只好强行删除该软件再进行下一步,由于该操作会同时删除系统中其它重要软件,应尽量避免。

  2. 卸载Debian自带的exim4及相关软件包。

  3. 安装postfix及相关软件:

apt-get install postfix postfix-doc libsasl2 sasl2-bin courier-imap courier-pop courier-authdaemon

  4. 开启saslauthd服务:

    默认地saslauthd是不开启的,在运行/etc/init.d/saslauthd start后没有任何反应,需要修改/etc/default/saslauthd文件如下:

START=yes
MECHANISMS="shadow"

    然后重新输入命令/etc/init.d/saslauthd start可以看到saslauthd服务开启的提示。

  5. 测试saslauthd服务:

    运行ps ax|grep saslauthd,结果中如包含/usr/sbin/saslauthd -a shadow行则说明saslauthd服务正在运行,否则需要检查配置并启动saslauthd服务。

    sasl2-bin自带了一个测试saslauthd服务的命令testsaslauthd,如果系统中有用户test,密码为testpass,则运行testsaslauthd -u test -p testpass,如回应:

0: OK "Success."

    则说明saslauthd服务工作正常。

  6. 配置smtp auth:

    修改/etc/postfix/main.cf文件如下:

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no

append_dot_mydomain = no

myhostname = vd.vlinux.net
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = $myorigin, localhost.localdomain, localhost
relayhost =
mynetworks = 127.0.0.0/8
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
home_mailbox = Maildir/
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions =
    permit_sasl_authenticated,
    reject_unknown_recipient_domain,
    reject_non_fqdn_recipient
    reject_non_fqdn_hostname,
    reject_non_fqdn_sender,
    reject_non_fqdn_recipient,
    reject_unauth_destination,
    reject_unauth_pipelining,
    reject_invalid_hostname,
    permit

    配置中的home_mailbox = Maildir/是指定postfix在进行邮件投递时使用与Qmail类似的Maildir方式,此方式每封邮件是一个独立的文件,比较易于管理,另外IMAP默认也是在用户目录的Maildir中访问邮箱的,所以我选择了此种方式。在选Maildir方式时,mailbox_command选项应该置空。

    其中vd.vlinux.net是本机的主机名,有两点比较重要:

    1)/etc/hosts文件必须有下面一行:

192.168.5.2   vd.vlinux.net  vd

    2)/etc/mailname文件的内容必须是该域的域名。

    创建/etc/postfix/sasl/smtpd.conf文件如下:

pwcheck_method: saslauthd
saslauthd_path: /var/run/saslauthd/mux
mech_list: PLAIN LOGIN

    很多资料都讲该文件应该在/usr/lib/sasl2目录下,我是经过许多次失败才忽然发现应该放在这里的,可能是Debian的不同吧。现在重启postfix:/etc/init.d/postfix restart,通过telnet 25端口检查smtp auth是否已经开始工作。

vd:~# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
220 vd.vlinux.net ESMTP Postfix (Debian/GNU)
ehlo localhost
250-vd.vlinux.net
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH LOGIN PLAIN
250 8BITMIME ]

    出现250-AUTH ……一行就说明smtp auth功能已经添加。

  7. 看起来一切都工作正常了,试一下发信:

vd:~# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
220 vd.vlinux.net ESMTP Postfix (Debian/GNU)
ehlo localhost
250-vd.vlinux.net
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH LOGIN PLAIN
250 8BITMIME
auth login
334 VXNlcm5hbWU6
dGVzdA== //用户名test的的Base64编码
334 UGFzc3dvcmQ6
dGVzdHBhc3M= //密码testpass的Base64编码
535 Error: authentication failed

    Base64编码可以perl或任何一种脚本语言获得:

    perl:

perl -MMIME::Base64 -e 'print encode_base64("user")'

    PHP:

php -r 'echo base64_encode("user")."\n";'

    OPENSSL:

echo -n "user" | openssl base64 -a

    提示认证失败,查看/var/log/mail.log文件发现有以下信息:

Feb 26 23:39:47 vd postfix/smtpd[2323]: connect from localhost.localdomain[127.0.0.1]
Feb 26 23:39:57 vd postfix/smtpd[2323]: warning: SASL authentication failure: cannot connect to saslauthd server: No such file or directory
Feb 26 23:39:57 vd postfix/smtpd[2323]: warning: localhost.localdomain[127.0.0.1]: SASL login authentication failed

    事实上,根据smtpd.conf文件/var/run/saslauthd/mux文件是存在的,留作疑问。

    经试验,修改/etc/postfix/master.cf中smtp服务行如下,以取消chroot方式运行:

smtp   inet n    -    n    -    -    smtpd

    重启postfix,重复以上步骤,发现认证仍然失败,但日志中信息提示:

Feb 26 23:47:23 vd postfix/smtpd[2405]: warning: SASL authentication failure: cannot connect to saslauthd server: Permission denied

    修改/var/run/saslauthd目录的权限使postfix用户可以访问,再试试验,发现认证已可通过。但是当saslauthd服务器重启时出现如下提示:

Starting SASL Authentication Daemon: ‘/var/run/saslauthd’ 的权限模式已更改为 0710 (rwx--x---)

    此时smtp认证又失败了,原因是saslauthd服务在启动时要先执行dpkg-statoverride命令将一些指定目录的权限进行恢复,可能是为了某种安全目的,有两种方法可以解决此问题,个人推荐第2种方法:

    1)将文件/var/lib/dpkg/statoverride中“root sasl 710 /var/run/saslauthd”一行删除,或执行dpkg-statoverride --remove /var/run/saslauthd完成相同的操作。

    2)将postfix用户加入sasl组。

  至此,配置工作完全结束了,有些系统上用户目录的Maildir目录要用特定的命令手工创建,Debian下在收到第一封邮件时就会自动创建了。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
炒股怎么买进卖出? 办一个餐饮的营业执照要多少钱 上海贷款平台有哪些 上海有什么网贷 Intel 赛扬D325 2.53G与多大频率的内存匹配 Intel 赛扬D 352(散)重要参数 CPU Intel 赛扬D 326 这个东西怎么看的? Intel 赛扬D 326(散)重要参数 Intel 赛扬D 325(盒)重要参数 Intel 赛扬D 325(盒)Intel 赛扬D 325(盒)详细参数 让孩子自主去读书,有哪些方法? 黑色工装裤搭配什么鞋子 哪里有提取网页视频的声音变成MP3的软件下载拜托各位大神 请问王者荣耀那个你打的好又怎么样全英雄全皮肤又如何 这句话怎么说来着 oppoa32和oppoa5G手机壳一样吗 男人的嘴 骗人的鬼 是王者又怎样 是国服又怎样 黄9v8又怎样 白富美又怎样 长什么意思? 王者荣耀:张大仙是最强王者又如何 最强王者又如何?国服第一又如何还不是个数据?段位再高也是个假的。几百个皮肤更是浮云。游戏终归是游戏 王者荣耀狄仁杰:阿轲,最强王者又如何 游戏终究是游戏下一句 移动空调噪音多大?比窗式空调噪音呢? 复方甲硝唑泡腾片流出的液体刚开始几天是白天的,后面几天居然有点发黄 上完甲硝唑泡腾片后为什么会有褐色东西流出 得了霉菌性*炎,大夫开了甲硝唑*泡腾片,第一天晚上塞了很疼。第一次用这个药请问这种情况正常吗? 阴道瘙痒用了甲硝唑泡腾片后会有东西排出来出正常吗 使用甲硝唑阴道泡腾片后流出褐色液体 为什么我用了甲硝唑泡腾片洗后第四天上厕所有乳白色的东西从*流出 是没塞好吗,用了甲硝锉阴道泡腾片第二天流了很多白色 甲硝唑泡腾片痒灼热感有粉色东西怎么办怎么回事 滴虫性阴道炎出血时可以上甲硝唑泡腾片吗? 黑色工装裤子配什么颜色鞋子 连女朋友都没有,最强王者又如何 教会孩子自主阅读,有哪些比较好的方式? 工装裤黑色配什么鞋子 请教高手 如何将在网页上播放的音频下载下来 心爱的人都留不住。最强王者又怎样。转化成古文。 孩子能自主阅读之后,就可以完全放手了吗? 最强王者又如何?国服第一又如何还不是个数据 教会孩子自主阅读,有什么比较好的方法? 黑色工装裤配什么鞋子好看? 王者荣耀怎么设置原地普攻 怎么把网页视频声音下载下来 黑色工装裤配什么上衣和鞋子? 星耀王者又如何喊不是虚拟? 怎样让一年级孩子养成自主阅读的习惯?有什么好的办法? 黑色工装裤搭配鞋子 如何培养孩子养成自主阅读的能力 华为mate9发热怎么解决 这些小措施都可以用 教会宝宝自主阅读,有什么比较好的方法呢? 连自己心爱的人都留不住,最强王者又怎样 妈