Centos zimbra无法启动:大小错误:无法从ldap确定已启用的服务
我在一台服务器上使用CentOS上的Zimbra。 然后,我使用rsync命令将所有数据移动到新服务器。 当我想使用“zmcontrol start”在新服务器上启动Zimbra时,它会抛出以下错误: 大小错误:无法从ldap确定已启用的服务。无法确定已启用的服务。 缓存已过期或不存在 我查看了zmcontrol文件的内部,在其中发现了以下函数:Centos zimbra无法启动:大小错误:无法从ldap确定已启用的服务,centos,ldap,zimbra,Centos,Ldap,Zimbra,我在一台服务器上使用CentOS上的Zimbra。 然后,我使用rsync命令将所有数据移动到新服务器。 当我想使用“zmcontrol start”在新服务器上启动Zimbra时,它会抛出以下错误: 大小错误:无法从ldap确定已启用的服务。无法确定已启用的服务。 缓存已过期或不存在 我查看了zmcontrol文件的内部,在其中发现了以下函数: sub getEnabledServices { my $ldap_master_url=getLocalConfig("ldap_maste
sub getEnabledServices {
my $ldap_master_url=getLocalConfig("ldap_master_url");
my $ldap_dn=getLocalConfig("zimbra_ldap_userdn");
my $ldap_pass=getLocalConfig("zimbra_ldap_password");
my %s = ();
$s{"zmconfigd"} = "zmconfigd";
my @ldap_masters=split(/ /, $ldap_master_url);
my $master_ref=\@ldap_masters;
my ($ldap, $result);
unless ($ldap = Net::LDAP->new( $master_ref, timeout =>30 )) {
warn "Connect: Unable to determine enabled services from ldap.\n";
return getCachedServices();
}
unless ($result = $ldap->bind($ldap_dn, password => $ldap_pass)) {
warn "Bind: Unable to determine enabled services from ldap.\n";
return getCachedServices();
}
$result = $ldap->search(base => "cn=servers,cn=zimbra", filter => "cn=$localHostName", attrs => ['zimbraServiceEnabled']);
if ($result->code) {
warn "Search error: Unable to determine enabled services from ldap.\n";
return getCachedServices();
}
my $size = $result->count;
if($size != 1) {
warn "Size error: Unable to determine enabled services from ldap.\n";
return getCachedServices();
}
my $entry = $result->entry(0);
foreach my $value ($entry->get_value('zimbraServiceEnabled')) {
$s{$value} = $value;
}
$result = $ldap->unbind;
if (scalar keys %s > 0) {
open (CACHE, ">$cache_file");
foreach my $service (keys %s) {
print CACHE "$service\n";
}
close(CACHE);
}
return \%s;
}
我真的不理解这段代码,除非它在大小不等于1时抛出错误。我的问题是它从哪里获得价值?这样我就可以查看正在工作的服务器并比较它们。问题是:zimbra更改了服务器的名称,但没有更改ldap服务上的cn。您需要在ldap中更改服务名称或返回旧名称服务器,然后尝试启动
/opt/zimbra/libexec/zmsetservername-n oldname&&zmcontrol restart
。