安装Zimbra,不能使用当前主机文件

我试图在Linux服务器上安装zimbra。 我下载了Ubuntu 12.04 LTS版本的zimbra,解压后试图运行install.sh。 但是,在我批准许可证后,我得到了这个问题。

错误:安装无法进行。 请修复您的/ etc / hosts文件以包含:

127.0.0.1 localhost.localdomain localhost

Zimbra安装只授予本地主机和MySQL权限
localhost.localdomain用户。 但是Fedora / RH在/ etc / hosts中安装如下这些离线:

127.0.0.1 myhost.mydomain.com myhost localhost.localdomain localhost

这会导致MySQL拒绝来自myhost.mydomain.com用户的来自127.0.0.1的用户。 你可以阅读更多的细节:

http://bugs.mysql.com/bug.php?id=11822

hosts文件现在看起来像这样。

127.0.1.1 localhost.localdomain localhost 127.0.1.1 linux-server-test localhost 127.0.1.1 mail.mydomain.com mail # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters 

我改变它

 127.0.0.1 localhost.localdomain localhost 127.0.0.1 linux-server-test localhost 127.0.0.1 mail.mydomain.com mail # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters 

然后我再次运行脚本,这次我得到这个问题。

错误:安装无法继续。 请修复您的/ etc / hosts文件以包含:

ip FQHN HN

主机的IP地址在哪里,是完全合格的主机名,是(可选)主机名部分

我最后一次尝试,删除有关本地主机和Linux服务器testing的线路,但结果相同。 我已经configuration了DNS能够处理电子邮件,所以不应该是一个问题。

 dig mydomain.com mx ; <<>> DiG 9.9.2-P1 <<>> mydomain.com mx ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15967 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;mydomain.com. IN MX ;; ANSWER SECTION: mydomain.com. 600 IN MX 30 mail.mydomain.com. ;; Query time: 17 msec ;; SERVER: 127.0.1.1#53(127.0.1.1) ;; WHEN: Mon Aug 12 16:08:17 2013 ;; MSG SIZE rcvd: 66 

所以我做错了什么? (我将这篇文章中的所有域名条目replace为mydomain.com,而不是我真实的域名)

使用专用线来定义您的FQDN。

 192.168.10.9 mail.mydomain.com mail 

从127.0.0.1行中删除它。

在你所有的例子中,你显示的IP地址是127.xxx。你需要使用一个真实的IP地址。 以下是我的主机文件的样子:

[root@zimbra ~]# cat /etc/hosts
1.2.3.4 zimbra.mydomain.com zimbra
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

在Ubuntu 14.04上安装时,我也遇到过这个问题。 他们的检测脚本中有一个错误。 该脚本只拉第一行,其中包含:

 localhost 

要么

 localhost.localdomain 

在任何位置,如ipv6-localhost。 所有其他行都被忽略。 Ubuntu将IPv6回送作为第一行,所以即使你有build议的行:

 127.0.0.1 localhost.localdomain localhost 

脚本永远不会检测到你已经纠正了这个问题。

解决scheme:确保在任何IPv6configuration下指定127.0.0.1行,脚本将成功。

在/ etc / hosts中定义服务器

 138.68.159.74 mail.domain.com mail 127.0.0.1 localhost 

确保主机名被设置为邮件或其他

 hostname mail 

如果你在某个NAT路由器后面的专用范围内构build你的Zimbra服务器,那么在该服务器上安装DNSMASQ这样的工具可能会很方便。 这样,你的主机名和DNSparsing器总是在该服务器上同步,Zimbra应该高兴无论NAT,代理,VPN或其他真正的连接到互联网。

  1. 用你喜欢的包工具安装dnsmasq包。
  2. 编辑您的/ etc / hosts文件以包含您的邮件服务器和IP地址:

    127.0.0.1 localhost

    mail.mydomain.com邮件为192.168.xx

  3. 编辑你的/etc/resolv.conf来使用本地的dnsmasq服务器(如果需要的话)

    域名服务器127.0.0.1

    nameserver 8.8.8.8#或者公司的DNS服务器

    searchmydomain.com

  4. configuration你的dnsmasqconfiguration:/etc/dnsmasq.conf最小build议:

    域的需要

    假-私法

    本地= / mydomain.com /

    扩展的主机

    域= mydomain.com

    MX-主机= mydomain.com,mail.mydomain.com,50

  5. 重新启动dnsmasq。

安装Zimbra时的一句话: 不要安装zimbra-dnscache,因为你正在运行你自己的版本。

重新configuration/ etc / hosts文件后重新启动服务器。 Ubuntu必须重新加载更改