Troubleshooting Enfold Server
This topic covers troubleshooting tips for the Enfold Server application and Enfold Server configuration utility on Windows (also called "Encontrol").
- If you are having trouble finishing the installation wizard, check the requirements checklist (which also contains step-by-step instructions for installing). See also the User & Server Security reference.
- If you are trying to troubleshoot user logins or website authentication problems, consult the Troubleshooting Checklist for Single Signon.
- If you are having problems initially configuring the service user or to file permissions, go to the User & Server Security reference.
- For general problems arising from normal use of Enfold Server, check the Enfold Server FAQ.
A large number of installation problems occur simply because you chose the incorrect service user or you equipped this user with the wrong permissions. See User & Server Security reference and the pre-installation checklist.
If the installation failed totally, postinstall.log (which is found in the C:\Program Files\Enfold Server\Client\etc
Installation problems for Enfold Server can occasionally arise if the machine already has a different version of Python installed. That could cause conflicts during the second stage of installation wizard. If this happens, send the file postinstall.log located in the Enfold Server directory and a support representative will provide a solution quickly.
When you install Enfold Server, a separate version of Python is installed. Installing Enfold Server makes this version the main Python configuration in your Windows registry. This sometimes causes issues. Some examples:
- a spare zlib.dll file on the Windows path is imported before the one in Python (causing a failure).
- IBM laptops add a Windows environment variable called PYTHONPATH and put Python 2.2 in the path above the Windows one, again breaking Python.
Some of these values are detailed in postinstall.log.
First, you should check the User & Server Security reference. Understanding how to configure the service user is not particularly easy, and this topic covers the subject thoroughly. Here are some gotchas:
- Are you unable to create a service user? (This can mean one of two things. One possibility is that you are not logged on as Administrator on the local machine. Another possibility is that the account of the installing user does not have the ability to create a new domain account. As an alternative, you can simply use an existing service user account here rather than asking the Enfold Server install wizard to create a new domain account).
- Does the Install Wizard not accept an existing verified domain user as the service user? (This might indicate that the install wizard is unable to access the domain itself).
- Have you verified in Encontrol that each Zope client and ZEO have a service user who is a member of the domain? (In most cases, the service users should be the same for all Zope clients and ZEO).
First, let's define what we mean by "start."
Normally, you use the Encontrol utility (Start --> Enfold Server --> Enfold Server Configuration Utility) to start the Server and Client. Beside the Server and Client listing, you will see a green arrow or red arrow to indicate the status of each component. (For more information, see the topic Starting and stopping Enfold Server).
- Occasionally, the Server will not start, or the Client(s) will not start (i.e., they will show a down red arrow). Sometimes, it will start and then stop a few seconds later. Here are some likely suspects:
- Is your Zope client set to start manually and you haven't restarted it? (Sometimes after a reboot if you have configured your Zope client not to start up automatically, it's easy to forget to start them manually).
- Have you verified that the license is installed correctly? (In Encontrol configuration utility, go to the left panel and choose License). If the license is not working, Enfold Server will start and stop after a few seconds.
- Have you verified that the ports of your Enfold Server client do not conflict with an existing service or with a different ES client? Other applications like Internet Information Services (IIS) or Skype may run on port 80 or port 8080; you need to make sure that an Enfold Server client has exclusive use over its management port (i.e., port 8080, 8081, etc). To verify the port numbers for your Enfold Client(s) and Server, open up the configuration tool, expand the Client section and choose the Ports in Use section. If you intend to run IIS on the same machine with Enfold Server (while running a proxy tool like Enfold Proxy), you should let IIS handle port 80 and not allow Enfold Server to handle/receive port 80 requests. That means you should disable the HTTP Port. (See also the section on configuring ports in Enfold Server or read the topic at http://www.enfoldsystems.com/software/server/docs/4.0/usingcontrol.html#checking-server-status-and-stopping-starting ).
- Have you installed a new Plone product or tool on Enfold Server recently? Sometimes incompatibilities in an added component will cause Enfold Server to choke. This kind of problem lies outside the scope of Enfold Server. The quickest way to verify that this is the problem is to remove the new component from the directory and restart (until you see that it starts normally). Note that Enfold Server comes with a variety of debugging tools. (See Plone debugging tools).
If the Enfold Server configuration utility shows that the Client is running correctly and you can access the ZMI through the management port (i.e., http://localhost:8080), that suggests the problem may lie with the configuration of your proxy or a component specific to Plone.
If you are using Enfold Proxy and IIS with Enfold Server, consult this exhaustive troubleshooting guide for Enfold Proxy at http://www.enfoldsystems.com/software/proxy/docs/4.0/checklist.html#enfold-proxy-configuration-problems.
In Server 2003, there is a known issue about running a scheduled task as a normal unprivileged user (which is what the service user essentially is). For more information, see http://support.microsoft.com/kb/867466/en-us (http://support.microsoft.com/kb/867466/en-us). Fortunately, Microsoft provides two resolution methods to work around this limitation. See Configuring Scheduled Tasks on Server 2003).
There are many ways to increase performance. Generally, the easiest way to do that is to use caching effectively with a proxy server like Enfold Proxy.
One other step that causes a slight improvement in performance is to remove internationalization code inside Plone. To do this, open the configuration utility and click Disable on the Translation option for each Zope client. You will need to restart your ZEO Clients for this to take effect.
Having more clients than is appropriate for your hardware can slow performance (See Hardware Considerations for Enfold Server).
After removing an older Plone version or version of Enfold Server, you may still have leftover services. The correct way to delete a Zope client is to use the Encontrol Utility.
To verify that all services have been deleted,
- Go to Start > Settings > Control Panel > Administrative Tools > Services
- Double click on the service you would like to remove, and note the service name shown in the dialog. In the case of Zope or ZEO this is normally something like ZEO_XXX or Zope_XXX where XXX is a series of numbers, not the long string: ZEO instance at C:/Program Files/Enfold Server/Server.
- Go to Start > Programs > Enfold Server > Development > Python.
- At the Python prompt use the win32serviceutil modules RemoveService method, passing the name of the service from step 2 with the name of the service you wish to delete.
>>> import win32serviceutil >>> win32serviceutil.RemoveService('Zope_565048793')
If nothing is reported back, the deletion went successfully. If the service is still in use it will be marked for deletion. Under some circumstances you will have to restart Windows for the deletion to complete.
If you do not have Enfold Server installed, then this can also be accomplished by installing Python and the Python Win32 module.