I'm doing basically the same thing. I'm trying to begin by cloning my system
and giving it a new name.
Production server: prodserver.example.com 192.168.215.186 RHEL 4.6x86_64 Zimbra zcs-NETWORK-4.5.9_GA_1454
Test server: testserver.example.com 192.168.102.112 RHEL 4.6x86_64 zcs-NETWORK-4.5.9_GA_1454
1. Install RH on new server.
2. Install Zimbra 'install.sh -s'
3. Remove /opt/zimbra/*
4. Restore a backup of prodserver:/opt/zimbra to testserver.
5. Create a snapshot for repeated testing:
Code:
#!/bin/bash
# quick script to revert zimbra to fresh snapshot
mkdir -p /opt/zimbra-static
umount /opt/zimbra/backup
umount /opt/zimbra
umount /opt/zimbra-static
lvremove -f /dev/VG0/SnapZimbra
mount /dev/VG0/LVZimbra /opt/zimbra-static
lvcreate -L2G -s -n SnapZimbra /dev/VG0/LVZimbra
mount /dev/VG0/SnapZimbra /opt/zimbra
mount /dev/VG0/LVZimbra /opt/zimbra-static
mount /dev/VG0/LVZimbraBak /opt/zimbra/backup
6. Make sure testing on testserver can not affect prodserver
Code:
[root@prodserver log]# iptables -I INPUT -s 192.168.102.112 -j REJECT
7. The `hostname` command on testserver returns testserver.example.com. I didn't do any DNS magic, but I did:
Code:
echo "192.168.102.112 testserver.example.com testserver" >> /etc/hosts
echo "192.168.102.112 prodserver.example.com prodserver" >> /etc/hosts
8. As user zimbra:
Code:
/opt/zimbra/libexec/zmsetservername testserver.example.com
Watched it scroll by as it manipulated all the accounts. This started up and left a slapd running with a reference to prodserver:
Code:
zimbra 28016 1 0 15:41 ? 00:00:00 /opt/zimbra/openldap/libexec/slapd -l LOCAL0 -4 -u zimbra -h ldap://prodserver.example.com:389 -f /opt/zimbra/conf/slapd.conf
So I did a zmcontrol stop.
9. Fix all the config files that still have the prodserver hostname in them:
Code:
[root@testserver conf]# for f in `grep -l prodserver /opt/zimbra/conf/*`; do \
echo "fixing $f"; \
perl -pi.bak -e 's/prodserver/testserver/g'; \
done
10. zmcontrol start
11. Try to run zmprov and get error
Code:
[zimbra@testserver ~]$ zmprov help
[] INFO: I/O exception (java.net.ConnectException) caught when processing request: Connection refused
[] INFO: Retrying request
[] INFO: I/O exception (java.net.ConnectException) caught when processing request: Connection refused
[] INFO: Retrying request
[] INFO: I/O exception (java.net.ConnectException) caught when processing request: Connection refused
[] INFO: Retrying request
ERROR: zclient.IO_ERROR (invoke Connection refused, server: localhost) (cause: java.net.ConnectException Connection refused)
So I dug a little and found and tomcat is not running.
Code:
[zimbra@testserver ~]$ zmcontrol status
Host testserver.example.com
antispam Running
antivirus Running
ldap Running
logger Stopped
zmlogswatchctl is not running
mailbox Stopped
tomcat is not running
mta Running
snmp Stopped
swatch is not running
spell Running
stats Stopped In /opt/zimbra/apache-tomcat-5.5.15/logs/catalina.out I find the following
Code:
Apr 2, 2008 5:08:26 PM org.apache.coyote.http11.Http11BaseProtocol init
INFO: Initializing Coyote HTTP/1.1 on http-80
Apr 2, 2008 5:08:27 PM org.apache.coyote.http11.Http11BaseProtocol init
INFO: Initializing Coyote HTTP/1.1 on http-443
Apr 2, 2008 5:08:27 PM org.apache.coyote.http11.Http11BaseProtocol init
INFO: Initializing Coyote HTTP/1.1 on http-7071
Apr 2, 2008 5:08:27 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1799 ms
Apr 2, 2008 5:08:27 PM org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
Apr 2, 2008 5:08:27 PM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/5.5.15
Apr 2, 2008 5:08:27 PM org.apache.catalina.core.StandardHost start
INFO: XML validation disabled
log4j:WARN No appenders could be found for logger (org.apache.catalina.startup.TldConfig).
log4j:WARN Please initialize the log4j system properly.
Apr 2, 2008 5:08:29 PM org.apache.catalina.core.StandardContext resourcesStart
SEVERE: Error starting static Resources
java.lang.IllegalArgumentException: Document base /opt/zimbra/apache-tomcat-5.5.15/server/webapps/manager does not exist or is not a readable directory
at org.apache.naming.resources.FileDirContext.setDocBase(FileDirContext.java:140)
at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:3812)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:3983)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:603)
at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:535)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:470)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1118)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:310)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1020)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1012)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
at org.apache.catalina.core.StandardService.start(StandardService.java:450)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
at org.apache.catalina.startup.Catalina.start(Catalina.java:551)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:275)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:406)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.zimbra.cs.launcher.TomcatLauncher.start(TomcatLauncher.java:42)
at com.zimbra.cs.launcher.TomcatLauncher.main(TomcatLauncher.java:64)
Apr 2, 2008 5:08:29 PM org.apache.catalina.core.StandardContext start
SEVERE: Error in resourceStart()
Apr 2, 2008 5:08:29 PM org.apache.catalina.core.StandardContext start
SEVERE: Error getConfigured
Apr 2, 2008 5:08:29 PM org.apache.catalina.core.StandardContext start
SEVERE: Context [/manager] startup failed due to previous errors
Apr 2, 2008 5:08:29 PM org.apache.catalina.core.StandardContext stop
INFO: Container org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager] has not been started
Apr 2, 2008 5:08:29 PM org.apache.catalina.startup.HostConfig deployDescriptor
WARNING: A docBase /opt/zimbra/apache-tomcat-5.5.15/webapps/zimbra inside the host appBase has been specified, and will be ignored
log4j:WARN No appenders could be found for logger (org.apache.catalina.session.ManagerBase).
log4j:WARN Please initialize the log4j system properly.
Apr 2, 2008 5:08:29 PM org.apache.catalina.core.StandardContext resourcesStart
SEVERE: Error starting static Resources
java.lang.IllegalArgumentException: Document base /opt/zimbra/apache-tomcat-5.5.15/server/webapps/host-manager does not exist or is not a readable directory
at org.apache.naming.resources.FileDirContext.setDocBase(FileDirContext.java:140)
at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:3812)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:3983)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:603)
at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:535)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:470)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1118)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:310)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1020)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1012)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
at org.apache.catalina.core.StandardService.start(StandardService.java:450)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
at org.apache.catalina.startup.Catalina.start(Catalina.java:551)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:275)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:406)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.zimbra.cs.launcher.TomcatLauncher.start(TomcatLauncher.java:42)
at com.zimbra.cs.launcher.TomcatLauncher.main(TomcatLauncher.java:64)
Apr 2, 2008 5:08:29 PM org.apache.catalina.core.StandardContext start
SEVERE: Error in resourceStart()
Apr 2, 2008 5:08:29 PM org.apache.catalina.core.StandardContext start
SEVERE: Error getConfigured
Apr 2, 2008 5:08:29 PM org.apache.catalina.core.StandardContext start
SEVERE: Context [/host-manager] startup failed due to previous errors
Apr 2, 2008 5:08:29 PM org.apache.catalina.core.StandardContext stop
INFO: Container org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager] has not been started
log4j:WARN No appenders could be found for logger (org.apache.catalina.session.ManagerBase).
log4j:WARN Please initialize the log4j system properly.
Zimbra server reserving server socket port=110 bindaddr=null ssl=false
Zimbra server reserving server socket port=995 bindaddr=null ssl=true
Zimbra server reserving server socket port=143 bindaddr=null ssl=false
Zimbra server reserving server socket port=993 bindaddr=null ssl=true
Zimbra server process is running as root, changing to user=zimbra uid=500 gid=500
Zimbra server process, after change, is running with uid=500 euid=500 gid=500 egid=500 Well, /opt/zimbra/apache-tomcat-5.5.15/server/webapps is empty on prodserver and testserver. Red herring?
I found this post Tomcat error messages and I did
Code:
[root@testserver logs]# /opt/zimbra/libexec/zmfixperms
and it made no perceptable change.
Any ideas how to make tomcat happy?