最近帮人在乌班图16.04.4版本的服务器上(代号:好客的干毛地松鼠)搭建了邮件系统。搜索一下,没有在乌班图16.04.4版本上使用postfix3+dovecot2+mysql5.7搭建的中文教程。这样我不妨将这过程写下来,尤其本人在搭建过程遇到俩个由于版本升级导致的配置“坑”,需要查阅外文资料才能解决。有了此篇,大家以后遇到类似问题就不用查阅英文文档了。本文档分上下两部分,本文为上半部分,介绍软件基本安装以及postfix和dovecot配置,下半部分预料在月底写好,主要是反病毒软件和网页访问的配置。


本文介绍的是ubuntu 16.04.4长期支持版做的基础服务器,搭载postfix3.1.0处理邮件服务,用mysql5.7邮件存储数据库,加上dovecot2.2.22分发邮件,阿帕奇和松鼠邮箱支持的网页服务,构成基本邮件系统的组建和配置步骤。

1.安装前准备工作:

在防火墙或路由器、域名服务器上将以下端口做好相关映射,将有关服务转发到邮件服务器上。此篇文档着重讲述邮件服务器上的配置,就不累述了此步骤的工作。

  • 25 (SMTP)
  • 80 (HTTP)
  • 110 (POP3)
  • 143 (IMAP)
  • 443 (HTTPS)
  • 465 (SMTPS)
  • 993 (IMAPS)
  • 995 (POP3S)

2. 安装ubuntu16.04.4服务器:

Ubuntu Xerus Server

 

安装乌班图时,个人建议配置网络时,选择手动:
configure_network
 
这样可以手动指定邮件服务器的IP地址方便日后配置。
 

本事例中,主机名采用了mailbox,dns选择了拥有的公有IP域名(为论述方便,下文使用mytest.com,大家具体设置的时候,根据自己需要来替换),这样主机的完全及格域名就是mailbox@mytest.com了。然后需要在域名服务器上添加A记录指向公网ip,还有MX记录指向mailbox的完全及格域名。

defineIP

另外本文没有在系统初始化aptitude安装界面中,选择直接安装邮件服务器。因为ubuntu会自动选择安装PostgreSQL来存储邮件,选择安装基本服务standard system utilities ,有更多选择权,比如说用mysql构建邮件储存,还有安装openssh server方便管理员使用ssh远程连接管理。

安装完毕后进入字符界面,使用ssh连接。更新所有软件后正式开始搭建邮件服务器。

 

3.搭建邮件服务器

3.1安装必须软件

先安装阿帕奇网页服务器,安装postfix时候,会让你选择网页服务器的,所以应装网页服务器在前:

$ sudo apt-get install apache2

然后正式安装邮件服务器必备软件:

输入以下命令:

$ sudo apt-get install postfix-mysql mysql-server dovecot-pop3d dovecot-imapd dovecot-mysql amavisd-new libclass-dbi-mysql-perl

简单介绍各组建,postfix是邮件服务器主要部件,可以理解成邮局,mysql是管理邮件的数据库,dovecot鸽舍的作用看做是邮递员,负责将邮件分发到各信箱,pop/imap是电子邮箱协议版本, amavis是邮件反病毒审查器,负责扫描非法邮件。

值得注意的是需要安装 dovecot-mysql软件模块,本人学习linux ubuntu的时候使用的是10.04版本,当时架设邮件服务器的时候是不需要安装此模块的,安装dovecot的时候已经配置好自动支持mysql,但这次在16.04乌班图版本上实际操作的时候,发现自从ubuntu12.04起,就必须安装此模块,否则测试的时候,mail.log日志会提示以下类似的鉴权错误(这是本次配置过程中遇到的第一个坑):

status=deferred (temporary failure)
dovecot: auth: Fatal: Unknown database driver ‘mysql’
mailbox dovecot: master: Error: service(auth): command startup failed, throttling
 

在安装postfix时候,要求输入完全合格域名,以及在postfix 通用邮件配置中,应该选择“Internet site” 因特网场景:

 

接着安输入命令安装反垃圾邮件和病毒过滤程序:

$ sudo apt-get install spamassassin clamav-daemon razor pyzor cpio arj zoo nomarch lzop cabextract pax lhasa unrar zip unzip rar

安装邮件系统网页访问程序松鼠邮:

$ sudo apt-get install squirrelmail squirrelmail-locales php7.0-imap

安装访问管理数据库的phpadmin以及邮件测试小工具:

$ sudo apt-get install phpmyadmin telnet mutt bsd-mailx

自止,所有必要软件安装完毕,下面进入配置。

3.2 配置:

继续阅读

前阵子,朋友 Thinkpad E550 自带的win10操作系统,通过360更新补丁 KB4074590 后,每当进入系统,立即弹出消息框:“你的电脑将在1分钟后自动重启”,并提示:“

你的电脑将在一分钟后自动重启

windows 遇到问题并且需要重新启动。你应立刻关闭此消息并保存你的工作。”

若忽视此消息框,一分钟后会自动重启,一旦关闭此消息框,则立即重启,无限循环,卡死在这个界面中,根本不能进入系统正常工作。朋友当晚通过微信联

系我寻求帮助。我初步判断,是360修改过的补丁跟当前系统冲突导致,建议朋友进入安全模式进行修复。win10 可按着shift 键不放,然后点击重启;Thinkpad E550也可以在系统加载引导时,长按电源键强制关闭,重复几次然后进入安全模式

朋友在我引导下进入了安全模式,但由于害怕损坏硬盘上的工作数据,决定等到大家都有空的时候,让我直接操作。

于是便有了此篇文章——原本我是不打算将此小问题写出来的,一来小事一桩,二来是怕360的水军。可是后来发现,修复此问题耗费了将近3小时,还是有必要将解决问题的思路和过程记下来。

星期六去朋友家做客,一边看电影《水形物语》(顺带说一句,这电影名过其实,并不太好看),一边解决问题。KB4056890

开始敲定两个路线。方案一:拆硬盘下来,拿回到我家台式机上连接,导出硬盘数据,重装,这是最方便快捷的;方案二:利用安全模式进行修复。由于朋友急着要用笔记本,待不及我拿回家去导出数据,而在安全模式下又不能加载移动硬盘或USB等外接设备的驱动,即使进入到安全模式,数据也导出不到其他设备上,所以只有方案二可行。

既然进入了安全模式,而问题又是在朋友3月6日透过360新装的 KB4074590 补丁导致的,卸载此补丁应是合理的逻辑。于是我先尝试卸载此补丁。貌似能卸载,系统提示重新恢复操作系统,从1%到82% 这过程中反复需要重启,在70%到82%期间,进展变得非常缓慢,但这进度数字确实是增加的,这有进度的数字极具魅惑性,让人觉得事情有希望,然而事实上经过1个半多小时后,进度还一直徘徊79%至82%,我彻底失去继续等待的耐心。强制终止,重新回到安全模式。惊奇地发现在卸载更新列表中已经没有了KB4074590补丁,却多出了之前没有的KB4056890,这“鬼影”般的补丁是我卸载 KB4074590时安装上的!当时觉得很奇怪,这个KB4056890怎么像个幽灵一样?后来查阅微软文档才知道,KB4074590本来就是为了解决4056890的一些问题而存在,微软是为补丁再打补丁,估计是这个KB4074590包含了 KB4056890,卸载KB4074590不完整,遗留下KB4056890。估计两个补丁卸载中存在bug,所以一直卡死在这步骤。卸载了KB4074590,尝试正常启动系统,还是出现“一分钟重启”的消息框,看来通过卸载补丁这方法是行不通了。

于是,选择导致问题补丁前的还原点进行系统还原吧。不期,在系统还原中弹出消息,显示“系统还原未成功”,系统还原失败,发生未指定错误0x80070091。这是自从2017年2月份开始不断有用户报告,微软系统进行还原时老出现的一个bug了,推测是对windowsApps控制权限过紧导致的(因为这文件夹用来存储应用商店下载来的应用,微软可宝贝里面的授权应用了),还原前必须清空并重建此文件夹。

 

继续阅读

我家小孩到了认字的年纪,别人介绍了一本面向小朋友讲解汉字的书,青岛出版社出版,台湾儿童文学作家邱昭瑜写的《有故事的汉字》。我在某卖书网上搜索到,发现这本书相当火热。但我浏览了一下可供预读的部分内容,第一眼就让我发现了问题。作者在解释“皇”字来源时,出现了一个较明显的纰漏。

皇乃“王”者头上带着皇冠““,理解正确;但接下来说”王“字,来源自甲骨文,是像一个诸侯王端坐着,宽大的皇袍垂下来的形象,这就不对了。

作为一个历史爱好者,一看这解释就察觉不对头——使用甲骨文年代的人不是这样坐的。在正式场合上,诸侯大臣都是跽坐,而不是作者想当然地以为端坐椅子上。配图那样的坐法,至少要到唐代才开始流行。

所以“王”字绝非本书作者认为那样,画的像是一个王者穿着宽袍子端坐着。 在过去,“王”字被长期误认是会意字,三横意指“天”、“人”、“地”,能融会贯通者为王——这是东汉巨儒许慎 在其《说文解字》中的观点,但其实这种观点是根据“王”创字两千多年后的汉隶字形,而产生的主观看法,并不是“王”字的真正来源。

继续阅读

 

        在帮客户在“新”机子上装内部论坛服务器,需要用到mysql。据客户说,提供的机器是一台新机子,以前没人“碰”过。可是安装mysql时,直接就装上了,没有提示需要设置mysql 的 root密码。当时觉得奇怪。安装完毕后输入

mysql -u root

打算用root账户设一下密码,谁知道系统出现提示:

ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: NO)

向客户再确认一下,以前有没有当过服务器,装过mysql-server,得到否定答案,告诉我这是“新”机子。太奇怪了,于是打算卸载后重新安装一次。

sudo apt-get purge php5-mysql mysql-server

sudo apt-get install php5-mysql mysql-server

重新安装时,依然没有出现提示设置root密码。然后以root用户进入时,仍然遇到拒绝访问。

继续阅读

在虚拟机上的CentOS6.8上安装LEMP

 

I uninstalled the apache2 in my CentOS6.8 VMachine, then followed this guide to install LEMP.

But when I start the Nginx, it warning me this:

nginx: [emerg] socket() [::]:80 failed (97: Address family not supported by protocol)

It indicated my machine didn’t support IPV6.

So just configurated the Nginx setting in /etc/nginx/conf.d/default.conf

just annotate this line with ‘#’ :

 # listen [::]:80 default_server;

Then LEMP was installed successful.

先卸载以前安装的阿帕奇2服务器,然后根据这里的指引安装LEMP(还是写作LEMP好,因为设计者毛子都这样称呼,主要这个软件名称意思是“engine x”。(现在的官方额外包已经包含Nginx安装包,所以用yum就方便多了)

可是启动Nginx的时候,系统提示不支持IPV6协议,这问题好解决,在Nginx配置文件里注释掉监听来自ipv6协议的信号进程命令就行。

这样Nginx就启动起来拉。

阿帕奇2不能判断服务器可靠的完全合格域名,

最简单解决办法

 

After configurated the apache2 setting in my old ubuntu server(8.04), I restarted the apache2 by input this command:

当我在8.04版本的ubuntu老服务器上更改阿帕奇2的一些配置后,键入这命令重启服务:

$sudo /etc/init.d/apache2 restart

But was informed that apache2 didn’t ‘realize’ the server’s domain name:

不期,系统提示阿帕奇2 不认服务器的完全合格域名:

apache2: Could not reliably determine the server’s fully qualified domain name

I searched this problem in Bing. And there was someone talking about on this. But I don’t think that is a good way to solve  the problem.

用必应搜索解决办法,我在这里看到相关讨论,但认为里面的不够好。

The better way should be here. Thanks firstboy0513.

比较好的解决办法来自firstboy0513的这篇日志。感谢这位网友。

 

Now I provide my method, just one command:

现在说一下我最终的解决办法,只需一条命令:

$ echo “ServerName localhost” | sudo tee /etc/apache2/conf.d/fqdn

Then problem was solved:

问题就解决了。

$ sudo /etc/init.d/apache2 restart
* Restarting web server apache2 [ OK ]

 

Pure Technique website was blocked  🙁

I just want to download User manager for PureFTPd. Why this pure technique website was blocked?

我不过想下载 User manager for PureFTPd 来管理FTP服务器。为何这么一个单纯技术网站也被禁止访问

user_manager_for_PureFTPd in blocked

 

So I need to through the great wall to get it. 我只好穿过长城来获得它了。

Click the right link, it’s free for you to obtain this software.若果你有需要,也可以点击右边连接,我是从官网下载的。ftp_v2.1.tar

Extract tar.xz file

Dowload file with the tail was ***.tar.xz. 下载了一个tar.xz 结尾的压缩文件。

It just need  to xz file to tar format, that treat it as tar file. 其实只需要xz 成tar文件,再像tar一样处理便行。

command like: 命令类似:

$xz -d ***.tar.xz

$tar xvf ***.tar

 

ubuntu boot into initramfs mode

     我安装在虚拟机上的ubuntu开机进入了initramfs模式,有可能上一次退出系统的时候没有在完全关机下关闭了VMware, 所以系统认为没有正常启动,于是进入了initramfs模式。

    Once a time, when I turn on my ubuntu which installed in VMware, it ran into the initramfs mode. It’s probable caused that I closed the VMware without been waiting the machine shutdown completely, so it ran into initramfs mode.

    这时只需运行系统文件检查命令fsck,检查文件是否一致就可以了:

    It just need to run fsck to recover:

    fsck -y /dev/sdn

    然后exit退出便可。

    Then exit. Everything would return perfect.

Test win2k3 Software RAID0/1/5 in VMware

 

这是我的一篇旧文了,转过来,主要内容是在VMware上测试微软服务器2003的软件磁盘阵列功能,包括RAID-0 跨区卷、RAID-1 镜像,以及RAID-5 奇偶校验卷。

 

There is software RAID 0 / 1 / 5 functions in windows server 2003, I tested in my VM win2k03 ser. 

win8 and win 10 also support RAID 5 at the moment, you and follow this link to create RAID drive in win8or10

目前的win8、win10也支持RAID,但它们是将磁盘添加到“存储池”的概念来实现的,具体点击《使用win8的“存储池”功能》参考。

win2k3 vm settingSetup series of  harddisk(1+8 drivers) in VM machine. One driver are used for install OS, others are used to experiment. Two of them for RAID-1 mirror, Three drivers for RAID-5 distributed parity, remains were used for RAID-0 striping.

在VM虚拟机上设置1+8个磁盘。一个磁盘使用来装系统,两个用来做RAID-1镜像,三个用来做RAID-5奇偶检验,剩下三个做RAID-0跨区。

 

 

 

 

 

These drivers can’t be used at present.

继续阅读