Muse Search FAQ
Muse Search
$MUSE_HOME/tomcat/docs/Apache Tomcat embedded within Muse.pdf
manual, chapter “3.2.1.1 Secured Connections” you can find all details about securing the access to the Muse Embedded Tomcat server using SSL certificates.
Basically you need to generate a keystore from the private key and certificate, and enable it into the Tomcat’s configuration file: $MUSE_HOME/tomcat/conf/server.xml
by uncommenting or adding if not already existing the connector:
Make sure the keystore name is correct and its password. Also inbound access on port 443 must be opened in the firewall.
Alternatively, for creating the keystore file, you can use EduLib’s CERTivity® KeyStores Manager tool. Get the free license, download and install it and follow the steps below for creating the keystore:
- File menu –> New KeyStore File name: keystore New KeyStore Type: jks Click on Save.
- KeyStore menu –> Import Key Pair
– select PKCS #8
– uncheck Private Key Encrypted
– Private Key File: browse to your (.KEY) private key file
– Certificate(s) File: browse to your (.CRT) certificates file
– then OK
– Alias should remain as suggested –> then OK
– enter pass “changeit” without quotes (as it is default into the
${MUSE_HOME}/tomcat/conf/server.xml
file) –> then OK - File menu –> Save
- KeyStore menu –> Change Keystore Password
– enter pass “changeit” without quotes (as it is configured into the
${MUSE_HOME}/tomcat/conf/server.xml
file) –> then OK - File –> Save
- Rename the resulted file from “keystore.jks” to “keystore” and place it into the
${MUSE_HOME}/tomcat/conf/
directory.
Below are the steps to enable and configure the “IP on campus/personal account off campus” authentication workflow for a MuseKnowledge Application. Note that they apply for versions starting with 7.6.
1) Configure the login modules.
Edit the ${ICE_HOME}/jaas.config
file, locate the application entry for which to make the settings
(refered below ad AppID). It should look like below:
AppID {
com.edulib.ice.security.authentication.ICELoginModuleXML required passwords="${ICE_HOME}/profiles/passwords.xml";
};
The entry must be modified to look like below:
AppID {
com.edulib.ice.security.authentication.ICELoginModuleXML required passwords="${ICE_HOME}/profiles/passwords.xml" justUser="true";
com.edulib.ice.security.authentication.ICELoginModuleIP sufficient hosts="${ICE_HOME}/profiles/hosts.xml";
com.edulib.ice.security.authentication.ICELoginModulePPMS required xmldbLocation="xmldb:exist:http://admin:@localhost:8000/xmldb/exist/xmlrpc";
};
(the 8000 port must be adjusted accordingly as per the Tomcat’s installation port)
2) Add the allowed IP(s) for the IP authentication
Login into the MCAA console, select the application from the list (AppID) and click on the “Login Modules” left menu. In the login modules listing click the “Edit” link corresponding to the ICELoginModuleXML module. In the new panel click the “Insert” link and start adding the IP(s). Consult the available help details to see the accepted format entries.
3) Make the end-user interface changes
Login into the MCAA console, select the application from the list (AppID) and click on the “Application General Settings->Interface Options” left menu link. In the Branding tab, “Login Page” section, press the “Load remap U/P Form”, then click the Update button from the bottom of the page.
4) Enable the “My Account” functionality
Login into the MCAA console, select the application from the list (AppID) and click on the “Application General Settings->Interface Options” left menu link. In the Functionality tab, locate the My Account” section and enable the “Enable Account:”, “Enable Saved Searches” and “Enable WorkRoom” features.
From this moment the “IP on campus/personal account off campus” authentication workflow should work, the access URL to use is:
http://hostname:port/muse/logon/AppID/autologin.html
This is explained in the “Adding a new slave machine to the environment” chapter from the “Muse Advanced Configuration.pdf” manual.
In a shared Muse environment all files are shared, including the $ICE_HOME/serial.properties
file containing licensing information and necessary for the ICE to start.
When adding new servers to a Muse cluster one cannot just run the Registration process to register the new machine because of the following reason: Muse was not installed on the new machine using the Muse setup kit, hence the InstallShield files necessary for running the Registration do not exist.
In the shared Muse environment the Muse files are loaded/mounted from the master machine.
Below are the steps to be performed when a new slave machine is added into the Muse environment after the initial setup an it needs to be registered:
1. An “Extension Request” procedure for the Serial Number is performed to add all IPv4 and IPv6
IPs of the new machine to the Serial Number in use. In case the Serial Number already contains the IPs of the new machine then there is no need to run the “Extension Request” and the Muse servers can be started on the new machine (step 4).
2. After the extension request is processed by MuseGlobal, the Muse Registration Setup must be run on the master machine.
3 A synchronization of the slave machines with the master must be performed in order for the new serial.properties file to get on the new machine.
4 The Muse servers can now be started on the new machine.
The hosts.xml files are used to allow/deny access to different products from some IPs or classes of IPs. The client’s IP is tested against the rules in the hosts.xml file and the first one that matches is applied – all the following rules are ignored.
When getting the hostname related to a given IP the Java mechanism has a spoof protection that, sometimes, will not give optimal results.
The following situation will not give the expected results:
1. Java asks the DNS server for the hostname related to an IP address (reverse DNS)
2. When the DNS server replies with the hostname, Java asks the same DNS server for the IP address of that particular hostname
3. If the initial IP address and the one returned as the result of request #2 above do not match, then Java returns the initial IP address.
This process may interfere with the way we compare the client IP address against the ones stored in the hosts.xml file. Due to the above Java protection, some IP addresses will not match against a given domain even if their reverse DNS name belongs to that particular domain.
When unistall Muse Proxy 3101 or Muse 2700 (and any interanl 2601,2602, 2603) on a common installation of both of them on some machines the following error is obtained:
Errors occurred during the uninstallation.
com.installshield.product.service.registry.LoggedSoftwareObject cannot be cast to com.installshield.product.ProductBean
This seems to be related to having components with the same UIDs (using two or more Assemblies (in a dynamic installer) where some features and components had the same key (UUID)).
The workaround to solve this problem is:
1) Go to the folder
C:\Program Files\Common Files\InstallShield\Universal\common\Gen1
2) Delete the entire folder named “_vpddb”
3) Restart the uninstallation.
See: [http://cdac.in/index.aspx?id=hi_hs_HL7Tutorial#Uninstallation instructions for SDK for HL7 Java Edition(Windows/Linux/Mac)]
f you get the “bc: command not found” error when running the Muse bin installer, stop the installation and install “bc” package.
The package installation depends on the Linux distribution you are running. Here are some examples:
– RedHat using the yum package manager – run “yum install bc” or
– Debian using the apt package manager – run “apt-get install bc”.
After installing “bc”, relogin to console and rerun the Muse installer.
The Muse Embedded Tomcat is needed because it entirely replaces Muse HTTP Server which was also used for the internal XML protocol and for the XMLDB. The external Tomcat could not have been used for the XML protocols and XMLDB.
If there are no other services than Muse in the External Tomcat then this can be disabled. Muse contexts should be deactivated from there. The Muse Embedded Tomcat will come with its own Muse contexts, thus everything will be ok. Also consider lowering the Java memory for the external Tomcat because Muse servers will not run in it anymore.
If there is an External Tomcat running on the same machine which didn’t have anything in common with the Muse Servers then normally one doesn’t have to worry about the embedded Muse Tomcat server, because this one just takes the place of Muse HTTP Server, and since there were no conflicts between that External Tomcat and Muse HTTP Server there shouldn’t be any here. If it is a fresh install of Muse then the only conflicts are given by port 8005 as described below. This conflict was always present between the Muse HTTP Server and an External Tomcat. But in case there was no service running in that External Tomcat we recommend that is shut down and disabled so that it doesn’t start at boot time.
In the rare event that there is an external Tomcat that is used both for Muse and for other external services and both Muse and the other services contexts are all defined on the same port (e.g. 80) and you don’t want to change the Muse port to another port (e.g. 8000) then the front end Muse Servlets will remain defined and further used in the External Tomcat server and the Muse Embedded Tomcat will be used for what Muse HTTP Server was used, namely for XML protocols and XMLDB.
Regarding the port conflicts there should be none effecting you in normal situation. For rare events, the cases below would help troubleshooting a port conflict in case it would appear.
– The Muse HTTP Server already conflicted with an external Tomcat on port 8005 used for internal XML Muse protocols in Muse and for Shut Down in Tomcat. Hence, because Muse HTTP Server and the external Tomcat co-existed it means that the port value was changed from 8005 on one side or another so that both were running. As the Muse Embedded Tomcat takes the Muse HTTP Server configuration the port 8005 should not be an issue.
– In case the External Tomcat was connected to the Apache Web Server then the AJP ports will conflict and only one Tomcat will be able to run through the Apache Web Server. For this change the AJP 8009 port from the Muse Embedded Tomcat. However note that other changes to the interconnection between Apache Web Server and both Tomcats are necessary in order to differentiate which requests received by the Apache Web Server are redirected to which Tomcat. These are described in the document Muse External Servlets Engine (Tomcat), chapter entitled “Web service adapters for Tomcat”.
– There can be other applications on the same machine conflicting to the External Tomcat. For this a netsat or fuser command can be run on Unix like environments. The Tomcat files were ports are defined are tomcat/conf/server.xml. Check these files both for the External Tomcat and for the Embedded also for the case when one modified in the past the default values of the External Tomcat server.
Typically, this means that the version of the installer you are running does not match your license. For instance, if you downloaded a 2.5.0.0 installer, but you have a 2.6.0.0 license (or vice versa), you will receive this error.
Please download the right Muse version.
If this is not the case then check the copied Serial Number for extra characters due to a faulty copy/paste operation. After copying the Serial Number string please first paste it in a plain text document and check it to make sure it does not contain extra characters at the beginning or at the end of the string.
The procedure to increase the memory for a Muse server installed as a service under Windows is:
a) Stop the service by typing at the command prompt:
– net stop “Muse Proxy Service” (for Muse Proxy) and/or
– net stop “Muse ICE Server” (for Muse ICE) and/or
– net stop “Muse HTTP Server” (for Muse HTTP) or net stop “Embedded Apache Tomcat” (for Apache Tomcat)
or by navigating to Control Panel -> Administrative Tools -> Services and stop whatever is needed.
b) Uninstall the service(s) using the provided script(s):
– “UnInstallMuseProxyService.bat” (available in the %MUSE_HOME%\proxy folder) and/or
– “UnInstallICEService.bat” (available in the %MUSE_HOME%\use\ice folder)and/or
– “UnInstallHTTPService.bat” (available in the %MUSE_HOME%\http folder – if using Muse HTTP Server) or “service.bat remove” (available in the %MUSE_HOME%\tomcat\bin folder – if using Apache Tomcat server)
c1) For Muse before 2500, modify the corresponding “JavaService.jvm” file(s) available in the location(s) above mentioned by changing the following lines (using a text editor):
– Xms64M
– Xmx256M
to whatever memory amount needed. Please consider the available physical memory of the machine ().
c2) If using Apache Tomcat HTTP server (Muse 2500 or newer), all changes described above still hold, except for the Apache Tomcat – the changes must be made in the %MUSE_HOME%\tomcat\bin\configure.bat file, by modifying the TOMCAT_XMS and/or TOMCAT_XMX values.
d) Re-install the service(s) using the provided script(s):
– “InstallMuseProxyService.bat” (available in the %MUSE_HOME%\proxy folder) and/or
– “InstallICEService.bat” (available in the %MUSE_HOME%\use\ice folder) and/or
– “InstallHTTPService.bat” (available in the %MUSE_HOME%\http folder – if using Muse HTTP Server) or “service.bat install” (available in the %MUSE_HOME%\tomcat\bin folder – if using Apache Tomcat server)
e) Start the service(s) by typing at the command prompt:
– net start “Muse Proxy Service” (for Muse Proxy) and/or
– net start “Muse ICE Server” (for Muse ICE) and/or
– net start “Muse HTTP Server” (for Muse HTTP) or net start “Embedded Apache Tomcat” (for Apache Tomcat)
or by navigating to Control Panel -> Administrative Tools -> Services and start whatever is needed.
Note: when editing “JavaService.jvm” like files, one must be aware that each line of the file must end with a “space” and “ENTER” and the last line of it must not have either the “space” nor the “ENTER”.
When one or more new IPs are added to a machine running Muse ICE, ICE will not start again until the Muse product is re-registered. Running the Muse Registration process ensures that all the current IPs of the machine are added to the serial.properties file, which is required for the Muse ICE server to start successfully.
For more details about the Muse Resistration procedure, please see the "$MUSE_HOME/doc/Muse Install.pdf"
document, the “Product Registration” and “Running the Muse Registration Setup” chapters.
There are files used by Muse that reside outside of the ${MUSE_HOME} folder. Below is a list of such files along with their location, depending on the Operating System.
1a) The vpd.properties file (before Muse 2104). This is the InstallShield’s installation database. It keeps track of all Muse products installed and it is located under the installing user home directory on non-Windows platforms and in the Windows directory (if the user has write permissions) or in user’s home directory (if the user has no write permissions in the Windows directory).
1b) The InstallShield directory. This is the InstallShield’s installation database. It keeps track of all Muse products installed and it is located under the installing user home directory on non-Windows platforms and in the %HOMEDRIVE%/Program Files/Common Files/
directory or in user’s home directory (if the user has no write permissions in the %HOMEDRIVE%/Program Files/ directory).
2) For running Muse servers as Windows services, each server will be registered to Windows as a regular service (using Windows registry).
2a) Before Muse 2210. The following files refer to Muse Services on non-Windows platforms:
/etc/rc.d/startMuseServices - used to start Muse Services;
/etc/rc.d/rc.muse - used to start/stop/restart Muse Services;
2b) After Muse 2210 (including). The following files refer to Muse Services on non-Windows platforms:
/etc/init.d/muse - used to start/stop/restart Muse Services;
2c) The following files refer to Muse Services on non-Windows platforms. These are symbolic links to /etc/init.d/muse and belong to the service management system on Linux:
/etc/rc3.d/K99Muse - used to stop Muse Services in run level 3;
/etc/rc3.d/S99Muse - used to start Muse Services in run level 3;
/etc/rc4.d/S99Muse - used to start Muse Services in run level 4;
/etc/rc4.d/K99Muse - used to stop Muse Services in run level 4;
/etc/rc5.d/S99Muse - used to start Muse Services in run level 5;
/etc/rc5.d/K99Muse - used to stop Muse Services in run level 5;
Note: the rc[x].d directories could also be located under the /etc/rc.d directory (depending on your Operating System).
3) Temporary files: InstallShield creates a number of temporary files and directories in the user’s temporary directory, necessary for running the Muse Setups. These files are are created and managed by the InstallShield installation software and are not under control of Muse Setups.
4) The options file (options or fields entered by the user when running a Muse Setup will be recorded here for later usage) will be stored by default in the user’s home directory.
5) Files installed in order to create the Desktop or Start Menu shortcuts for GUI interfaces. This is very dependent of the Operating Systems on which Muse is installed.
We suggest that you use the following parameters for the ICE Server as the HTTP Server and Muse Proxy Server do not request many resources and may stay as installed. If you still encounter Out of Memory problems with these servers, we suggest you add or increase the values of the memory parameters.
The –Xmx and –Xms parameters should already be present in the Java command line. It is recommended that both have the same values. Setting -Xmx and -Xms to the same value will avoid heap resizing, the most common cause of OutOfMemory errors. If -Xmx and -Xms have the same value, the JVM will try to allocate all heap memory at startup, exiting with an OutOfMemory error if this memory is not available.
Make sure the system has enough memory to accommodate the Java Virtual Machine and other programs. It is not a good option to choose values larger than the physical memory, because the host operating system will swap a part of the memory, and the speed advantage will be lost due to frequent disk accesses. For example, one may set –Xmx512M –Xms512M. The respective machine should have at least 512Mbytes of physical RAM. It is recommended that you set these values as high as possible, taking into consideration the requirements for the other servers running on that machine – including all the Muse Servers.
For Muse 2500 and newer, the Xmx and Xms memory settings (as well other settings) are set in the configure scripts (configure.bat, configure, configure.csh – depending on the operating system and shell used – Linux), one for each Muse server. Apache Tomcat and Muse Proxy servers have as default values TOMCAT_XMS=128M, TOMCAT_XMX=512M respectively PROXY_XMS=64M, PROXY_XMX=512M now.
For more information please refer to the “Muse Advanced Configuration.pdf”, chapter “Java Virtual Machine enhancements.”
The ports that need to be locally accessible are:
1. 2100 – Muse Z39.50 Bridge
Configuration file: – ${MUSE_HOME}/z3950/MuseZBridge.xml
Note: This port works as a client for the Information Connection Engine (ICE) server, but it is also a server for all the Z39.50 clients connecting to it.
2. 2504 – Muse ICE Server
Configuration file: – ${ICE_HOME}/ICECore.xml
Files that contain references to this port:
${MUSE_HOME}/web/MusePeer.xml;
${MUSE_HOME}/use/tools/ICEClient.xml;
${MUSE_HOME}/z3950/MuseZBridge.properties
Note: This port is also configured in all Muse bridges used for the Muse ICE Server (in either one of the following two files) (${MUSE_HOME}/
and in ${MUSE_HOME}/
3. 2505 – 3000 – Muse ICE Server
Note: This is the control port for the Muse ICE Server. If it is not accessible, the next port is used, and so on. An error is retrieved if none of the ports up to 3000 can be opened.
4. 8001 –8004, 8006 – Custom XML Bridges
Configuration file: – ${MUSE_HOME}/http/conf/contexts.xml or ${MUSE_HOME}/tomcat/conf/server.xml;
${MUSE_HOME}/
5. 8005 – Muse Local Infobase Bridge
Configuration file: – ${MUSE_HOME}/http/conf/contexts.xml
or ${MUSE_HOME}/tomcat/conf/server.xml
Files that contain references to this port: ${MUSE_HOME}/factory/SourceFactory.xml
Note: This port acts as a bridge, the communication protocol being XML.
6. 8007 – Muse Admin
Configuration file: ${MUSE_HOME}/http/conf/contexts.xml
or ${MUSE_HOME}/tomcat/conf/server.xml
Note: This port handles XML connections.
7. 8010 – Muse HTTP Server
Configuration file: ${MUSE_HOME}/http/MuseHTTPServer.xml
or ${MUSE_HOME}/tomcat/conf/server.xml
Note: This is the Muse HTTP Server or Tomcat control port.
Note: If you want to access some of the above Muse services from the Internet or from machines other than localhost, then the port(s) corresponding to the desired service must be open to the machine making the request.
Further information about this can be found in the "$MUSE_HOME/doc/Muse Advanced Configuration.pdf"
document, “Server Type Ports Opened by Muse within Local LAN Scope” chapter.
The ports that need to be accessible from the Internet are:
1. 8000 – Apache Tomcat or Muse HTTP Server
Configuration file – ${MUSE_HOME}/tomcat/conf/server.xml
or ${MUSE_HOME}/http/conf/contexts.xml
Files that contain references to this port:
- ${MUSE_HOME}/factory/MuseInfoBase.xml
- ${ICE_HOME}/ICECore.xml
- ${ICE_HOME}/jaas.config
- ${MUSE_HOME}/proxy/jaas.config
- ${MUSE_HOME}/web/MusePeer.xml
2. 8443 – Apache Tomcat or Muse HTTP Server
Configuration file – ${MUSE_HOME}/tomcat/conf/server.xml
or ${MUSE_HOME}/http/conf/contexts.xml
Files that contain references to this port:
- ${MUSE_HOME}/web/MusePeer.xml
- ${MUSE_HOME}/enrich/MuseEnrichmentService.xml
- ${MUSE_HOME}/enrich/index/index.xml
- ${MUSE_HOME}/z3950/MuseZBridge.properties
3. 9797 – Muse Proxy
Configuration file – ${MUSE_HOME}/proxy/MuseProxy.xml
Files that contain references to this port:
- ${MUSE_HOME}/web/MusePeer.xml;
- ${MUSE_HOME}/enrich/MuseEnrichmentService.xml;
- ${MUSE_HOME}/enrich/index/index.xml;
- ${MUSE_HOME}/z3950/MuseZBridge.properties
Note: Also configured in all Muse bridges that use the MNM: (${MUSE_HOME}/
and in ${MUSE_HOME}/
Note: This is the secured mode of the Muse HTTP server (SSL connections).
Warning: One of the server type ports Muse opens for its components may be occupied by other server programs. One
such example is the Ajp12 connector from Tomcat. See “${MUSE_HOME}/doc/Muse External Servlets Engine (Tomcat).pdf"
manual for further reference regarding the ports used by Tomcat.
Warning: If one of the Muse Servers fails to start the user is advised to check the log file for detailed information.
Finding the message below in the log file means that the port is already used by some other Application. When such a
situation occurs a reconfiguration is necessary to change the port used by the respective Muse server or by the already
existing service.
Cannot listen on port
Note: Not all ports are required by all Muse installations. They are required only if the corresponding components are installed. For example, port 9797 is only required if the Muse Proxy is installed.
Note: All server type ports can be remapped. The best way to accomplish this remapping is by using the Muse PostInstall Configuration package, which makes this process simple and ensures that the correct files are updated.
Further information about this can be found in the "$MUSE_HOME/doc/Muse Advanced Configuration.pdf"
document, “Server Type Ports Opened by Muse within Internet Scope” chapter.
We unify all the information from all the sources into Unicode using UTF-8, and we pass it from ICE and all of our Bridges as UTF-8 and XML-encoded entities. However, we are not limited to extracting data just from UTF-8 bytes, and we should not extract bytes as UTF-8 when it is not appropriate. All our extraction in Muse is to UTF-8 but from a wide range of encodings (including UTF-8).
We accommodate this large number of encodings, detailed in the documentation, when we extract data; only then is it converted into Unicode (with UTF-8 encoding) on our side.
Load More
In the $MUSE_HOME/tomcat/docs/Apache Tomcat embedded within Muse.pdf
manual, chapter “3.2.1.1 Secured Connections” you can find all details about securing the access to the Muse Embedded Tomcat server using SSL certificates.
Basically you need to generate a keystore from the private key and certificate, and enable it into the Tomcat’s configuration file: $MUSE_HOME/tomcat/conf/server.xml
by uncommenting or adding if not already existing the connector:
Make sure the keystore name is correct and its password. Also inbound access on port 443 must be opened in the firewall.
Alternatively, for creating the keystore file, you can use EduLib’s CERTivity® KeyStores Manager tool. Get the free license, download and install it and follow the steps below for creating the keystore:
- File menu –> New KeyStore
File name: keystore
New KeyStore Type: jks
Click on Save. - KeyStore menu –> Import Key Pair
– select PKCS #8
– uncheck Private Key Encrypted
– Private Key File: browse to your (.KEY) private key file
– Certificate(s) File: browse to your (.CRT) certificates file
– then OK
– Alias should remain as suggested –> then OK
– enter pass “changeit” without quotes (as it is default into the${MUSE_HOME}/tomcat/conf/server.xml
file) –> then OK - File menu –> Save
- KeyStore menu –> Change Keystore Password
– enter pass “changeit” without quotes (as it is configured into the${MUSE_HOME}/tomcat/conf/server.xml
file) –> then OK - File –> Save
- Rename the resulted file from “keystore.jks” to “keystore” and place it into the
${MUSE_HOME}/tomcat/conf/
directory.
Below are the steps to enable and configure the “IP on campus/personal account off campus” authentication workflow for a MuseKnowledge Application. Note that they apply for versions starting with 7.6.
1) Configure the login modules.
Edit the ${ICE_HOME}/jaas.config
file, locate the application entry for which to make the settings
(refered below ad AppID). It should look like below:
AppID {
com.edulib.ice.security.authentication.ICELoginModuleXML required passwords="${ICE_HOME}/profiles/passwords.xml";
};
The entry must be modified to look like below:
AppID {
com.edulib.ice.security.authentication.ICELoginModuleXML required passwords="${ICE_HOME}/profiles/passwords.xml" justUser="true";
com.edulib.ice.security.authentication.ICELoginModuleIP sufficient hosts="${ICE_HOME}/profiles/hosts.xml";
com.edulib.ice.security.authentication.ICELoginModulePPMS required xmldbLocation="xmldb:exist:http://admin:@localhost:8000/xmldb/exist/xmlrpc";
};
(the 8000 port must be adjusted accordingly as per the Tomcat’s installation port)
2) Add the allowed IP(s) for the IP authentication
Login into the MCAA console, select the application from the list (AppID) and click on the “Login Modules” left menu. In the login modules listing click the “Edit” link corresponding to the ICELoginModuleXML module. In the new panel click the “Insert” link and start adding the IP(s). Consult the available help details to see the accepted format entries.
3) Make the end-user interface changes
Login into the MCAA console, select the application from the list (AppID) and click on the “Application General Settings->Interface Options” left menu link. In the Branding tab, “Login Page” section, press the “Load remap U/P Form”, then click the Update button from the bottom of the page.
4) Enable the “My Account” functionality
Login into the MCAA console, select the application from the list (AppID) and click on the “Application General Settings->Interface Options” left menu link. In the Functionality tab, locate the My Account” section and enable the “Enable Account:”, “Enable Saved Searches” and “Enable WorkRoom” features.
From this moment the “IP on campus/personal account off campus” authentication workflow should work, the access URL to use is:
http://hostname:port/muse/logon/AppID/autologin.html
This is explained in the “Adding a new slave machine to the environment” chapter from the “Muse Advanced Configuration.pdf” manual.
In a shared Muse environment all files are shared, including the $ICE_HOME/serial.properties
file containing licensing information and necessary for the ICE to start.
When adding new servers to a Muse cluster one cannot just run the Registration process to register the new machine because of the following reason: Muse was not installed on the new machine using the Muse setup kit, hence the InstallShield files necessary for running the Registration do not exist.
In the shared Muse environment the Muse files are loaded/mounted from the master machine.
Below are the steps to be performed when a new slave machine is added into the Muse environment after the initial setup an it needs to be registered:
1. An “Extension Request” procedure for the Serial Number is performed to add all IPv4 and IPv6
IPs of the new machine to the Serial Number in use. In case the Serial Number already contains the IPs of the new machine then there is no need to run the “Extension Request” and the Muse servers can be started on the new machine (step 4).
2. After the extension request is processed by MuseGlobal, the Muse Registration Setup must be run on the master machine.
3 A synchronization of the slave machines with the master must be performed in order for the new serial.properties file to get on the new machine.
4 The Muse servers can now be started on the new machine.
The hosts.xml files are used to allow/deny access to different products from some IPs or classes of IPs. The client’s IP is tested against the rules in the hosts.xml file and the first one that matches is applied – all the following rules are ignored.
When getting the hostname related to a given IP the Java mechanism has a spoof protection that, sometimes, will not give optimal results.
The following situation will not give the expected results:
1. Java asks the DNS server for the hostname related to an IP address (reverse DNS)
2. When the DNS server replies with the hostname, Java asks the same DNS server for the IP address of that particular hostname
3. If the initial IP address and the one returned as the result of request #2 above do not match, then Java returns the initial IP address.
This process may interfere with the way we compare the client IP address against the ones stored in the hosts.xml file. Due to the above Java protection, some IP addresses will not match against a given domain even if their reverse DNS name belongs to that particular domain.
When unistall Muse Proxy 3101 or Muse 2700 (and any interanl 2601,2602, 2603) on a common installation of both of them on some machines the following error is obtained:
Errors occurred during the uninstallation.
com.installshield.product.service.registry.LoggedSoftwareObject cannot be cast to com.installshield.product.ProductBean
This seems to be related to having components with the same UIDs (using two or more Assemblies (in a dynamic installer) where some features and components had the same key (UUID)).
The workaround to solve this problem is:
1) Go to the folder
C:\Program Files\Common Files\InstallShield\Universal\common\Gen1
2) Delete the entire folder named “_vpddb”
3) Restart the uninstallation.
See: [http://cdac.in/index.aspx?id=hi_hs_HL7Tutorial#Uninstallation instructions for SDK for HL7 Java Edition(Windows/Linux/Mac)]
f you get the “bc: command not found” error when running the Muse bin installer, stop the installation and install “bc” package.
The package installation depends on the Linux distribution you are running. Here are some examples:
– RedHat using the yum package manager – run “yum install bc” or
– Debian using the apt package manager – run “apt-get install bc”.
After installing “bc”, relogin to console and rerun the Muse installer.
The Muse Embedded Tomcat is needed because it entirely replaces Muse HTTP Server which was also used for the internal XML protocol and for the XMLDB. The external Tomcat could not have been used for the XML protocols and XMLDB.
If there are no other services than Muse in the External Tomcat then this can be disabled. Muse contexts should be deactivated from there. The Muse Embedded Tomcat will come with its own Muse contexts, thus everything will be ok. Also consider lowering the Java memory for the external Tomcat because Muse servers will not run in it anymore.
If there is an External Tomcat running on the same machine which didn’t have anything in common with the Muse Servers then normally one doesn’t have to worry about the embedded Muse Tomcat server, because this one just takes the place of Muse HTTP Server, and since there were no conflicts between that External Tomcat and Muse HTTP Server there shouldn’t be any here. If it is a fresh install of Muse then the only conflicts are given by port 8005 as described below. This conflict was always present between the Muse HTTP Server and an External Tomcat. But in case there was no service running in that External Tomcat we recommend that is shut down and disabled so that it doesn’t start at boot time.
In the rare event that there is an external Tomcat that is used both for Muse and for other external services and both Muse and the other services contexts are all defined on the same port (e.g. 80) and you don’t want to change the Muse port to another port (e.g. 8000) then the front end Muse Servlets will remain defined and further used in the External Tomcat server and the Muse Embedded Tomcat will be used for what Muse HTTP Server was used, namely for XML protocols and XMLDB.
Regarding the port conflicts there should be none effecting you in normal situation. For rare events, the cases below would help troubleshooting a port conflict in case it would appear.
– The Muse HTTP Server already conflicted with an external Tomcat on port 8005 used for internal XML Muse protocols in Muse and for Shut Down in Tomcat. Hence, because Muse HTTP Server and the external Tomcat co-existed it means that the port value was changed from 8005 on one side or another so that both were running. As the Muse Embedded Tomcat takes the Muse HTTP Server configuration the port 8005 should not be an issue.
– In case the External Tomcat was connected to the Apache Web Server then the AJP ports will conflict and only one Tomcat will be able to run through the Apache Web Server. For this change the AJP 8009 port from the Muse Embedded Tomcat. However note that other changes to the interconnection between Apache Web Server and both Tomcats are necessary in order to differentiate which requests received by the Apache Web Server are redirected to which Tomcat. These are described in the document Muse External Servlets Engine (Tomcat), chapter entitled “Web service adapters for Tomcat”.
– There can be other applications on the same machine conflicting to the External Tomcat. For this a netsat or fuser command can be run on Unix like environments. The Tomcat files were ports are defined are tomcat/conf/server.xml. Check these files both for the External Tomcat and for the Embedded also for the case when one modified in the past the default values of the External Tomcat server.
Typically, this means that the version of the installer you are running does not match your license. For instance, if you downloaded a 2.5.0.0 installer, but you have a 2.6.0.0 license (or vice versa), you will receive this error.
Please download the right Muse version.
If this is not the case then check the copied Serial Number for extra characters due to a faulty copy/paste operation. After copying the Serial Number string please first paste it in a plain text document and check it to make sure it does not contain extra characters at the beginning or at the end of the string.
The procedure to increase the memory for a Muse server installed as a service under Windows is:
a) Stop the service by typing at the command prompt:
– net stop “Muse Proxy Service” (for Muse Proxy) and/or
– net stop “Muse ICE Server” (for Muse ICE) and/or
– net stop “Muse HTTP Server” (for Muse HTTP) or net stop “Embedded Apache Tomcat” (for Apache Tomcat)
or by navigating to Control Panel -> Administrative Tools -> Services and stop whatever is needed.
b) Uninstall the service(s) using the provided script(s):
– “UnInstallMuseProxyService.bat” (available in the %MUSE_HOME%\proxy folder) and/or
– “UnInstallICEService.bat” (available in the %MUSE_HOME%\use\ice folder)and/or
– “UnInstallHTTPService.bat” (available in the %MUSE_HOME%\http folder – if using Muse HTTP Server) or “service.bat remove” (available in the %MUSE_HOME%\tomcat\bin folder – if using Apache Tomcat server)
c1) For Muse before 2500, modify the corresponding “JavaService.jvm” file(s) available in the location(s) above mentioned by changing the following lines (using a text editor):
– Xms64M
– Xmx256M
to whatever memory amount needed. Please consider the available physical memory of the machine ().
c2) If using Apache Tomcat HTTP server (Muse 2500 or newer), all changes described above still hold, except for the Apache Tomcat – the changes must be made in the %MUSE_HOME%\tomcat\bin\configure.bat file, by modifying the TOMCAT_XMS and/or TOMCAT_XMX values.
d) Re-install the service(s) using the provided script(s):
– “InstallMuseProxyService.bat” (available in the %MUSE_HOME%\proxy folder) and/or
– “InstallICEService.bat” (available in the %MUSE_HOME%\use\ice folder) and/or
– “InstallHTTPService.bat” (available in the %MUSE_HOME%\http folder – if using Muse HTTP Server) or “service.bat install” (available in the %MUSE_HOME%\tomcat\bin folder – if using Apache Tomcat server)
e) Start the service(s) by typing at the command prompt:
– net start “Muse Proxy Service” (for Muse Proxy) and/or
– net start “Muse ICE Server” (for Muse ICE) and/or
– net start “Muse HTTP Server” (for Muse HTTP) or net start “Embedded Apache Tomcat” (for Apache Tomcat)
or by navigating to Control Panel -> Administrative Tools -> Services and start whatever is needed.
Note: when editing “JavaService.jvm” like files, one must be aware that each line of the file must end with a “space” and “ENTER” and the last line of it must not have either the “space” nor the “ENTER”.
When one or more new IPs are added to a machine running Muse ICE, ICE will not start again until the Muse product is re-registered. Running the Muse Registration process ensures that all the current IPs of the machine are added to the serial.properties file, which is required for the Muse ICE server to start successfully.
For more details about the Muse Resistration procedure, please see the "$MUSE_HOME/doc/Muse Install.pdf"
document, the “Product Registration” and “Running the Muse Registration Setup” chapters.
There are files used by Muse that reside outside of the ${MUSE_HOME} folder. Below is a list of such files along with their location, depending on the Operating System.
1a) The vpd.properties file (before Muse 2104). This is the InstallShield’s installation database. It keeps track of all Muse products installed and it is located under the installing user home directory on non-Windows platforms and in the Windows directory (if the user has write permissions) or in user’s home directory (if the user has no write permissions in the Windows directory).
1b) The InstallShield directory. This is the InstallShield’s installation database. It keeps track of all Muse products installed and it is located under the installing user home directory on non-Windows platforms and in the %HOMEDRIVE%/Program Files/Common Files/
directory or in user’s home directory (if the user has no write permissions in the %HOMEDRIVE%/Program Files/ directory).
2) For running Muse servers as Windows services, each server will be registered to Windows as a regular service (using Windows registry).
2a) Before Muse 2210. The following files refer to Muse Services on non-Windows platforms:
/etc/rc.d/startMuseServices - used to start Muse Services;
/etc/rc.d/rc.muse - used to start/stop/restart Muse Services;
2b) After Muse 2210 (including). The following files refer to Muse Services on non-Windows platforms:
/etc/init.d/muse - used to start/stop/restart Muse Services;
2c) The following files refer to Muse Services on non-Windows platforms. These are symbolic links to /etc/init.d/muse and belong to the service management system on Linux:
/etc/rc3.d/K99Muse - used to stop Muse Services in run level 3;
/etc/rc3.d/S99Muse - used to start Muse Services in run level 3;
/etc/rc4.d/S99Muse - used to start Muse Services in run level 4;
/etc/rc4.d/K99Muse - used to stop Muse Services in run level 4;
/etc/rc5.d/S99Muse - used to start Muse Services in run level 5;
/etc/rc5.d/K99Muse - used to stop Muse Services in run level 5;
Note: the rc[x].d directories could also be located under the /etc/rc.d directory (depending on your Operating System).
3) Temporary files: InstallShield creates a number of temporary files and directories in the user’s temporary directory, necessary for running the Muse Setups. These files are are created and managed by the InstallShield installation software and are not under control of Muse Setups.
4) The options file (options or fields entered by the user when running a Muse Setup will be recorded here for later usage) will be stored by default in the user’s home directory.
5) Files installed in order to create the Desktop or Start Menu shortcuts for GUI interfaces. This is very dependent of the Operating Systems on which Muse is installed.
We suggest that you use the following parameters for the ICE Server as the HTTP Server and Muse Proxy Server do not request many resources and may stay as installed. If you still encounter Out of Memory problems with these servers, we suggest you add or increase the values of the memory parameters.
The –Xmx and –Xms parameters should already be present in the Java command line. It is recommended that both have the same values. Setting -Xmx and -Xms to the same value will avoid heap resizing, the most common cause of OutOfMemory errors. If -Xmx and -Xms have the same value, the JVM will try to allocate all heap memory at startup, exiting with an OutOfMemory error if this memory is not available.
Make sure the system has enough memory to accommodate the Java Virtual Machine and other programs. It is not a good option to choose values larger than the physical memory, because the host operating system will swap a part of the memory, and the speed advantage will be lost due to frequent disk accesses. For example, one may set –Xmx512M –Xms512M. The respective machine should have at least 512Mbytes of physical RAM. It is recommended that you set these values as high as possible, taking into consideration the requirements for the other servers running on that machine – including all the Muse Servers.
For Muse 2500 and newer, the Xmx and Xms memory settings (as well other settings) are set in the configure scripts (configure.bat, configure, configure.csh – depending on the operating system and shell used – Linux), one for each Muse server. Apache Tomcat and Muse Proxy servers have as default values TOMCAT_XMS=128M, TOMCAT_XMX=512M respectively PROXY_XMS=64M, PROXY_XMX=512M now.
For more information please refer to the “Muse Advanced Configuration.pdf”, chapter “Java Virtual Machine enhancements.”
The ports that need to be locally accessible are:
1. 2100 – Muse Z39.50 Bridge
Configuration file: – ${MUSE_HOME}/z3950/MuseZBridge.xml
Note: This port works as a client for the Information Connection Engine (ICE) server, but it is also a server for all the Z39.50 clients connecting to it.
2. 2504 – Muse ICE Server
Configuration file: – ${ICE_HOME}/ICECore.xml
Files that contain references to this port:
${MUSE_HOME}/web/MusePeer.xml;
${MUSE_HOME}/use/tools/ICEClient.xml;
${MUSE_HOME}/z3950/MuseZBridge.properties
Note: This port is also configured in all Muse bridges used for the Muse ICE Server (in either one of the following two files) (${MUSE_HOME}/
and in ${MUSE_HOME}/
3. 2505 – 3000 – Muse ICE Server
Note: This is the control port for the Muse ICE Server. If it is not accessible, the next port is used, and so on. An error is retrieved if none of the ports up to 3000 can be opened.
4. 8001 –8004, 8006 – Custom XML Bridges
Configuration file: – ${MUSE_HOME}/http/conf/contexts.xml or ${MUSE_HOME}/tomcat/conf/server.xml;
${MUSE_HOME}/
5. 8005 – Muse Local Infobase Bridge
Configuration file: – ${MUSE_HOME}/http/conf/contexts.xml
or ${MUSE_HOME}/tomcat/conf/server.xml
Files that contain references to this port: ${MUSE_HOME}/factory/SourceFactory.xml
Note: This port acts as a bridge, the communication protocol being XML.
6. 8007 – Muse Admin
Configuration file: ${MUSE_HOME}/http/conf/contexts.xml
or ${MUSE_HOME}/tomcat/conf/server.xml
Note: This port handles XML connections.
7. 8010 – Muse HTTP Server
Configuration file: ${MUSE_HOME}/http/MuseHTTPServer.xml
or ${MUSE_HOME}/tomcat/conf/server.xml
Note: This is the Muse HTTP Server or Tomcat control port.
Note: If you want to access some of the above Muse services from the Internet or from machines other than localhost, then the port(s) corresponding to the desired service must be open to the machine making the request.
Further information about this can be found in the "$MUSE_HOME/doc/Muse Advanced Configuration.pdf"
document, “Server Type Ports Opened by Muse within Local LAN Scope” chapter.
The ports that need to be accessible from the Internet are:
1. 8000 – Apache Tomcat or Muse HTTP Server
Configuration file – ${MUSE_HOME}/tomcat/conf/server.xml
or ${MUSE_HOME}/http/conf/contexts.xml
Files that contain references to this port:
- ${MUSE_HOME}/factory/MuseInfoBase.xml
- ${ICE_HOME}/ICECore.xml
- ${ICE_HOME}/jaas.config
- ${MUSE_HOME}/proxy/jaas.config
- ${MUSE_HOME}/web/MusePeer.xml
2. 8443 – Apache Tomcat or Muse HTTP Server
Configuration file – ${MUSE_HOME}/tomcat/conf/server.xml
or ${MUSE_HOME}/http/conf/contexts.xml
Files that contain references to this port:
- ${MUSE_HOME}/web/MusePeer.xml
- ${MUSE_HOME}/enrich/MuseEnrichmentService.xml
- ${MUSE_HOME}/enrich/index/index.xml
- ${MUSE_HOME}/z3950/MuseZBridge.properties
3. 9797 – Muse Proxy
Configuration file – ${MUSE_HOME}/proxy/MuseProxy.xml
Files that contain references to this port:
- ${MUSE_HOME}/web/MusePeer.xml;
- ${MUSE_HOME}/enrich/MuseEnrichmentService.xml;
- ${MUSE_HOME}/enrich/index/index.xml;
- ${MUSE_HOME}/z3950/MuseZBridge.properties
Note: Also configured in all Muse bridges that use the MNM: (${MUSE_HOME}/
and in ${MUSE_HOME}/
Note: This is the secured mode of the Muse HTTP server (SSL connections).
Warning: One of the server type ports Muse opens for its components may be occupied by other server programs. One
such example is the Ajp12 connector from Tomcat. See “${MUSE_HOME}/doc/Muse External Servlets Engine (Tomcat).pdf"
manual for further reference regarding the ports used by Tomcat.
Warning: If one of the Muse Servers fails to start the user is advised to check the log file for detailed information.
Finding the message below in the log file means that the port is already used by some other Application. When such a
situation occurs a reconfiguration is necessary to change the port used by the respective Muse server or by the already
existing service.
Cannot listen on port
Note: Not all ports are required by all Muse installations. They are required only if the corresponding components are installed. For example, port 9797 is only required if the Muse Proxy is installed.
Note: All server type ports can be remapped. The best way to accomplish this remapping is by using the Muse PostInstall Configuration package, which makes this process simple and ensures that the correct files are updated.
Further information about this can be found in the "$MUSE_HOME/doc/Muse Advanced Configuration.pdf"
document, “Server Type Ports Opened by Muse within Internet Scope” chapter.
We unify all the information from all the sources into Unicode using UTF-8, and we pass it from ICE and all of our Bridges as UTF-8 and XML-encoded entities. However, we are not limited to extracting data just from UTF-8 bytes, and we should not extract bytes as UTF-8 when it is not appropriate. All our extraction in Muse is to UTF-8 but from a wide range of encodings (including UTF-8).
We accommodate this large number of encodings, detailed in the documentation, when we extract data; only then is it converted into Unicode (with UTF-8 encoding) on our side.
Load More
In the $MUSE_HOME/tomcat/docs/Apache Tomcat embedded within Muse.pdf
manual, chapter “3.2.1.1 Secured Connections” you can find all details about securing the access to the Muse Embedded Tomcat server using SSL certificates.
Basically you need to generate a keystore from the private key and certificate, and enable it into the Tomcat’s configuration file: $MUSE_HOME/tomcat/conf/server.xml
by uncommenting or adding if not already existing the connector:
Make sure the keystore name is correct and its password. Also inbound access on port 443 must be opened in the firewall.
Alternatively, for creating the keystore file, you can use EduLib’s CERTivity® KeyStores Manager tool. Get the free license, download and install it and follow the steps below for creating the keystore:
- File menu –> New KeyStore
File name: keystore
New KeyStore Type: jks
Click on Save. - KeyStore menu –> Import Key Pair
– select PKCS #8
– uncheck Private Key Encrypted
– Private Key File: browse to your (.KEY) private key file
– Certificate(s) File: browse to your (.CRT) certificates file
– then OK
– Alias should remain as suggested –> then OK
– enter pass “changeit” without quotes (as it is default into the${MUSE_HOME}/tomcat/conf/server.xml
file) –> then OK - File menu –> Save
- KeyStore menu –> Change Keystore Password
– enter pass “changeit” without quotes (as it is configured into the${MUSE_HOME}/tomcat/conf/server.xml
file) –> then OK - File –> Save
- Rename the resulted file from “keystore.jks” to “keystore” and place it into the
${MUSE_HOME}/tomcat/conf/
directory.
Below are the steps to enable and configure the “IP on campus/personal account off campus” authentication workflow for a MuseKnowledge Application. Note that they apply for versions starting with 7.6.
1) Configure the login modules.
Edit the ${ICE_HOME}/jaas.config
file, locate the application entry for which to make the settings
(refered below ad AppID). It should look like below:
AppID {
com.edulib.ice.security.authentication.ICELoginModuleXML required passwords="${ICE_HOME}/profiles/passwords.xml";
};
The entry must be modified to look like below:
AppID {
com.edulib.ice.security.authentication.ICELoginModuleXML required passwords="${ICE_HOME}/profiles/passwords.xml" justUser="true";
com.edulib.ice.security.authentication.ICELoginModuleIP sufficient hosts="${ICE_HOME}/profiles/hosts.xml";
com.edulib.ice.security.authentication.ICELoginModulePPMS required xmldbLocation="xmldb:exist:http://admin:@localhost:8000/xmldb/exist/xmlrpc";
};
(the 8000 port must be adjusted accordingly as per the Tomcat’s installation port)
2) Add the allowed IP(s) for the IP authentication
Login into the MCAA console, select the application from the list (AppID) and click on the “Login Modules” left menu. In the login modules listing click the “Edit” link corresponding to the ICELoginModuleXML module. In the new panel click the “Insert” link and start adding the IP(s). Consult the available help details to see the accepted format entries.
3) Make the end-user interface changes
Login into the MCAA console, select the application from the list (AppID) and click on the “Application General Settings->Interface Options” left menu link. In the Branding tab, “Login Page” section, press the “Load remap U/P Form”, then click the Update button from the bottom of the page.
4) Enable the “My Account” functionality
Login into the MCAA console, select the application from the list (AppID) and click on the “Application General Settings->Interface Options” left menu link. In the Functionality tab, locate the My Account” section and enable the “Enable Account:”, “Enable Saved Searches” and “Enable WorkRoom” features.
From this moment the “IP on campus/personal account off campus” authentication workflow should work, the access URL to use is:
http://hostname:port/muse/logon/AppID/autologin.html
This is explained in the “Adding a new slave machine to the environment” chapter from the “Muse Advanced Configuration.pdf” manual.
In a shared Muse environment all files are shared, including the $ICE_HOME/serial.properties
file containing licensing information and necessary for the ICE to start.
When adding new servers to a Muse cluster one cannot just run the Registration process to register the new machine because of the following reason: Muse was not installed on the new machine using the Muse setup kit, hence the InstallShield files necessary for running the Registration do not exist.
In the shared Muse environment the Muse files are loaded/mounted from the master machine.
Below are the steps to be performed when a new slave machine is added into the Muse environment after the initial setup an it needs to be registered:
1. An “Extension Request” procedure for the Serial Number is performed to add all IPv4 and IPv6
IPs of the new machine to the Serial Number in use. In case the Serial Number already contains the IPs of the new machine then there is no need to run the “Extension Request” and the Muse servers can be started on the new machine (step 4).
2. After the extension request is processed by MuseGlobal, the Muse Registration Setup must be run on the master machine.
3 A synchronization of the slave machines with the master must be performed in order for the new serial.properties file to get on the new machine.
4 The Muse servers can now be started on the new machine.
The hosts.xml files are used to allow/deny access to different products from some IPs or classes of IPs. The client’s IP is tested against the rules in the hosts.xml file and the first one that matches is applied – all the following rules are ignored.
When getting the hostname related to a given IP the Java mechanism has a spoof protection that, sometimes, will not give optimal results.
The following situation will not give the expected results:
1. Java asks the DNS server for the hostname related to an IP address (reverse DNS)
2. When the DNS server replies with the hostname, Java asks the same DNS server for the IP address of that particular hostname
3. If the initial IP address and the one returned as the result of request #2 above do not match, then Java returns the initial IP address.
This process may interfere with the way we compare the client IP address against the ones stored in the hosts.xml file. Due to the above Java protection, some IP addresses will not match against a given domain even if their reverse DNS name belongs to that particular domain.
When unistall Muse Proxy 3101 or Muse 2700 (and any interanl 2601,2602, 2603) on a common installation of both of them on some machines the following error is obtained:
Errors occurred during the uninstallation.
com.installshield.product.service.registry.LoggedSoftwareObject cannot be cast to com.installshield.product.ProductBean
This seems to be related to having components with the same UIDs (using two or more Assemblies (in a dynamic installer) where some features and components had the same key (UUID)).
The workaround to solve this problem is:
1) Go to the folder
C:\Program Files\Common Files\InstallShield\Universal\common\Gen1
2) Delete the entire folder named “_vpddb”
3) Restart the uninstallation.
See: [http://cdac.in/index.aspx?id=hi_hs_HL7Tutorial#Uninstallation instructions for SDK for HL7 Java Edition(Windows/Linux/Mac)]
f you get the “bc: command not found” error when running the Muse bin installer, stop the installation and install “bc” package.
The package installation depends on the Linux distribution you are running. Here are some examples:
– RedHat using the yum package manager – run “yum install bc” or
– Debian using the apt package manager – run “apt-get install bc”.
After installing “bc”, relogin to console and rerun the Muse installer.
The Muse Embedded Tomcat is needed because it entirely replaces Muse HTTP Server which was also used for the internal XML protocol and for the XMLDB. The external Tomcat could not have been used for the XML protocols and XMLDB.
If there are no other services than Muse in the External Tomcat then this can be disabled. Muse contexts should be deactivated from there. The Muse Embedded Tomcat will come with its own Muse contexts, thus everything will be ok. Also consider lowering the Java memory for the external Tomcat because Muse servers will not run in it anymore.
If there is an External Tomcat running on the same machine which didn’t have anything in common with the Muse Servers then normally one doesn’t have to worry about the embedded Muse Tomcat server, because this one just takes the place of Muse HTTP Server, and since there were no conflicts between that External Tomcat and Muse HTTP Server there shouldn’t be any here. If it is a fresh install of Muse then the only conflicts are given by port 8005 as described below. This conflict was always present between the Muse HTTP Server and an External Tomcat. But in case there was no service running in that External Tomcat we recommend that is shut down and disabled so that it doesn’t start at boot time.
In the rare event that there is an external Tomcat that is used both for Muse and for other external services and both Muse and the other services contexts are all defined on the same port (e.g. 80) and you don’t want to change the Muse port to another port (e.g. 8000) then the front end Muse Servlets will remain defined and further used in the External Tomcat server and the Muse Embedded Tomcat will be used for what Muse HTTP Server was used, namely for XML protocols and XMLDB.
Regarding the port conflicts there should be none effecting you in normal situation. For rare events, the cases below would help troubleshooting a port conflict in case it would appear.
– The Muse HTTP Server already conflicted with an external Tomcat on port 8005 used for internal XML Muse protocols in Muse and for Shut Down in Tomcat. Hence, because Muse HTTP Server and the external Tomcat co-existed it means that the port value was changed from 8005 on one side or another so that both were running. As the Muse Embedded Tomcat takes the Muse HTTP Server configuration the port 8005 should not be an issue.
– In case the External Tomcat was connected to the Apache Web Server then the AJP ports will conflict and only one Tomcat will be able to run through the Apache Web Server. For this change the AJP 8009 port from the Muse Embedded Tomcat. However note that other changes to the interconnection between Apache Web Server and both Tomcats are necessary in order to differentiate which requests received by the Apache Web Server are redirected to which Tomcat. These are described in the document Muse External Servlets Engine (Tomcat), chapter entitled “Web service adapters for Tomcat”.
– There can be other applications on the same machine conflicting to the External Tomcat. For this a netsat or fuser command can be run on Unix like environments. The Tomcat files were ports are defined are tomcat/conf/server.xml. Check these files both for the External Tomcat and for the Embedded also for the case when one modified in the past the default values of the External Tomcat server.
Typically, this means that the version of the installer you are running does not match your license. For instance, if you downloaded a 2.5.0.0 installer, but you have a 2.6.0.0 license (or vice versa), you will receive this error.
Please download the right Muse version.
If this is not the case then check the copied Serial Number for extra characters due to a faulty copy/paste operation. After copying the Serial Number string please first paste it in a plain text document and check it to make sure it does not contain extra characters at the beginning or at the end of the string.
The procedure to increase the memory for a Muse server installed as a service under Windows is:
a) Stop the service by typing at the command prompt:
– net stop “Muse Proxy Service” (for Muse Proxy) and/or
– net stop “Muse ICE Server” (for Muse ICE) and/or
– net stop “Muse HTTP Server” (for Muse HTTP) or net stop “Embedded Apache Tomcat” (for Apache Tomcat)
or by navigating to Control Panel -> Administrative Tools -> Services and stop whatever is needed.
b) Uninstall the service(s) using the provided script(s):
– “UnInstallMuseProxyService.bat” (available in the %MUSE_HOME%\proxy folder) and/or
– “UnInstallICEService.bat” (available in the %MUSE_HOME%\use\ice folder)and/or
– “UnInstallHTTPService.bat” (available in the %MUSE_HOME%\http folder – if using Muse HTTP Server) or “service.bat remove” (available in the %MUSE_HOME%\tomcat\bin folder – if using Apache Tomcat server)
c1) For Muse before 2500, modify the corresponding “JavaService.jvm” file(s) available in the location(s) above mentioned by changing the following lines (using a text editor):
– Xms64M
– Xmx256M
to whatever memory amount needed. Please consider the available physical memory of the machine ().
c2) If using Apache Tomcat HTTP server (Muse 2500 or newer), all changes described above still hold, except for the Apache Tomcat – the changes must be made in the %MUSE_HOME%\tomcat\bin\configure.bat file, by modifying the TOMCAT_XMS and/or TOMCAT_XMX values.
d) Re-install the service(s) using the provided script(s):
– “InstallMuseProxyService.bat” (available in the %MUSE_HOME%\proxy folder) and/or
– “InstallICEService.bat” (available in the %MUSE_HOME%\use\ice folder) and/or
– “InstallHTTPService.bat” (available in the %MUSE_HOME%\http folder – if using Muse HTTP Server) or “service.bat install” (available in the %MUSE_HOME%\tomcat\bin folder – if using Apache Tomcat server)
e) Start the service(s) by typing at the command prompt:
– net start “Muse Proxy Service” (for Muse Proxy) and/or
– net start “Muse ICE Server” (for Muse ICE) and/or
– net start “Muse HTTP Server” (for Muse HTTP) or net start “Embedded Apache Tomcat” (for Apache Tomcat)
or by navigating to Control Panel -> Administrative Tools -> Services and start whatever is needed.
Note: when editing “JavaService.jvm” like files, one must be aware that each line of the file must end with a “space” and “ENTER” and the last line of it must not have either the “space” nor the “ENTER”.
When one or more new IPs are added to a machine running Muse ICE, ICE will not start again until the Muse product is re-registered. Running the Muse Registration process ensures that all the current IPs of the machine are added to the serial.properties file, which is required for the Muse ICE server to start successfully.
For more details about the Muse Resistration procedure, please see the "$MUSE_HOME/doc/Muse Install.pdf"
document, the “Product Registration” and “Running the Muse Registration Setup” chapters.
There are files used by Muse that reside outside of the ${MUSE_HOME} folder. Below is a list of such files along with their location, depending on the Operating System.
1a) The vpd.properties file (before Muse 2104). This is the InstallShield’s installation database. It keeps track of all Muse products installed and it is located under the installing user home directory on non-Windows platforms and in the Windows directory (if the user has write permissions) or in user’s home directory (if the user has no write permissions in the Windows directory).
1b) The InstallShield directory. This is the InstallShield’s installation database. It keeps track of all Muse products installed and it is located under the installing user home directory on non-Windows platforms and in the %HOMEDRIVE%/Program Files/Common Files/
directory or in user’s home directory (if the user has no write permissions in the %HOMEDRIVE%/Program Files/ directory).
2) For running Muse servers as Windows services, each server will be registered to Windows as a regular service (using Windows registry).
2a) Before Muse 2210. The following files refer to Muse Services on non-Windows platforms:
/etc/rc.d/startMuseServices - used to start Muse Services;
/etc/rc.d/rc.muse - used to start/stop/restart Muse Services;
2b) After Muse 2210 (including). The following files refer to Muse Services on non-Windows platforms:
/etc/init.d/muse - used to start/stop/restart Muse Services;
2c) The following files refer to Muse Services on non-Windows platforms. These are symbolic links to /etc/init.d/muse and belong to the service management system on Linux:
/etc/rc3.d/K99Muse - used to stop Muse Services in run level 3;
/etc/rc3.d/S99Muse - used to start Muse Services in run level 3;
/etc/rc4.d/S99Muse - used to start Muse Services in run level 4;
/etc/rc4.d/K99Muse - used to stop Muse Services in run level 4;
/etc/rc5.d/S99Muse - used to start Muse Services in run level 5;
/etc/rc5.d/K99Muse - used to stop Muse Services in run level 5;
Note: the rc[x].d directories could also be located under the /etc/rc.d directory (depending on your Operating System).
3) Temporary files: InstallShield creates a number of temporary files and directories in the user’s temporary directory, necessary for running the Muse Setups. These files are are created and managed by the InstallShield installation software and are not under control of Muse Setups.
4) The options file (options or fields entered by the user when running a Muse Setup will be recorded here for later usage) will be stored by default in the user’s home directory.
5) Files installed in order to create the Desktop or Start Menu shortcuts for GUI interfaces. This is very dependent of the Operating Systems on which Muse is installed.
We suggest that you use the following parameters for the ICE Server as the HTTP Server and Muse Proxy Server do not request many resources and may stay as installed. If you still encounter Out of Memory problems with these servers, we suggest you add or increase the values of the memory parameters.
The –Xmx and –Xms parameters should already be present in the Java command line. It is recommended that both have the same values. Setting -Xmx and -Xms to the same value will avoid heap resizing, the most common cause of OutOfMemory errors. If -Xmx and -Xms have the same value, the JVM will try to allocate all heap memory at startup, exiting with an OutOfMemory error if this memory is not available.
Make sure the system has enough memory to accommodate the Java Virtual Machine and other programs. It is not a good option to choose values larger than the physical memory, because the host operating system will swap a part of the memory, and the speed advantage will be lost due to frequent disk accesses. For example, one may set –Xmx512M –Xms512M. The respective machine should have at least 512Mbytes of physical RAM. It is recommended that you set these values as high as possible, taking into consideration the requirements for the other servers running on that machine – including all the Muse Servers.
For Muse 2500 and newer, the Xmx and Xms memory settings (as well other settings) are set in the configure scripts (configure.bat, configure, configure.csh – depending on the operating system and shell used – Linux), one for each Muse server. Apache Tomcat and Muse Proxy servers have as default values TOMCAT_XMS=128M, TOMCAT_XMX=512M respectively PROXY_XMS=64M, PROXY_XMX=512M now.
For more information please refer to the “Muse Advanced Configuration.pdf”, chapter “Java Virtual Machine enhancements.”
The ports that need to be locally accessible are:
1. 2100 – Muse Z39.50 Bridge
Configuration file: – ${MUSE_HOME}/z3950/MuseZBridge.xml
Note: This port works as a client for the Information Connection Engine (ICE) server, but it is also a server for all the Z39.50 clients connecting to it.
2. 2504 – Muse ICE Server
Configuration file: – ${ICE_HOME}/ICECore.xml
Files that contain references to this port:
${MUSE_HOME}/web/MusePeer.xml;
${MUSE_HOME}/use/tools/ICEClient.xml;
${MUSE_HOME}/z3950/MuseZBridge.properties
Note: This port is also configured in all Muse bridges used for the Muse ICE Server (in either one of the following two files) (${MUSE_HOME}/
and in ${MUSE_HOME}/
3. 2505 – 3000 – Muse ICE Server
Note: This is the control port for the Muse ICE Server. If it is not accessible, the next port is used, and so on. An error is retrieved if none of the ports up to 3000 can be opened.
4. 8001 –8004, 8006 – Custom XML Bridges
Configuration file: – ${MUSE_HOME}/http/conf/contexts.xml or ${MUSE_HOME}/tomcat/conf/server.xml;
${MUSE_HOME}/
5. 8005 – Muse Local Infobase Bridge
Configuration file: – ${MUSE_HOME}/http/conf/contexts.xml
or ${MUSE_HOME}/tomcat/conf/server.xml
Files that contain references to this port: ${MUSE_HOME}/factory/SourceFactory.xml
Note: This port acts as a bridge, the communication protocol being XML.
6. 8007 – Muse Admin
Configuration file: ${MUSE_HOME}/http/conf/contexts.xml
or ${MUSE_HOME}/tomcat/conf/server.xml
Note: This port handles XML connections.
7. 8010 – Muse HTTP Server
Configuration file: ${MUSE_HOME}/http/MuseHTTPServer.xml
or ${MUSE_HOME}/tomcat/conf/server.xml
Note: This is the Muse HTTP Server or Tomcat control port.
Note: If you want to access some of the above Muse services from the Internet or from machines other than localhost, then the port(s) corresponding to the desired service must be open to the machine making the request.
Further information about this can be found in the "$MUSE_HOME/doc/Muse Advanced Configuration.pdf"
document, “Server Type Ports Opened by Muse within Local LAN Scope” chapter.
The ports that need to be accessible from the Internet are:
1. 8000 – Apache Tomcat or Muse HTTP Server
Configuration file – ${MUSE_HOME}/tomcat/conf/server.xml
or ${MUSE_HOME}/http/conf/contexts.xml
Files that contain references to this port:
- ${MUSE_HOME}/factory/MuseInfoBase.xml
- ${ICE_HOME}/ICECore.xml
- ${ICE_HOME}/jaas.config
- ${MUSE_HOME}/proxy/jaas.config
- ${MUSE_HOME}/web/MusePeer.xml
2. 8443 – Apache Tomcat or Muse HTTP Server
Configuration file – ${MUSE_HOME}/tomcat/conf/server.xml
or ${MUSE_HOME}/http/conf/contexts.xml
Files that contain references to this port:
- ${MUSE_HOME}/web/MusePeer.xml
- ${MUSE_HOME}/enrich/MuseEnrichmentService.xml
- ${MUSE_HOME}/enrich/index/index.xml
- ${MUSE_HOME}/z3950/MuseZBridge.properties
3. 9797 – Muse Proxy
Configuration file – ${MUSE_HOME}/proxy/MuseProxy.xml
Files that contain references to this port:
- ${MUSE_HOME}/web/MusePeer.xml;
- ${MUSE_HOME}/enrich/MuseEnrichmentService.xml;
- ${MUSE_HOME}/enrich/index/index.xml;
- ${MUSE_HOME}/z3950/MuseZBridge.properties
Note: Also configured in all Muse bridges that use the MNM: (${MUSE_HOME}/
and in ${MUSE_HOME}/
Note: This is the secured mode of the Muse HTTP server (SSL connections).
Warning: One of the server type ports Muse opens for its components may be occupied by other server programs. One
such example is the Ajp12 connector from Tomcat. See “${MUSE_HOME}/doc/Muse External Servlets Engine (Tomcat).pdf"
manual for further reference regarding the ports used by Tomcat.
Warning: If one of the Muse Servers fails to start the user is advised to check the log file for detailed information.
Finding the message below in the log file means that the port is already used by some other Application. When such a
situation occurs a reconfiguration is necessary to change the port used by the respective Muse server or by the already
existing service.
Cannot listen on port
Note: Not all ports are required by all Muse installations. They are required only if the corresponding components are installed. For example, port 9797 is only required if the Muse Proxy is installed.
Note: All server type ports can be remapped. The best way to accomplish this remapping is by using the Muse PostInstall Configuration package, which makes this process simple and ensures that the correct files are updated.
Further information about this can be found in the "$MUSE_HOME/doc/Muse Advanced Configuration.pdf"
document, “Server Type Ports Opened by Muse within Internet Scope” chapter.
We unify all the information from all the sources into Unicode using UTF-8, and we pass it from ICE and all of our Bridges as UTF-8 and XML-encoded entities. However, we are not limited to extracting data just from UTF-8 bytes, and we should not extract bytes as UTF-8 when it is not appropriate. All our extraction in Muse is to UTF-8 but from a wide range of encodings (including UTF-8).
We accommodate this large number of encodings, detailed in the documentation, when we extract data; only then is it converted into Unicode (with UTF-8 encoding) on our side.
Load More
In the $MUSE_HOME/tomcat/docs/Apache Tomcat embedded within Muse.pdf
manual, chapter “3.2.1.1 Secured Connections” you can find all details about securing the access to the Muse Embedded Tomcat server using SSL certificates.
Basically you need to generate a keystore from the private key and certificate, and enable it into the Tomcat’s configuration file: $MUSE_HOME/tomcat/conf/server.xml
by uncommenting or adding if not already existing the connector:
Make sure the keystore name is correct and its password. Also inbound access on port 443 must be opened in the firewall.
Alternatively, for creating the keystore file, you can use EduLib’s CERTivity® KeyStores Manager tool. Get the free license, download and install it and follow the steps below for creating the keystore:
- File menu –> New KeyStore
File name: keystore
New KeyStore Type: jks
Click on Save. - KeyStore menu –> Import Key Pair
– select PKCS #8
– uncheck Private Key Encrypted
– Private Key File: browse to your (.KEY) private key file
– Certificate(s) File: browse to your (.CRT) certificates file
– then OK
– Alias should remain as suggested –> then OK
– enter pass “changeit” without quotes (as it is default into the${MUSE_HOME}/tomcat/conf/server.xml
file) –> then OK - File menu –> Save
- KeyStore menu –> Change Keystore Password
– enter pass “changeit” without quotes (as it is configured into the${MUSE_HOME}/tomcat/conf/server.xml
file) –> then OK - File –> Save
- Rename the resulted file from “keystore.jks” to “keystore” and place it into the
${MUSE_HOME}/tomcat/conf/
directory.
Below are the steps to enable and configure the “IP on campus/personal account off campus” authentication workflow for a MuseKnowledge Application. Note that they apply for versions starting with 7.6.
1) Configure the login modules.
Edit the ${ICE_HOME}/jaas.config
file, locate the application entry for which to make the settings
(refered below ad AppID). It should look like below:
AppID {
com.edulib.ice.security.authentication.ICELoginModuleXML required passwords="${ICE_HOME}/profiles/passwords.xml";
};
The entry must be modified to look like below:
AppID {
com.edulib.ice.security.authentication.ICELoginModuleXML required passwords="${ICE_HOME}/profiles/passwords.xml" justUser="true";
com.edulib.ice.security.authentication.ICELoginModuleIP sufficient hosts="${ICE_HOME}/profiles/hosts.xml";
com.edulib.ice.security.authentication.ICELoginModulePPMS required xmldbLocation="xmldb:exist:http://admin:@localhost:8000/xmldb/exist/xmlrpc";
};
(the 8000 port must be adjusted accordingly as per the Tomcat’s installation port)
2) Add the allowed IP(s) for the IP authentication
Login into the MCAA console, select the application from the list (AppID) and click on the “Login Modules” left menu. In the login modules listing click the “Edit” link corresponding to the ICELoginModuleXML module. In the new panel click the “Insert” link and start adding the IP(s). Consult the available help details to see the accepted format entries.
3) Make the end-user interface changes
Login into the MCAA console, select the application from the list (AppID) and click on the “Application General Settings->Interface Options” left menu link. In the Branding tab, “Login Page” section, press the “Load remap U/P Form”, then click the Update button from the bottom of the page.
4) Enable the “My Account” functionality
Login into the MCAA console, select the application from the list (AppID) and click on the “Application General Settings->Interface Options” left menu link. In the Functionality tab, locate the My Account” section and enable the “Enable Account:”, “Enable Saved Searches” and “Enable WorkRoom” features.
From this moment the “IP on campus/personal account off campus” authentication workflow should work, the access URL to use is:
http://hostname:port/muse/logon/AppID/autologin.html
This is explained in the “Adding a new slave machine to the environment” chapter from the “Muse Advanced Configuration.pdf” manual.
In a shared Muse environment all files are shared, including the $ICE_HOME/serial.properties
file containing licensing information and necessary for the ICE to start.
When adding new servers to a Muse cluster one cannot just run the Registration process to register the new machine because of the following reason: Muse was not installed on the new machine using the Muse setup kit, hence the InstallShield files necessary for running the Registration do not exist.
In the shared Muse environment the Muse files are loaded/mounted from the master machine.
Below are the steps to be performed when a new slave machine is added into the Muse environment after the initial setup an it needs to be registered:
1. An “Extension Request” procedure for the Serial Number is performed to add all IPv4 and IPv6
IPs of the new machine to the Serial Number in use. In case the Serial Number already contains the IPs of the new machine then there is no need to run the “Extension Request” and the Muse servers can be started on the new machine (step 4).
2. After the extension request is processed by MuseGlobal, the Muse Registration Setup must be run on the master machine.
3 A synchronization of the slave machines with the master must be performed in order for the new serial.properties file to get on the new machine.
4 The Muse servers can now be started on the new machine.
The hosts.xml files are used to allow/deny access to different products from some IPs or classes of IPs. The client’s IP is tested against the rules in the hosts.xml file and the first one that matches is applied – all the following rules are ignored.
When getting the hostname related to a given IP the Java mechanism has a spoof protection that, sometimes, will not give optimal results.
The following situation will not give the expected results:
1. Java asks the DNS server for the hostname related to an IP address (reverse DNS)
2. When the DNS server replies with the hostname, Java asks the same DNS server for the IP address of that particular hostname
3. If the initial IP address and the one returned as the result of request #2 above do not match, then Java returns the initial IP address.
This process may interfere with the way we compare the client IP address against the ones stored in the hosts.xml file. Due to the above Java protection, some IP addresses will not match against a given domain even if their reverse DNS name belongs to that particular domain.
When unistall Muse Proxy 3101 or Muse 2700 (and any interanl 2601,2602, 2603) on a common installation of both of them on some machines the following error is obtained:
Errors occurred during the uninstallation.
com.installshield.product.service.registry.LoggedSoftwareObject cannot be cast to com.installshield.product.ProductBean
This seems to be related to having components with the same UIDs (using two or more Assemblies (in a dynamic installer) where some features and components had the same key (UUID)).
The workaround to solve this problem is:
1) Go to the folder
C:\Program Files\Common Files\InstallShield\Universal\common\Gen1
2) Delete the entire folder named “_vpddb”
3) Restart the uninstallation.
See: [http://cdac.in/index.aspx?id=hi_hs_HL7Tutorial#Uninstallation instructions for SDK for HL7 Java Edition(Windows/Linux/Mac)]
f you get the “bc: command not found” error when running the Muse bin installer, stop the installation and install “bc” package.
The package installation depends on the Linux distribution you are running. Here are some examples:
– RedHat using the yum package manager – run “yum install bc” or
– Debian using the apt package manager – run “apt-get install bc”.
After installing “bc”, relogin to console and rerun the Muse installer.
The Muse Embedded Tomcat is needed because it entirely replaces Muse HTTP Server which was also used for the internal XML protocol and for the XMLDB. The external Tomcat could not have been used for the XML protocols and XMLDB.
If there are no other services than Muse in the External Tomcat then this can be disabled. Muse contexts should be deactivated from there. The Muse Embedded Tomcat will come with its own Muse contexts, thus everything will be ok. Also consider lowering the Java memory for the external Tomcat because Muse servers will not run in it anymore.
If there is an External Tomcat running on the same machine which didn’t have anything in common with the Muse Servers then normally one doesn’t have to worry about the embedded Muse Tomcat server, because this one just takes the place of Muse HTTP Server, and since there were no conflicts between that External Tomcat and Muse HTTP Server there shouldn’t be any here. If it is a fresh install of Muse then the only conflicts are given by port 8005 as described below. This conflict was always present between the Muse HTTP Server and an External Tomcat. But in case there was no service running in that External Tomcat we recommend that is shut down and disabled so that it doesn’t start at boot time.
In the rare event that there is an external Tomcat that is used both for Muse and for other external services and both Muse and the other services contexts are all defined on the same port (e.g. 80) and you don’t want to change the Muse port to another port (e.g. 8000) then the front end Muse Servlets will remain defined and further used in the External Tomcat server and the Muse Embedded Tomcat will be used for what Muse HTTP Server was used, namely for XML protocols and XMLDB.
Regarding the port conflicts there should be none effecting you in normal situation. For rare events, the cases below would help troubleshooting a port conflict in case it would appear.
– The Muse HTTP Server already conflicted with an external Tomcat on port 8005 used for internal XML Muse protocols in Muse and for Shut Down in Tomcat. Hence, because Muse HTTP Server and the external Tomcat co-existed it means that the port value was changed from 8005 on one side or another so that both were running. As the Muse Embedded Tomcat takes the Muse HTTP Server configuration the port 8005 should not be an issue.
– In case the External Tomcat was connected to the Apache Web Server then the AJP ports will conflict and only one Tomcat will be able to run through the Apache Web Server. For this change the AJP 8009 port from the Muse Embedded Tomcat. However note that other changes to the interconnection between Apache Web Server and both Tomcats are necessary in order to differentiate which requests received by the Apache Web Server are redirected to which Tomcat. These are described in the document Muse External Servlets Engine (Tomcat), chapter entitled “Web service adapters for Tomcat”.
– There can be other applications on the same machine conflicting to the External Tomcat. For this a netsat or fuser command can be run on Unix like environments. The Tomcat files were ports are defined are tomcat/conf/server.xml. Check these files both for the External Tomcat and for the Embedded also for the case when one modified in the past the default values of the External Tomcat server.
Typically, this means that the version of the installer you are running does not match your license. For instance, if you downloaded a 2.5.0.0 installer, but you have a 2.6.0.0 license (or vice versa), you will receive this error.
Please download the right Muse version.
If this is not the case then check the copied Serial Number for extra characters due to a faulty copy/paste operation. After copying the Serial Number string please first paste it in a plain text document and check it to make sure it does not contain extra characters at the beginning or at the end of the string.
The procedure to increase the memory for a Muse server installed as a service under Windows is:
a) Stop the service by typing at the command prompt:
– net stop “Muse Proxy Service” (for Muse Proxy) and/or
– net stop “Muse ICE Server” (for Muse ICE) and/or
– net stop “Muse HTTP Server” (for Muse HTTP) or net stop “Embedded Apache Tomcat” (for Apache Tomcat)
or by navigating to Control Panel -> Administrative Tools -> Services and stop whatever is needed.
b) Uninstall the service(s) using the provided script(s):
– “UnInstallMuseProxyService.bat” (available in the %MUSE_HOME%\proxy folder) and/or
– “UnInstallICEService.bat” (available in the %MUSE_HOME%\use\ice folder)and/or
– “UnInstallHTTPService.bat” (available in the %MUSE_HOME%\http folder – if using Muse HTTP Server) or “service.bat remove” (available in the %MUSE_HOME%\tomcat\bin folder – if using Apache Tomcat server)
c1) For Muse before 2500, modify the corresponding “JavaService.jvm” file(s) available in the location(s) above mentioned by changing the following lines (using a text editor):
– Xms64M
– Xmx256M
to whatever memory amount needed. Please consider the available physical memory of the machine ().
c2) If using Apache Tomcat HTTP server (Muse 2500 or newer), all changes described above still hold, except for the Apache Tomcat – the changes must be made in the %MUSE_HOME%\tomcat\bin\configure.bat file, by modifying the TOMCAT_XMS and/or TOMCAT_XMX values.
d) Re-install the service(s) using the provided script(s):
– “InstallMuseProxyService.bat” (available in the %MUSE_HOME%\proxy folder) and/or
– “InstallICEService.bat” (available in the %MUSE_HOME%\use\ice folder) and/or
– “InstallHTTPService.bat” (available in the %MUSE_HOME%\http folder – if using Muse HTTP Server) or “service.bat install” (available in the %MUSE_HOME%\tomcat\bin folder – if using Apache Tomcat server)
e) Start the service(s) by typing at the command prompt:
– net start “Muse Proxy Service” (for Muse Proxy) and/or
– net start “Muse ICE Server” (for Muse ICE) and/or
– net start “Muse HTTP Server” (for Muse HTTP) or net start “Embedded Apache Tomcat” (for Apache Tomcat)
or by navigating to Control Panel -> Administrative Tools -> Services and start whatever is needed.
Note: when editing “JavaService.jvm” like files, one must be aware that each line of the file must end with a “space” and “ENTER” and the last line of it must not have either the “space” nor the “ENTER”.
When one or more new IPs are added to a machine running Muse ICE, ICE will not start again until the Muse product is re-registered. Running the Muse Registration process ensures that all the current IPs of the machine are added to the serial.properties file, which is required for the Muse ICE server to start successfully.
For more details about the Muse Resistration procedure, please see the "$MUSE_HOME/doc/Muse Install.pdf"
document, the “Product Registration” and “Running the Muse Registration Setup” chapters.
There are files used by Muse that reside outside of the ${MUSE_HOME} folder. Below is a list of such files along with their location, depending on the Operating System.
1a) The vpd.properties file (before Muse 2104). This is the InstallShield’s installation database. It keeps track of all Muse products installed and it is located under the installing user home directory on non-Windows platforms and in the Windows directory (if the user has write permissions) or in user’s home directory (if the user has no write permissions in the Windows directory).
1b) The InstallShield directory. This is the InstallShield’s installation database. It keeps track of all Muse products installed and it is located under the installing user home directory on non-Windows platforms and in the %HOMEDRIVE%/Program Files/Common Files/
directory or in user’s home directory (if the user has no write permissions in the %HOMEDRIVE%/Program Files/ directory).
2) For running Muse servers as Windows services, each server will be registered to Windows as a regular service (using Windows registry).
2a) Before Muse 2210. The following files refer to Muse Services on non-Windows platforms:
/etc/rc.d/startMuseServices - used to start Muse Services;
/etc/rc.d/rc.muse - used to start/stop/restart Muse Services;
2b) After Muse 2210 (including). The following files refer to Muse Services on non-Windows platforms:
/etc/init.d/muse - used to start/stop/restart Muse Services;
2c) The following files refer to Muse Services on non-Windows platforms. These are symbolic links to /etc/init.d/muse and belong to the service management system on Linux:
/etc/rc3.d/K99Muse - used to stop Muse Services in run level 3;
/etc/rc3.d/S99Muse - used to start Muse Services in run level 3;
/etc/rc4.d/S99Muse - used to start Muse Services in run level 4;
/etc/rc4.d/K99Muse - used to stop Muse Services in run level 4;
/etc/rc5.d/S99Muse - used to start Muse Services in run level 5;
/etc/rc5.d/K99Muse - used to stop Muse Services in run level 5;
Note: the rc[x].d directories could also be located under the /etc/rc.d directory (depending on your Operating System).
3) Temporary files: InstallShield creates a number of temporary files and directories in the user’s temporary directory, necessary for running the Muse Setups. These files are are created and managed by the InstallShield installation software and are not under control of Muse Setups.
4) The options file (options or fields entered by the user when running a Muse Setup will be recorded here for later usage) will be stored by default in the user’s home directory.
5) Files installed in order to create the Desktop or Start Menu shortcuts for GUI interfaces. This is very dependent of the Operating Systems on which Muse is installed.
We suggest that you use the following parameters for the ICE Server as the HTTP Server and Muse Proxy Server do not request many resources and may stay as installed. If you still encounter Out of Memory problems with these servers, we suggest you add or increase the values of the memory parameters.
The –Xmx and –Xms parameters should already be present in the Java command line. It is recommended that both have the same values. Setting -Xmx and -Xms to the same value will avoid heap resizing, the most common cause of OutOfMemory errors. If -Xmx and -Xms have the same value, the JVM will try to allocate all heap memory at startup, exiting with an OutOfMemory error if this memory is not available.
Make sure the system has enough memory to accommodate the Java Virtual Machine and other programs. It is not a good option to choose values larger than the physical memory, because the host operating system will swap a part of the memory, and the speed advantage will be lost due to frequent disk accesses. For example, one may set –Xmx512M –Xms512M. The respective machine should have at least 512Mbytes of physical RAM. It is recommended that you set these values as high as possible, taking into consideration the requirements for the other servers running on that machine – including all the Muse Servers.
For Muse 2500 and newer, the Xmx and Xms memory settings (as well other settings) are set in the configure scripts (configure.bat, configure, configure.csh – depending on the operating system and shell used – Linux), one for each Muse server. Apache Tomcat and Muse Proxy servers have as default values TOMCAT_XMS=128M, TOMCAT_XMX=512M respectively PROXY_XMS=64M, PROXY_XMX=512M now.
For more information please refer to the “Muse Advanced Configuration.pdf”, chapter “Java Virtual Machine enhancements.”
The ports that need to be locally accessible are:
1. 2100 – Muse Z39.50 Bridge
Configuration file: – ${MUSE_HOME}/z3950/MuseZBridge.xml
Note: This port works as a client for the Information Connection Engine (ICE) server, but it is also a server for all the Z39.50 clients connecting to it.
2. 2504 – Muse ICE Server
Configuration file: – ${ICE_HOME}/ICECore.xml
Files that contain references to this port:
${MUSE_HOME}/web/MusePeer.xml;
${MUSE_HOME}/use/tools/ICEClient.xml;
${MUSE_HOME}/z3950/MuseZBridge.properties
Note: This port is also configured in all Muse bridges used for the Muse ICE Server (in either one of the following two files) (${MUSE_HOME}/
and in ${MUSE_HOME}/
3. 2505 – 3000 – Muse ICE Server
Note: This is the control port for the Muse ICE Server. If it is not accessible, the next port is used, and so on. An error is retrieved if none of the ports up to 3000 can be opened.
4. 8001 –8004, 8006 – Custom XML Bridges
Configuration file: – ${MUSE_HOME}/http/conf/contexts.xml or ${MUSE_HOME}/tomcat/conf/server.xml;
${MUSE_HOME}/
5. 8005 – Muse Local Infobase Bridge
Configuration file: – ${MUSE_HOME}/http/conf/contexts.xml
or ${MUSE_HOME}/tomcat/conf/server.xml
Files that contain references to this port: ${MUSE_HOME}/factory/SourceFactory.xml
Note: This port acts as a bridge, the communication protocol being XML.
6. 8007 – Muse Admin
Configuration file: ${MUSE_HOME}/http/conf/contexts.xml
or ${MUSE_HOME}/tomcat/conf/server.xml
Note: This port handles XML connections.
7. 8010 – Muse HTTP Server
Configuration file: ${MUSE_HOME}/http/MuseHTTPServer.xml
or ${MUSE_HOME}/tomcat/conf/server.xml
Note: This is the Muse HTTP Server or Tomcat control port.
Note: If you want to access some of the above Muse services from the Internet or from machines other than localhost, then the port(s) corresponding to the desired service must be open to the machine making the request.
Further information about this can be found in the "$MUSE_HOME/doc/Muse Advanced Configuration.pdf"
document, “Server Type Ports Opened by Muse within Local LAN Scope” chapter.
The ports that need to be accessible from the Internet are:
1. 8000 – Apache Tomcat or Muse HTTP Server
Configuration file – ${MUSE_HOME}/tomcat/conf/server.xml
or ${MUSE_HOME}/http/conf/contexts.xml
Files that contain references to this port:
- ${MUSE_HOME}/factory/MuseInfoBase.xml
- ${ICE_HOME}/ICECore.xml
- ${ICE_HOME}/jaas.config
- ${MUSE_HOME}/proxy/jaas.config
- ${MUSE_HOME}/web/MusePeer.xml
2. 8443 – Apache Tomcat or Muse HTTP Server
Configuration file – ${MUSE_HOME}/tomcat/conf/server.xml
or ${MUSE_HOME}/http/conf/contexts.xml
Files that contain references to this port:
- ${MUSE_HOME}/web/MusePeer.xml
- ${MUSE_HOME}/enrich/MuseEnrichmentService.xml
- ${MUSE_HOME}/enrich/index/index.xml
- ${MUSE_HOME}/z3950/MuseZBridge.properties
3. 9797 – Muse Proxy
Configuration file – ${MUSE_HOME}/proxy/MuseProxy.xml
Files that contain references to this port:
- ${MUSE_HOME}/web/MusePeer.xml;
- ${MUSE_HOME}/enrich/MuseEnrichmentService.xml;
- ${MUSE_HOME}/enrich/index/index.xml;
- ${MUSE_HOME}/z3950/MuseZBridge.properties
Note: Also configured in all Muse bridges that use the MNM: (${MUSE_HOME}/
and in ${MUSE_HOME}/
Note: This is the secured mode of the Muse HTTP server (SSL connections).
Warning: One of the server type ports Muse opens for its components may be occupied by other server programs. One
such example is the Ajp12 connector from Tomcat. See “${MUSE_HOME}/doc/Muse External Servlets Engine (Tomcat).pdf"
manual for further reference regarding the ports used by Tomcat.
Warning: If one of the Muse Servers fails to start the user is advised to check the log file for detailed information.
Finding the message below in the log file means that the port is already used by some other Application. When such a
situation occurs a reconfiguration is necessary to change the port used by the respective Muse server or by the already
existing service.
Cannot listen on port
Note: Not all ports are required by all Muse installations. They are required only if the corresponding components are installed. For example, port 9797 is only required if the Muse Proxy is installed.
Note: All server type ports can be remapped. The best way to accomplish this remapping is by using the Muse PostInstall Configuration package, which makes this process simple and ensures that the correct files are updated.
Further information about this can be found in the "$MUSE_HOME/doc/Muse Advanced Configuration.pdf"
document, “Server Type Ports Opened by Muse within Internet Scope” chapter.
We unify all the information from all the sources into Unicode using UTF-8, and we pass it from ICE and all of our Bridges as UTF-8 and XML-encoded entities. However, we are not limited to extracting data just from UTF-8 bytes, and we should not extract bytes as UTF-8 when it is not appropriate. All our extraction in Muse is to UTF-8 but from a wide range of encodings (including UTF-8).
We accommodate this large number of encodings, detailed in the documentation, when we extract data; only then is it converted into Unicode (with UTF-8 encoding) on our side.
Load More
In the $MUSE_HOME/tomcat/docs/Apache Tomcat embedded within Muse.pdf
manual, chapter “3.2.1.1 Secured Connections” you can find all details about securing the access to the Muse Embedded Tomcat server using SSL certificates.
Basically you need to generate a keystore from the private key and certificate, and enable it into the Tomcat’s configuration file: $MUSE_HOME/tomcat/conf/server.xml
by uncommenting or adding if not already existing the connector:
Make sure the keystore name is correct and its password. Also inbound access on port 443 must be opened in the firewall.
Alternatively, for creating the keystore file, you can use EduLib’s CERTivity® KeyStores Manager tool. Get the free license, download and install it and follow the steps below for creating the keystore:
- File menu –> New KeyStore
File name: keystore
New KeyStore Type: jks
Click on Save. - KeyStore menu –> Import Key Pair
– select PKCS #8
– uncheck Private Key Encrypted
– Private Key File: browse to your (.KEY) private key file
– Certificate(s) File: browse to your (.CRT) certificates file
– then OK
– Alias should remain as suggested –> then OK
– enter pass “changeit” without quotes (as it is default into the${MUSE_HOME}/tomcat/conf/server.xml
file) –> then OK - File menu –> Save
- KeyStore menu –> Change Keystore Password
– enter pass “changeit” without quotes (as it is configured into the${MUSE_HOME}/tomcat/conf/server.xml
file) –> then OK - File –> Save
- Rename the resulted file from “keystore.jks” to “keystore” and place it into the
${MUSE_HOME}/tomcat/conf/
directory.
Below are the steps to enable and configure the “IP on campus/personal account off campus” authentication workflow for a MuseKnowledge Application. Note that they apply for versions starting with 7.6.
1) Configure the login modules.
Edit the ${ICE_HOME}/jaas.config
file, locate the application entry for which to make the settings
(refered below ad AppID). It should look like below:
AppID {
com.edulib.ice.security.authentication.ICELoginModuleXML required passwords="${ICE_HOME}/profiles/passwords.xml";
};
The entry must be modified to look like below:
AppID {
com.edulib.ice.security.authentication.ICELoginModuleXML required passwords="${ICE_HOME}/profiles/passwords.xml" justUser="true";
com.edulib.ice.security.authentication.ICELoginModuleIP sufficient hosts="${ICE_HOME}/profiles/hosts.xml";
com.edulib.ice.security.authentication.ICELoginModulePPMS required xmldbLocation="xmldb:exist:http://admin:@localhost:8000/xmldb/exist/xmlrpc";
};
(the 8000 port must be adjusted accordingly as per the Tomcat’s installation port)
2) Add the allowed IP(s) for the IP authentication
Login into the MCAA console, select the application from the list (AppID) and click on the “Login Modules” left menu. In the login modules listing click the “Edit” link corresponding to the ICELoginModuleXML module. In the new panel click the “Insert” link and start adding the IP(s). Consult the available help details to see the accepted format entries.
3) Make the end-user interface changes
Login into the MCAA console, select the application from the list (AppID) and click on the “Application General Settings->Interface Options” left menu link. In the Branding tab, “Login Page” section, press the “Load remap U/P Form”, then click the Update button from the bottom of the page.
4) Enable the “My Account” functionality
Login into the MCAA console, select the application from the list (AppID) and click on the “Application General Settings->Interface Options” left menu link. In the Functionality tab, locate the My Account” section and enable the “Enable Account:”, “Enable Saved Searches” and “Enable WorkRoom” features.
From this moment the “IP on campus/personal account off campus” authentication workflow should work, the access URL to use is:
http://hostname:port/muse/logon/AppID/autologin.html
This is explained in the “Adding a new slave machine to the environment” chapter from the “Muse Advanced Configuration.pdf” manual.
In a shared Muse environment all files are shared, including the $ICE_HOME/serial.properties
file containing licensing information and necessary for the ICE to start.
When adding new servers to a Muse cluster one cannot just run the Registration process to register the new machine because of the following reason: Muse was not installed on the new machine using the Muse setup kit, hence the InstallShield files necessary for running the Registration do not exist.
In the shared Muse environment the Muse files are loaded/mounted from the master machine.
Below are the steps to be performed when a new slave machine is added into the Muse environment after the initial setup an it needs to be registered:
1. An “Extension Request” procedure for the Serial Number is performed to add all IPv4 and IPv6
IPs of the new machine to the Serial Number in use. In case the Serial Number already contains the IPs of the new machine then there is no need to run the “Extension Request” and the Muse servers can be started on the new machine (step 4).
2. After the extension request is processed by MuseGlobal, the Muse Registration Setup must be run on the master machine.
3 A synchronization of the slave machines with the master must be performed in order for the new serial.properties file to get on the new machine.
4 The Muse servers can now be started on the new machine.
The hosts.xml files are used to allow/deny access to different products from some IPs or classes of IPs. The client’s IP is tested against the rules in the hosts.xml file and the first one that matches is applied – all the following rules are ignored.
When getting the hostname related to a given IP the Java mechanism has a spoof protection that, sometimes, will not give optimal results.
The following situation will not give the expected results:
1. Java asks the DNS server for the hostname related to an IP address (reverse DNS)
2. When the DNS server replies with the hostname, Java asks the same DNS server for the IP address of that particular hostname
3. If the initial IP address and the one returned as the result of request #2 above do not match, then Java returns the initial IP address.
This process may interfere with the way we compare the client IP address against the ones stored in the hosts.xml file. Due to the above Java protection, some IP addresses will not match against a given domain even if their reverse DNS name belongs to that particular domain.
When unistall Muse Proxy 3101 or Muse 2700 (and any interanl 2601,2602, 2603) on a common installation of both of them on some machines the following error is obtained:
Errors occurred during the uninstallation.
com.installshield.product.service.registry.LoggedSoftwareObject cannot be cast to com.installshield.product.ProductBean
This seems to be related to having components with the same UIDs (using two or more Assemblies (in a dynamic installer) where some features and components had the same key (UUID)).
The workaround to solve this problem is:
1) Go to the folder
C:\Program Files\Common Files\InstallShield\Universal\common\Gen1
2) Delete the entire folder named “_vpddb”
3) Restart the uninstallation.
See: [http://cdac.in/index.aspx?id=hi_hs_HL7Tutorial#Uninstallation instructions for SDK for HL7 Java Edition(Windows/Linux/Mac)]
f you get the “bc: command not found” error when running the Muse bin installer, stop the installation and install “bc” package.
The package installation depends on the Linux distribution you are running. Here are some examples:
– RedHat using the yum package manager – run “yum install bc” or
– Debian using the apt package manager – run “apt-get install bc”.
After installing “bc”, relogin to console and rerun the Muse installer.
The Muse Embedded Tomcat is needed because it entirely replaces Muse HTTP Server which was also used for the internal XML protocol and for the XMLDB. The external Tomcat could not have been used for the XML protocols and XMLDB.
If there are no other services than Muse in the External Tomcat then this can be disabled. Muse contexts should be deactivated from there. The Muse Embedded Tomcat will come with its own Muse contexts, thus everything will be ok. Also consider lowering the Java memory for the external Tomcat because Muse servers will not run in it anymore.
If there is an External Tomcat running on the same machine which didn’t have anything in common with the Muse Servers then normally one doesn’t have to worry about the embedded Muse Tomcat server, because this one just takes the place of Muse HTTP Server, and since there were no conflicts between that External Tomcat and Muse HTTP Server there shouldn’t be any here. If it is a fresh install of Muse then the only conflicts are given by port 8005 as described below. This conflict was always present between the Muse HTTP Server and an External Tomcat. But in case there was no service running in that External Tomcat we recommend that is shut down and disabled so that it doesn’t start at boot time.
In the rare event that there is an external Tomcat that is used both for Muse and for other external services and both Muse and the other services contexts are all defined on the same port (e.g. 80) and you don’t want to change the Muse port to another port (e.g. 8000) then the front end Muse Servlets will remain defined and further used in the External Tomcat server and the Muse Embedded Tomcat will be used for what Muse HTTP Server was used, namely for XML protocols and XMLDB.
Regarding the port conflicts there should be none effecting you in normal situation. For rare events, the cases below would help troubleshooting a port conflict in case it would appear.
– The Muse HTTP Server already conflicted with an external Tomcat on port 8005 used for internal XML Muse protocols in Muse and for Shut Down in Tomcat. Hence, because Muse HTTP Server and the external Tomcat co-existed it means that the port value was changed from 8005 on one side or another so that both were running. As the Muse Embedded Tomcat takes the Muse HTTP Server configuration the port 8005 should not be an issue.
– In case the External Tomcat was connected to the Apache Web Server then the AJP ports will conflict and only one Tomcat will be able to run through the Apache Web Server. For this change the AJP 8009 port from the Muse Embedded Tomcat. However note that other changes to the interconnection between Apache Web Server and both Tomcats are necessary in order to differentiate which requests received by the Apache Web Server are redirected to which Tomcat. These are described in the document Muse External Servlets Engine (Tomcat), chapter entitled “Web service adapters for Tomcat”.
– There can be other applications on the same machine conflicting to the External Tomcat. For this a netsat or fuser command can be run on Unix like environments. The Tomcat files were ports are defined are tomcat/conf/server.xml. Check these files both for the External Tomcat and for the Embedded also for the case when one modified in the past the default values of the External Tomcat server.
Typically, this means that the version of the installer you are running does not match your license. For instance, if you downloaded a 2.5.0.0 installer, but you have a 2.6.0.0 license (or vice versa), you will receive this error.
Please download the right Muse version.
If this is not the case then check the copied Serial Number for extra characters due to a faulty copy/paste operation. After copying the Serial Number string please first paste it in a plain text document and check it to make sure it does not contain extra characters at the beginning or at the end of the string.
The procedure to increase the memory for a Muse server installed as a service under Windows is:
a) Stop the service by typing at the command prompt:
– net stop “Muse Proxy Service” (for Muse Proxy) and/or
– net stop “Muse ICE Server” (for Muse ICE) and/or
– net stop “Muse HTTP Server” (for Muse HTTP) or net stop “Embedded Apache Tomcat” (for Apache Tomcat)
or by navigating to Control Panel -> Administrative Tools -> Services and stop whatever is needed.
b) Uninstall the service(s) using the provided script(s):
– “UnInstallMuseProxyService.bat” (available in the %MUSE_HOME%\proxy folder) and/or
– “UnInstallICEService.bat” (available in the %MUSE_HOME%\use\ice folder)and/or
– “UnInstallHTTPService.bat” (available in the %MUSE_HOME%\http folder – if using Muse HTTP Server) or “service.bat remove” (available in the %MUSE_HOME%\tomcat\bin folder – if using Apache Tomcat server)
c1) For Muse before 2500, modify the corresponding “JavaService.jvm” file(s) available in the location(s) above mentioned by changing the following lines (using a text editor):
– Xms64M
– Xmx256M
to whatever memory amount needed. Please consider the available physical memory of the machine ().
c2) If using Apache Tomcat HTTP server (Muse 2500 or newer), all changes described above still hold, except for the Apache Tomcat – the changes must be made in the %MUSE_HOME%\tomcat\bin\configure.bat file, by modifying the TOMCAT_XMS and/or TOMCAT_XMX values.
d) Re-install the service(s) using the provided script(s):
– “InstallMuseProxyService.bat” (available in the %MUSE_HOME%\proxy folder) and/or
– “InstallICEService.bat” (available in the %MUSE_HOME%\use\ice folder) and/or
– “InstallHTTPService.bat” (available in the %MUSE_HOME%\http folder – if using Muse HTTP Server) or “service.bat install” (available in the %MUSE_HOME%\tomcat\bin folder – if using Apache Tomcat server)
e) Start the service(s) by typing at the command prompt:
– net start “Muse Proxy Service” (for Muse Proxy) and/or
– net start “Muse ICE Server” (for Muse ICE) and/or
– net start “Muse HTTP Server” (for Muse HTTP) or net start “Embedded Apache Tomcat” (for Apache Tomcat)
or by navigating to Control Panel -> Administrative Tools -> Services and start whatever is needed.
Note: when editing “JavaService.jvm” like files, one must be aware that each line of the file must end with a “space” and “ENTER” and the last line of it must not have either the “space” nor the “ENTER”.
When one or more new IPs are added to a machine running Muse ICE, ICE will not start again until the Muse product is re-registered. Running the Muse Registration process ensures that all the current IPs of the machine are added to the serial.properties file, which is required for the Muse ICE server to start successfully.
For more details about the Muse Resistration procedure, please see the "$MUSE_HOME/doc/Muse Install.pdf"
document, the “Product Registration” and “Running the Muse Registration Setup” chapters.
There are files used by Muse that reside outside of the ${MUSE_HOME} folder. Below is a list of such files along with their location, depending on the Operating System.
1a) The vpd.properties file (before Muse 2104). This is the InstallShield’s installation database. It keeps track of all Muse products installed and it is located under the installing user home directory on non-Windows platforms and in the Windows directory (if the user has write permissions) or in user’s home directory (if the user has no write permissions in the Windows directory).
1b) The InstallShield directory. This is the InstallShield’s installation database. It keeps track of all Muse products installed and it is located under the installing user home directory on non-Windows platforms and in the %HOMEDRIVE%/Program Files/Common Files/
directory or in user’s home directory (if the user has no write permissions in the %HOMEDRIVE%/Program Files/ directory).
2) For running Muse servers as Windows services, each server will be registered to Windows as a regular service (using Windows registry).
2a) Before Muse 2210. The following files refer to Muse Services on non-Windows platforms:
/etc/rc.d/startMuseServices - used to start Muse Services;
/etc/rc.d/rc.muse - used to start/stop/restart Muse Services;
2b) After Muse 2210 (including). The following files refer to Muse Services on non-Windows platforms:
/etc/init.d/muse - used to start/stop/restart Muse Services;
2c) The following files refer to Muse Services on non-Windows platforms. These are symbolic links to /etc/init.d/muse and belong to the service management system on Linux:
/etc/rc3.d/K99Muse - used to stop Muse Services in run level 3;
/etc/rc3.d/S99Muse - used to start Muse Services in run level 3;
/etc/rc4.d/S99Muse - used to start Muse Services in run level 4;
/etc/rc4.d/K99Muse - used to stop Muse Services in run level 4;
/etc/rc5.d/S99Muse - used to start Muse Services in run level 5;
/etc/rc5.d/K99Muse - used to stop Muse Services in run level 5;
Note: the rc[x].d directories could also be located under the /etc/rc.d directory (depending on your Operating System).
3) Temporary files: InstallShield creates a number of temporary files and directories in the user’s temporary directory, necessary for running the Muse Setups. These files are are created and managed by the InstallShield installation software and are not under control of Muse Setups.
4) The options file (options or fields entered by the user when running a Muse Setup will be recorded here for later usage) will be stored by default in the user’s home directory.
5) Files installed in order to create the Desktop or Start Menu shortcuts for GUI interfaces. This is very dependent of the Operating Systems on which Muse is installed.
We suggest that you use the following parameters for the ICE Server as the HTTP Server and Muse Proxy Server do not request many resources and may stay as installed. If you still encounter Out of Memory problems with these servers, we suggest you add or increase the values of the memory parameters.
The –Xmx and –Xms parameters should already be present in the Java command line. It is recommended that both have the same values. Setting -Xmx and -Xms to the same value will avoid heap resizing, the most common cause of OutOfMemory errors. If -Xmx and -Xms have the same value, the JVM will try to allocate all heap memory at startup, exiting with an OutOfMemory error if this memory is not available.
Make sure the system has enough memory to accommodate the Java Virtual Machine and other programs. It is not a good option to choose values larger than the physical memory, because the host operating system will swap a part of the memory, and the speed advantage will be lost due to frequent disk accesses. For example, one may set –Xmx512M –Xms512M. The respective machine should have at least 512Mbytes of physical RAM. It is recommended that you set these values as high as possible, taking into consideration the requirements for the other servers running on that machine – including all the Muse Servers.
For Muse 2500 and newer, the Xmx and Xms memory settings (as well other settings) are set in the configure scripts (configure.bat, configure, configure.csh – depending on the operating system and shell used – Linux), one for each Muse server. Apache Tomcat and Muse Proxy servers have as default values TOMCAT_XMS=128M, TOMCAT_XMX=512M respectively PROXY_XMS=64M, PROXY_XMX=512M now.
For more information please refer to the “Muse Advanced Configuration.pdf”, chapter “Java Virtual Machine enhancements.”
The ports that need to be locally accessible are:
1. 2100 – Muse Z39.50 Bridge
Configuration file: – ${MUSE_HOME}/z3950/MuseZBridge.xml
Note: This port works as a client for the Information Connection Engine (ICE) server, but it is also a server for all the Z39.50 clients connecting to it.
2. 2504 – Muse ICE Server
Configuration file: – ${ICE_HOME}/ICECore.xml
Files that contain references to this port:
${MUSE_HOME}/web/MusePeer.xml;
${MUSE_HOME}/use/tools/ICEClient.xml;
${MUSE_HOME}/z3950/MuseZBridge.properties
Note: This port is also configured in all Muse bridges used for the Muse ICE Server (in either one of the following two files) (${MUSE_HOME}/
and in ${MUSE_HOME}/
3. 2505 – 3000 – Muse ICE Server
Note: This is the control port for the Muse ICE Server. If it is not accessible, the next port is used, and so on. An error is retrieved if none of the ports up to 3000 can be opened.
4. 8001 –8004, 8006 – Custom XML Bridges
Configuration file: – ${MUSE_HOME}/http/conf/contexts.xml or ${MUSE_HOME}/tomcat/conf/server.xml;
${MUSE_HOME}/
5. 8005 – Muse Local Infobase Bridge
Configuration file: – ${MUSE_HOME}/http/conf/contexts.xml
or ${MUSE_HOME}/tomcat/conf/server.xml
Files that contain references to this port: ${MUSE_HOME}/factory/SourceFactory.xml
Note: This port acts as a bridge, the communication protocol being XML.
6. 8007 – Muse Admin
Configuration file: ${MUSE_HOME}/http/conf/contexts.xml
or ${MUSE_HOME}/tomcat/conf/server.xml
Note: This port handles XML connections.
7. 8010 – Muse HTTP Server
Configuration file: ${MUSE_HOME}/http/MuseHTTPServer.xml
or ${MUSE_HOME}/tomcat/conf/server.xml
Note: This is the Muse HTTP Server or Tomcat control port.
Note: If you want to access some of the above Muse services from the Internet or from machines other than localhost, then the port(s) corresponding to the desired service must be open to the machine making the request.
Further information about this can be found in the "$MUSE_HOME/doc/Muse Advanced Configuration.pdf"
document, “Server Type Ports Opened by Muse within Local LAN Scope” chapter.
The ports that need to be accessible from the Internet are:
1. 8000 – Apache Tomcat or Muse HTTP Server
Configuration file – ${MUSE_HOME}/tomcat/conf/server.xml
or ${MUSE_HOME}/http/conf/contexts.xml
Files that contain references to this port:
- ${MUSE_HOME}/factory/MuseInfoBase.xml
- ${ICE_HOME}/ICECore.xml
- ${ICE_HOME}/jaas.config
- ${MUSE_HOME}/proxy/jaas.config
- ${MUSE_HOME}/web/MusePeer.xml
2. 8443 – Apache Tomcat or Muse HTTP Server
Configuration file – ${MUSE_HOME}/tomcat/conf/server.xml
or ${MUSE_HOME}/http/conf/contexts.xml
Files that contain references to this port:
- ${MUSE_HOME}/web/MusePeer.xml
- ${MUSE_HOME}/enrich/MuseEnrichmentService.xml
- ${MUSE_HOME}/enrich/index/index.xml
- ${MUSE_HOME}/z3950/MuseZBridge.properties
3. 9797 – Muse Proxy
Configuration file – ${MUSE_HOME}/proxy/MuseProxy.xml
Files that contain references to this port:
- ${MUSE_HOME}/web/MusePeer.xml;
- ${MUSE_HOME}/enrich/MuseEnrichmentService.xml;
- ${MUSE_HOME}/enrich/index/index.xml;
- ${MUSE_HOME}/z3950/MuseZBridge.properties
Note: Also configured in all Muse bridges that use the MNM: (${MUSE_HOME}/
and in ${MUSE_HOME}/
Note: This is the secured mode of the Muse HTTP server (SSL connections).
Warning: One of the server type ports Muse opens for its components may be occupied by other server programs. One
such example is the Ajp12 connector from Tomcat. See “${MUSE_HOME}/doc/Muse External Servlets Engine (Tomcat).pdf"
manual for further reference regarding the ports used by Tomcat.
Warning: If one of the Muse Servers fails to start the user is advised to check the log file for detailed information.
Finding the message below in the log file means that the port is already used by some other Application. When such a
situation occurs a reconfiguration is necessary to change the port used by the respective Muse server or by the already
existing service.
Cannot listen on port
Note: Not all ports are required by all Muse installations. They are required only if the corresponding components are installed. For example, port 9797 is only required if the Muse Proxy is installed.
Note: All server type ports can be remapped. The best way to accomplish this remapping is by using the Muse PostInstall Configuration package, which makes this process simple and ensures that the correct files are updated.
Further information about this can be found in the "$MUSE_HOME/doc/Muse Advanced Configuration.pdf"
document, “Server Type Ports Opened by Muse within Internet Scope” chapter.
We unify all the information from all the sources into Unicode using UTF-8, and we pass it from ICE and all of our Bridges as UTF-8 and XML-encoded entities. However, we are not limited to extracting data just from UTF-8 bytes, and we should not extract bytes as UTF-8 when it is not appropriate. All our extraction in Muse is to UTF-8 but from a wide range of encodings (including UTF-8).
We accommodate this large number of encodings, detailed in the documentation, when we extract data; only then is it converted into Unicode (with UTF-8 encoding) on our side.
Load More
In the $MUSE_HOME/tomcat/docs/Apache Tomcat embedded within Muse.pdf
manual, chapter “3.2.1.1 Secured Connections” you can find all details about securing the access to the Muse Embedded Tomcat server using SSL certificates.
Basically you need to generate a keystore from the private key and certificate, and enable it into the Tomcat’s configuration file: $MUSE_HOME/tomcat/conf/server.xml
by uncommenting or adding if not already existing the connector:
Make sure the keystore name is correct and its password. Also inbound access on port 443 must be opened in the firewall.
Alternatively, for creating the keystore file, you can use EduLib’s CERTivity® KeyStores Manager tool. Get the free license, download and install it and follow the steps below for creating the keystore:
- File menu –> New KeyStore
File name: keystore
New KeyStore Type: jks
Click on Save. - KeyStore menu –> Import Key Pair
– select PKCS #8
– uncheck Private Key Encrypted
– Private Key File: browse to your (.KEY) private key file
– Certificate(s) File: browse to your (.CRT) certificates file
– then OK
– Alias should remain as suggested –> then OK
– enter pass “changeit” without quotes (as it is default into the${MUSE_HOME}/tomcat/conf/server.xml
file) –> then OK - File menu –> Save
- KeyStore menu –> Change Keystore Password
– enter pass “changeit” without quotes (as it is configured into the${MUSE_HOME}/tomcat/conf/server.xml
file) –> then OK - File –> Save
- Rename the resulted file from “keystore.jks” to “keystore” and place it into the
${MUSE_HOME}/tomcat/conf/
directory.
Below are the steps to enable and configure the “IP on campus/personal account off campus” authentication workflow for a MuseKnowledge Application. Note that they apply for versions starting with 7.6.
1) Configure the login modules.
Edit the ${ICE_HOME}/jaas.config
file, locate the application entry for which to make the settings
(refered below ad AppID). It should look like below:
AppID {
com.edulib.ice.security.authentication.ICELoginModuleXML required passwords="${ICE_HOME}/profiles/passwords.xml";
};
The entry must be modified to look like below:
AppID {
com.edulib.ice.security.authentication.ICELoginModuleXML required passwords="${ICE_HOME}/profiles/passwords.xml" justUser="true";
com.edulib.ice.security.authentication.ICELoginModuleIP sufficient hosts="${ICE_HOME}/profiles/hosts.xml";
com.edulib.ice.security.authentication.ICELoginModulePPMS required xmldbLocation="xmldb:exist:http://admin:@localhost:8000/xmldb/exist/xmlrpc";
};
(the 8000 port must be adjusted accordingly as per the Tomcat’s installation port)
2) Add the allowed IP(s) for the IP authentication
Login into the MCAA console, select the application from the list (AppID) and click on the “Login Modules” left menu. In the login modules listing click the “Edit” link corresponding to the ICELoginModuleXML module. In the new panel click the “Insert” link and start adding the IP(s). Consult the available help details to see the accepted format entries.
3) Make the end-user interface changes
Login into the MCAA console, select the application from the list (AppID) and click on the “Application General Settings->Interface Options” left menu link. In the Branding tab, “Login Page” section, press the “Load remap U/P Form”, then click the Update button from the bottom of the page.
4) Enable the “My Account” functionality
Login into the MCAA console, select the application from the list (AppID) and click on the “Application General Settings->Interface Options” left menu link. In the Functionality tab, locate the My Account” section and enable the “Enable Account:”, “Enable Saved Searches” and “Enable WorkRoom” features.
From this moment the “IP on campus/personal account off campus” authentication workflow should work, the access URL to use is:
http://hostname:port/muse/logon/AppID/autologin.html
This is explained in the “Adding a new slave machine to the environment” chapter from the “Muse Advanced Configuration.pdf” manual.
In a shared Muse environment all files are shared, including the $ICE_HOME/serial.properties
file containing licensing information and necessary for the ICE to start.
When adding new servers to a Muse cluster one cannot just run the Registration process to register the new machine because of the following reason: Muse was not installed on the new machine using the Muse setup kit, hence the InstallShield files necessary for running the Registration do not exist.
In the shared Muse environment the Muse files are loaded/mounted from the master machine.
Below are the steps to be performed when a new slave machine is added into the Muse environment after the initial setup an it needs to be registered:
1. An “Extension Request” procedure for the Serial Number is performed to add all IPv4 and IPv6
IPs of the new machine to the Serial Number in use. In case the Serial Number already contains the IPs of the new machine then there is no need to run the “Extension Request” and the Muse servers can be started on the new machine (step 4).
2. After the extension request is processed by MuseGlobal, the Muse Registration Setup must be run on the master machine.
3 A synchronization of the slave machines with the master must be performed in order for the new serial.properties file to get on the new machine.
4 The Muse servers can now be started on the new machine.
The hosts.xml files are used to allow/deny access to different products from some IPs or classes of IPs. The client’s IP is tested against the rules in the hosts.xml file and the first one that matches is applied – all the following rules are ignored.
When getting the hostname related to a given IP the Java mechanism has a spoof protection that, sometimes, will not give optimal results.
The following situation will not give the expected results:
1. Java asks the DNS server for the hostname related to an IP address (reverse DNS)
2. When the DNS server replies with the hostname, Java asks the same DNS server for the IP address of that particular hostname
3. If the initial IP address and the one returned as the result of request #2 above do not match, then Java returns the initial IP address.
This process may interfere with the way we compare the client IP address against the ones stored in the hosts.xml file. Due to the above Java protection, some IP addresses will not match against a given domain even if their reverse DNS name belongs to that particular domain.
When unistall Muse Proxy 3101 or Muse 2700 (and any interanl 2601,2602, 2603) on a common installation of both of them on some machines the following error is obtained:
Errors occurred during the uninstallation.
com.installshield.product.service.registry.LoggedSoftwareObject cannot be cast to com.installshield.product.ProductBean
This seems to be related to having components with the same UIDs (using two or more Assemblies (in a dynamic installer) where some features and components had the same key (UUID)).
The workaround to solve this problem is:
1) Go to the folder
C:\Program Files\Common Files\InstallShield\Universal\common\Gen1
2) Delete the entire folder named “_vpddb”
3) Restart the uninstallation.
See: [http://cdac.in/index.aspx?id=hi_hs_HL7Tutorial#Uninstallation instructions for SDK for HL7 Java Edition(Windows/Linux/Mac)]
f you get the “bc: command not found” error when running the Muse bin installer, stop the installation and install “bc” package.
The package installation depends on the Linux distribution you are running. Here are some examples:
– RedHat using the yum package manager – run “yum install bc” or
– Debian using the apt package manager – run “apt-get install bc”.
After installing “bc”, relogin to console and rerun the Muse installer.
The Muse Embedded Tomcat is needed because it entirely replaces Muse HTTP Server which was also used for the internal XML protocol and for the XMLDB. The external Tomcat could not have been used for the XML protocols and XMLDB.
If there are no other services than Muse in the External Tomcat then this can be disabled. Muse contexts should be deactivated from there. The Muse Embedded Tomcat will come with its own Muse contexts, thus everything will be ok. Also consider lowering the Java memory for the external Tomcat because Muse servers will not run in it anymore.
If there is an External Tomcat running on the same machine which didn’t have anything in common with the Muse Servers then normally one doesn’t have to worry about the embedded Muse Tomcat server, because this one just takes the place of Muse HTTP Server, and since there were no conflicts between that External Tomcat and Muse HTTP Server there shouldn’t be any here. If it is a fresh install of Muse then the only conflicts are given by port 8005 as described below. This conflict was always present between the Muse HTTP Server and an External Tomcat. But in case there was no service running in that External Tomcat we recommend that is shut down and disabled so that it doesn’t start at boot time.
In the rare event that there is an external Tomcat that is used both for Muse and for other external services and both Muse and the other services contexts are all defined on the same port (e.g. 80) and you don’t want to change the Muse port to another port (e.g. 8000) then the front end Muse Servlets will remain defined and further used in the External Tomcat server and the Muse Embedded Tomcat will be used for what Muse HTTP Server was used, namely for XML protocols and XMLDB.
Regarding the port conflicts there should be none effecting you in normal situation. For rare events, the cases below would help troubleshooting a port conflict in case it would appear.
– The Muse HTTP Server already conflicted with an external Tomcat on port 8005 used for internal XML Muse protocols in Muse and for Shut Down in Tomcat. Hence, because Muse HTTP Server and the external Tomcat co-existed it means that the port value was changed from 8005 on one side or another so that both were running. As the Muse Embedded Tomcat takes the Muse HTTP Server configuration the port 8005 should not be an issue.
– In case the External Tomcat was connected to the Apache Web Server then the AJP ports will conflict and only one Tomcat will be able to run through the Apache Web Server. For this change the AJP 8009 port from the Muse Embedded Tomcat. However note that other changes to the interconnection between Apache Web Server and both Tomcats are necessary in order to differentiate which requests received by the Apache Web Server are redirected to which Tomcat. These are described in the document Muse External Servlets Engine (Tomcat), chapter entitled “Web service adapters for Tomcat”.
– There can be other applications on the same machine conflicting to the External Tomcat. For this a netsat or fuser command can be run on Unix like environments. The Tomcat files were ports are defined are tomcat/conf/server.xml. Check these files both for the External Tomcat and for the Embedded also for the case when one modified in the past the default values of the External Tomcat server.
Typically, this means that the version of the installer you are running does not match your license. For instance, if you downloaded a 2.5.0.0 installer, but you have a 2.6.0.0 license (or vice versa), you will receive this error.
Please download the right Muse version.
If this is not the case then check the copied Serial Number for extra characters due to a faulty copy/paste operation. After copying the Serial Number string please first paste it in a plain text document and check it to make sure it does not contain extra characters at the beginning or at the end of the string.
The procedure to increase the memory for a Muse server installed as a service under Windows is:
a) Stop the service by typing at the command prompt:
– net stop “Muse Proxy Service” (for Muse Proxy) and/or
– net stop “Muse ICE Server” (for Muse ICE) and/or
– net stop “Muse HTTP Server” (for Muse HTTP) or net stop “Embedded Apache Tomcat” (for Apache Tomcat)
or by navigating to Control Panel -> Administrative Tools -> Services and stop whatever is needed.
b) Uninstall the service(s) using the provided script(s):
– “UnInstallMuseProxyService.bat” (available in the %MUSE_HOME%\proxy folder) and/or
– “UnInstallICEService.bat” (available in the %MUSE_HOME%\use\ice folder)and/or
– “UnInstallHTTPService.bat” (available in the %MUSE_HOME%\http folder – if using Muse HTTP Server) or “service.bat remove” (available in the %MUSE_HOME%\tomcat\bin folder – if using Apache Tomcat server)
c1) For Muse before 2500, modify the corresponding “JavaService.jvm” file(s) available in the location(s) above mentioned by changing the following lines (using a text editor):
– Xms64M
– Xmx256M
to whatever memory amount needed. Please consider the available physical memory of the machine ().
c2) If using Apache Tomcat HTTP server (Muse 2500 or newer), all changes described above still hold, except for the Apache Tomcat – the changes must be made in the %MUSE_HOME%\tomcat\bin\configure.bat file, by modifying the TOMCAT_XMS and/or TOMCAT_XMX values.
d) Re-install the service(s) using the provided script(s):
– “InstallMuseProxyService.bat” (available in the %MUSE_HOME%\proxy folder) and/or
– “InstallICEService.bat” (available in the %MUSE_HOME%\use\ice folder) and/or
– “InstallHTTPService.bat” (available in the %MUSE_HOME%\http folder – if using Muse HTTP Server) or “service.bat install” (available in the %MUSE_HOME%\tomcat\bin folder – if using Apache Tomcat server)
e) Start the service(s) by typing at the command prompt:
– net start “Muse Proxy Service” (for Muse Proxy) and/or
– net start “Muse ICE Server” (for Muse ICE) and/or
– net start “Muse HTTP Server” (for Muse HTTP) or net start “Embedded Apache Tomcat” (for Apache Tomcat)
or by navigating to Control Panel -> Administrative Tools -> Services and start whatever is needed.
Note: when editing “JavaService.jvm” like files, one must be aware that each line of the file must end with a “space” and “ENTER” and the last line of it must not have either the “space” nor the “ENTER”.
When one or more new IPs are added to a machine running Muse ICE, ICE will not start again until the Muse product is re-registered. Running the Muse Registration process ensures that all the current IPs of the machine are added to the serial.properties file, which is required for the Muse ICE server to start successfully.
For more details about the Muse Resistration procedure, please see the "$MUSE_HOME/doc/Muse Install.pdf"
document, the “Product Registration” and “Running the Muse Registration Setup” chapters.
There are files used by Muse that reside outside of the ${MUSE_HOME} folder. Below is a list of such files along with their location, depending on the Operating System.
1a) The vpd.properties file (before Muse 2104). This is the InstallShield’s installation database. It keeps track of all Muse products installed and it is located under the installing user home directory on non-Windows platforms and in the Windows directory (if the user has write permissions) or in user’s home directory (if the user has no write permissions in the Windows directory).
1b) The InstallShield directory. This is the InstallShield’s installation database. It keeps track of all Muse products installed and it is located under the installing user home directory on non-Windows platforms and in the %HOMEDRIVE%/Program Files/Common Files/
directory or in user’s home directory (if the user has no write permissions in the %HOMEDRIVE%/Program Files/ directory).
2) For running Muse servers as Windows services, each server will be registered to Windows as a regular service (using Windows registry).
2a) Before Muse 2210. The following files refer to Muse Services on non-Windows platforms:
/etc/rc.d/startMuseServices - used to start Muse Services;
/etc/rc.d/rc.muse - used to start/stop/restart Muse Services;
2b) After Muse 2210 (including). The following files refer to Muse Services on non-Windows platforms:
/etc/init.d/muse - used to start/stop/restart Muse Services;
2c) The following files refer to Muse Services on non-Windows platforms. These are symbolic links to /etc/init.d/muse and belong to the service management system on Linux:
/etc/rc3.d/K99Muse - used to stop Muse Services in run level 3;
/etc/rc3.d/S99Muse - used to start Muse Services in run level 3;
/etc/rc4.d/S99Muse - used to start Muse Services in run level 4;
/etc/rc4.d/K99Muse - used to stop Muse Services in run level 4;
/etc/rc5.d/S99Muse - used to start Muse Services in run level 5;
/etc/rc5.d/K99Muse - used to stop Muse Services in run level 5;
Note: the rc[x].d directories could also be located under the /etc/rc.d directory (depending on your Operating System).
3) Temporary files: InstallShield creates a number of temporary files and directories in the user’s temporary directory, necessary for running the Muse Setups. These files are are created and managed by the InstallShield installation software and are not under control of Muse Setups.
4) The options file (options or fields entered by the user when running a Muse Setup will be recorded here for later usage) will be stored by default in the user’s home directory.
5) Files installed in order to create the Desktop or Start Menu shortcuts for GUI interfaces. This is very dependent of the Operating Systems on which Muse is installed.
We suggest that you use the following parameters for the ICE Server as the HTTP Server and Muse Proxy Server do not request many resources and may stay as installed. If you still encounter Out of Memory problems with these servers, we suggest you add or increase the values of the memory parameters.
The –Xmx and –Xms parameters should already be present in the Java command line. It is recommended that both have the same values. Setting -Xmx and -Xms to the same value will avoid heap resizing, the most common cause of OutOfMemory errors. If -Xmx and -Xms have the same value, the JVM will try to allocate all heap memory at startup, exiting with an OutOfMemory error if this memory is not available.
Make sure the system has enough memory to accommodate the Java Virtual Machine and other programs. It is not a good option to choose values larger than the physical memory, because the host operating system will swap a part of the memory, and the speed advantage will be lost due to frequent disk accesses. For example, one may set –Xmx512M –Xms512M. The respective machine should have at least 512Mbytes of physical RAM. It is recommended that you set these values as high as possible, taking into consideration the requirements for the other servers running on that machine – including all the Muse Servers.
For Muse 2500 and newer, the Xmx and Xms memory settings (as well other settings) are set in the configure scripts (configure.bat, configure, configure.csh – depending on the operating system and shell used – Linux), one for each Muse server. Apache Tomcat and Muse Proxy servers have as default values TOMCAT_XMS=128M, TOMCAT_XMX=512M respectively PROXY_XMS=64M, PROXY_XMX=512M now.
For more information please refer to the “Muse Advanced Configuration.pdf”, chapter “Java Virtual Machine enhancements.”
The ports that need to be locally accessible are:
1. 2100 – Muse Z39.50 Bridge
Configuration file: – ${MUSE_HOME}/z3950/MuseZBridge.xml
Note: This port works as a client for the Information Connection Engine (ICE) server, but it is also a server for all the Z39.50 clients connecting to it.
2. 2504 – Muse ICE Server
Configuration file: – ${ICE_HOME}/ICECore.xml
Files that contain references to this port:
${MUSE_HOME}/web/MusePeer.xml;
${MUSE_HOME}/use/tools/ICEClient.xml;
${MUSE_HOME}/z3950/MuseZBridge.properties
Note: This port is also configured in all Muse bridges used for the Muse ICE Server (in either one of the following two files) (${MUSE_HOME}/
and in ${MUSE_HOME}/
3. 2505 – 3000 – Muse ICE Server
Note: This is the control port for the Muse ICE Server. If it is not accessible, the next port is used, and so on. An error is retrieved if none of the ports up to 3000 can be opened.
4. 8001 –8004, 8006 – Custom XML Bridges
Configuration file: – ${MUSE_HOME}/http/conf/contexts.xml or ${MUSE_HOME}/tomcat/conf/server.xml;
${MUSE_HOME}/
5. 8005 – Muse Local Infobase Bridge
Configuration file: – ${MUSE_HOME}/http/conf/contexts.xml
or ${MUSE_HOME}/tomcat/conf/server.xml
Files that contain references to this port: ${MUSE_HOME}/factory/SourceFactory.xml
Note: This port acts as a bridge, the communication protocol being XML.
6. 8007 – Muse Admin
Configuration file: ${MUSE_HOME}/http/conf/contexts.xml
or ${MUSE_HOME}/tomcat/conf/server.xml
Note: This port handles XML connections.
7. 8010 – Muse HTTP Server
Configuration file: ${MUSE_HOME}/http/MuseHTTPServer.xml
or ${MUSE_HOME}/tomcat/conf/server.xml
Note: This is the Muse HTTP Server or Tomcat control port.
Note: If you want to access some of the above Muse services from the Internet or from machines other than localhost, then the port(s) corresponding to the desired service must be open to the machine making the request.
Further information about this can be found in the "$MUSE_HOME/doc/Muse Advanced Configuration.pdf"
document, “Server Type Ports Opened by Muse within Local LAN Scope” chapter.
The ports that need to be accessible from the Internet are:
1. 8000 – Apache Tomcat or Muse HTTP Server
Configuration file – ${MUSE_HOME}/tomcat/conf/server.xml
or ${MUSE_HOME}/http/conf/contexts.xml
Files that contain references to this port:
- ${MUSE_HOME}/factory/MuseInfoBase.xml
- ${ICE_HOME}/ICECore.xml
- ${ICE_HOME}/jaas.config
- ${MUSE_HOME}/proxy/jaas.config
- ${MUSE_HOME}/web/MusePeer.xml
2. 8443 – Apache Tomcat or Muse HTTP Server
Configuration file – ${MUSE_HOME}/tomcat/conf/server.xml
or ${MUSE_HOME}/http/conf/contexts.xml
Files that contain references to this port:
- ${MUSE_HOME}/web/MusePeer.xml
- ${MUSE_HOME}/enrich/MuseEnrichmentService.xml
- ${MUSE_HOME}/enrich/index/index.xml
- ${MUSE_HOME}/z3950/MuseZBridge.properties
3. 9797 – Muse Proxy
Configuration file – ${MUSE_HOME}/proxy/MuseProxy.xml
Files that contain references to this port:
- ${MUSE_HOME}/web/MusePeer.xml;
- ${MUSE_HOME}/enrich/MuseEnrichmentService.xml;
- ${MUSE_HOME}/enrich/index/index.xml;
- ${MUSE_HOME}/z3950/MuseZBridge.properties
Note: Also configured in all Muse bridges that use the MNM: (${MUSE_HOME}/
and in ${MUSE_HOME}/
Note: This is the secured mode of the Muse HTTP server (SSL connections).
Warning: One of the server type ports Muse opens for its components may be occupied by other server programs. One
such example is the Ajp12 connector from Tomcat. See “${MUSE_HOME}/doc/Muse External Servlets Engine (Tomcat).pdf"
manual for further reference regarding the ports used by Tomcat.
Warning: If one of the Muse Servers fails to start the user is advised to check the log file for detailed information.
Finding the message below in the log file means that the port is already used by some other Application. When such a
situation occurs a reconfiguration is necessary to change the port used by the respective Muse server or by the already
existing service.
Cannot listen on port
Note: Not all ports are required by all Muse installations. They are required only if the corresponding components are installed. For example, port 9797 is only required if the Muse Proxy is installed.
Note: All server type ports can be remapped. The best way to accomplish this remapping is by using the Muse PostInstall Configuration package, which makes this process simple and ensures that the correct files are updated.
Further information about this can be found in the "$MUSE_HOME/doc/Muse Advanced Configuration.pdf"
document, “Server Type Ports Opened by Muse within Internet Scope” chapter.
We unify all the information from all the sources into Unicode using UTF-8, and we pass it from ICE and all of our Bridges as UTF-8 and XML-encoded entities. However, we are not limited to extracting data just from UTF-8 bytes, and we should not extract bytes as UTF-8 when it is not appropriate. All our extraction in Muse is to UTF-8 but from a wide range of encodings (including UTF-8).
We accommodate this large number of encodings, detailed in the documentation, when we extract data; only then is it converted into Unicode (with UTF-8 encoding) on our side.
Load More
In the $MUSE_HOME/tomcat/docs/Apache Tomcat embedded within Muse.pdf
manual, chapter “3.2.1.1 Secured Connections” you can find all details about securing the access to the Muse Embedded Tomcat server using SSL certificates.
Basically you need to generate a keystore from the private key and certificate, and enable it into the Tomcat’s configuration file: $MUSE_HOME/tomcat/conf/server.xml
by uncommenting or adding if not already existing the connector:
Make sure the keystore name is correct and its password. Also inbound access on port 443 must be opened in the firewall.
Alternatively, for creating the keystore file, you can use EduLib’s CERTivity® KeyStores Manager tool. Get the free license, download and install it and follow the steps below for creating the keystore:
- File menu –> New KeyStore
File name: keystore
New KeyStore Type: jks
Click on Save. - KeyStore menu –> Import Key Pair
– select PKCS #8
– uncheck Private Key Encrypted
– Private Key File: browse to your (.KEY) private key file
– Certificate(s) File: browse to your (.CRT) certificates file
– then OK
– Alias should remain as suggested –> then OK
– enter pass “changeit” without quotes (as it is default into the${MUSE_HOME}/tomcat/conf/server.xml
file) –> then OK - File menu –> Save
- KeyStore menu –> Change Keystore Password
– enter pass “changeit” without quotes (as it is configured into the${MUSE_HOME}/tomcat/conf/server.xml
file) –> then OK - File –> Save
- Rename the resulted file from “keystore.jks” to “keystore” and place it into the
${MUSE_HOME}/tomcat/conf/
directory.
Below are the steps to enable and configure the “IP on campus/personal account off campus” authentication workflow for a MuseKnowledge Application. Note that they apply for versions starting with 7.6.
1) Configure the login modules.
Edit the ${ICE_HOME}/jaas.config
file, locate the application entry for which to make the settings
(refered below ad AppID). It should look like below:
AppID {
com.edulib.ice.security.authentication.ICELoginModuleXML required passwords="${ICE_HOME}/profiles/passwords.xml";
};
The entry must be modified to look like below:
AppID {
com.edulib.ice.security.authentication.ICELoginModuleXML required passwords="${ICE_HOME}/profiles/passwords.xml" justUser="true";
com.edulib.ice.security.authentication.ICELoginModuleIP sufficient hosts="${ICE_HOME}/profiles/hosts.xml";
com.edulib.ice.security.authentication.ICELoginModulePPMS required xmldbLocation="xmldb:exist:http://admin:@localhost:8000/xmldb/exist/xmlrpc";
};
(the 8000 port must be adjusted accordingly as per the Tomcat’s installation port)
2) Add the allowed IP(s) for the IP authentication
Login into the MCAA console, select the application from the list (AppID) and click on the “Login Modules” left menu. In the login modules listing click the “Edit” link corresponding to the ICELoginModuleXML module. In the new panel click the “Insert” link and start adding the IP(s). Consult the available help details to see the accepted format entries.
3) Make the end-user interface changes
Login into the MCAA console, select the application from the list (AppID) and click on the “Application General Settings->Interface Options” left menu link. In the Branding tab, “Login Page” section, press the “Load remap U/P Form”, then click the Update button from the bottom of the page.
4) Enable the “My Account” functionality
Login into the MCAA console, select the application from the list (AppID) and click on the “Application General Settings->Interface Options” left menu link. In the Functionality tab, locate the My Account” section and enable the “Enable Account:”, “Enable Saved Searches” and “Enable WorkRoom” features.
From this moment the “IP on campus/personal account off campus” authentication workflow should work, the access URL to use is:
http://hostname:port/muse/logon/AppID/autologin.html
This is explained in the “Adding a new slave machine to the environment” chapter from the “Muse Advanced Configuration.pdf” manual.
In a shared Muse environment all files are shared, including the $ICE_HOME/serial.properties
file containing licensing information and necessary for the ICE to start.
When adding new servers to a Muse cluster one cannot just run the Registration process to register the new machine because of the following reason: Muse was not installed on the new machine using the Muse setup kit, hence the InstallShield files necessary for running the Registration do not exist.
In the shared Muse environment the Muse files are loaded/mounted from the master machine.
Below are the steps to be performed when a new slave machine is added into the Muse environment after the initial setup an it needs to be registered:
1. An “Extension Request” procedure for the Serial Number is performed to add all IPv4 and IPv6
IPs of the new machine to the Serial Number in use. In case the Serial Number already contains the IPs of the new machine then there is no need to run the “Extension Request” and the Muse servers can be started on the new machine (step 4).
2. After the extension request is processed by MuseGlobal, the Muse Registration Setup must be run on the master machine.
3 A synchronization of the slave machines with the master must be performed in order for the new serial.properties file to get on the new machine.
4 The Muse servers can now be started on the new machine.
The hosts.xml files are used to allow/deny access to different products from some IPs or classes of IPs. The client’s IP is tested against the rules in the hosts.xml file and the first one that matches is applied – all the following rules are ignored.
When getting the hostname related to a given IP the Java mechanism has a spoof protection that, sometimes, will not give optimal results.
The following situation will not give the expected results:
1. Java asks the DNS server for the hostname related to an IP address (reverse DNS)
2. When the DNS server replies with the hostname, Java asks the same DNS server for the IP address of that particular hostname
3. If the initial IP address and the one returned as the result of request #2 above do not match, then Java returns the initial IP address.
This process may interfere with the way we compare the client IP address against the ones stored in the hosts.xml file. Due to the above Java protection, some IP addresses will not match against a given domain even if their reverse DNS name belongs to that particular domain.
When unistall Muse Proxy 3101 or Muse 2700 (and any interanl 2601,2602, 2603) on a common installation of both of them on some machines the following error is obtained:
Errors occurred during the uninstallation.
com.installshield.product.service.registry.LoggedSoftwareObject cannot be cast to com.installshield.product.ProductBean
This seems to be related to having components with the same UIDs (using two or more Assemblies (in a dynamic installer) where some features and components had the same key (UUID)).
The workaround to solve this problem is:
1) Go to the folder
C:\Program Files\Common Files\InstallShield\Universal\common\Gen1
2) Delete the entire folder named “_vpddb”
3) Restart the uninstallation.
See: [http://cdac.in/index.aspx?id=hi_hs_HL7Tutorial#Uninstallation instructions for SDK for HL7 Java Edition(Windows/Linux/Mac)]
f you get the “bc: command not found” error when running the Muse bin installer, stop the installation and install “bc” package.
The package installation depends on the Linux distribution you are running. Here are some examples:
– RedHat using the yum package manager – run “yum install bc” or
– Debian using the apt package manager – run “apt-get install bc”.
After installing “bc”, relogin to console and rerun the Muse installer.
The Muse Embedded Tomcat is needed because it entirely replaces Muse HTTP Server which was also used for the internal XML protocol and for the XMLDB. The external Tomcat could not have been used for the XML protocols and XMLDB.
If there are no other services than Muse in the External Tomcat then this can be disabled. Muse contexts should be deactivated from there. The Muse Embedded Tomcat will come with its own Muse contexts, thus everything will be ok. Also consider lowering the Java memory for the external Tomcat because Muse servers will not run in it anymore.
If there is an External Tomcat running on the same machine which didn’t have anything in common with the Muse Servers then normally one doesn’t have to worry about the embedded Muse Tomcat server, because this one just takes the place of Muse HTTP Server, and since there were no conflicts between that External Tomcat and Muse HTTP Server there shouldn’t be any here. If it is a fresh install of Muse then the only conflicts are given by port 8005 as described below. This conflict was always present between the Muse HTTP Server and an External Tomcat. But in case there was no service running in that External Tomcat we recommend that is shut down and disabled so that it doesn’t start at boot time.
In the rare event that there is an external Tomcat that is used both for Muse and for other external services and both Muse and the other services contexts are all defined on the same port (e.g. 80) and you don’t want to change the Muse port to another port (e.g. 8000) then the front end Muse Servlets will remain defined and further used in the External Tomcat server and the Muse Embedded Tomcat will be used for what Muse HTTP Server was used, namely for XML protocols and XMLDB.
Regarding the port conflicts there should be none effecting you in normal situation. For rare events, the cases below would help troubleshooting a port conflict in case it would appear.
– The Muse HTTP Server already conflicted with an external Tomcat on port 8005 used for internal XML Muse protocols in Muse and for Shut Down in Tomcat. Hence, because Muse HTTP Server and the external Tomcat co-existed it means that the port value was changed from 8005 on one side or another so that both were running. As the Muse Embedded Tomcat takes the Muse HTTP Server configuration the port 8005 should not be an issue.
– In case the External Tomcat was connected to the Apache Web Server then the AJP ports will conflict and only one Tomcat will be able to run through the Apache Web Server. For this change the AJP 8009 port from the Muse Embedded Tomcat. However note that other changes to the interconnection between Apache Web Server and both Tomcats are necessary in order to differentiate which requests received by the Apache Web Server are redirected to which Tomcat. These are described in the document Muse External Servlets Engine (Tomcat), chapter entitled “Web service adapters for Tomcat”.
– There can be other applications on the same machine conflicting to the External Tomcat. For this a netsat or fuser command can be run on Unix like environments. The Tomcat files were ports are defined are tomcat/conf/server.xml. Check these files both for the External Tomcat and for the Embedded also for the case when one modified in the past the default values of the External Tomcat server.
Typically, this means that the version of the installer you are running does not match your license. For instance, if you downloaded a 2.5.0.0 installer, but you have a 2.6.0.0 license (or vice versa), you will receive this error.
Please download the right Muse version.
If this is not the case then check the copied Serial Number for extra characters due to a faulty copy/paste operation. After copying the Serial Number string please first paste it in a plain text document and check it to make sure it does not contain extra characters at the beginning or at the end of the string.
The procedure to increase the memory for a Muse server installed as a service under Windows is:
a) Stop the service by typing at the command prompt:
– net stop “Muse Proxy Service” (for Muse Proxy) and/or
– net stop “Muse ICE Server” (for Muse ICE) and/or
– net stop “Muse HTTP Server” (for Muse HTTP) or net stop “Embedded Apache Tomcat” (for Apache Tomcat)
or by navigating to Control Panel -> Administrative Tools -> Services and stop whatever is needed.
b) Uninstall the service(s) using the provided script(s):
– “UnInstallMuseProxyService.bat” (available in the %MUSE_HOME%\proxy folder) and/or
– “UnInstallICEService.bat” (available in the %MUSE_HOME%\use\ice folder)and/or
– “UnInstallHTTPService.bat” (available in the %MUSE_HOME%\http folder – if using Muse HTTP Server) or “service.bat remove” (available in the %MUSE_HOME%\tomcat\bin folder – if using Apache Tomcat server)
c1) For Muse before 2500, modify the corresponding “JavaService.jvm” file(s) available in the location(s) above mentioned by changing the following lines (using a text editor):
– Xms64M
– Xmx256M
to whatever memory amount needed. Please consider the available physical memory of the machine ().
c2) If using Apache Tomcat HTTP server (Muse 2500 or newer), all changes described above still hold, except for the Apache Tomcat – the changes must be made in the %MUSE_HOME%\tomcat\bin\configure.bat file, by modifying the TOMCAT_XMS and/or TOMCAT_XMX values.
d) Re-install the service(s) using the provided script(s):
– “InstallMuseProxyService.bat” (available in the %MUSE_HOME%\proxy folder) and/or
– “InstallICEService.bat” (available in the %MUSE_HOME%\use\ice folder) and/or
– “InstallHTTPService.bat” (available in the %MUSE_HOME%\http folder – if using Muse HTTP Server) or “service.bat install” (available in the %MUSE_HOME%\tomcat\bin folder – if using Apache Tomcat server)
e) Start the service(s) by typing at the command prompt:
– net start “Muse Proxy Service” (for Muse Proxy) and/or
– net start “Muse ICE Server” (for Muse ICE) and/or
– net start “Muse HTTP Server” (for Muse HTTP) or net start “Embedded Apache Tomcat” (for Apache Tomcat)
or by navigating to Control Panel -> Administrative Tools -> Services and start whatever is needed.
Note: when editing “JavaService.jvm” like files, one must be aware that each line of the file must end with a “space” and “ENTER” and the last line of it must not have either the “space” nor the “ENTER”.
When one or more new IPs are added to a machine running Muse ICE, ICE will not start again until the Muse product is re-registered. Running the Muse Registration process ensures that all the current IPs of the machine are added to the serial.properties file, which is required for the Muse ICE server to start successfully.
For more details about the Muse Resistration procedure, please see the "$MUSE_HOME/doc/Muse Install.pdf"
document, the “Product Registration” and “Running the Muse Registration Setup” chapters.
There are files used by Muse that reside outside of the ${MUSE_HOME} folder. Below is a list of such files along with their location, depending on the Operating System.
1a) The vpd.properties file (before Muse 2104). This is the InstallShield’s installation database. It keeps track of all Muse products installed and it is located under the installing user home directory on non-Windows platforms and in the Windows directory (if the user has write permissions) or in user’s home directory (if the user has no write permissions in the Windows directory).
1b) The InstallShield directory. This is the InstallShield’s installation database. It keeps track of all Muse products installed and it is located under the installing user home directory on non-Windows platforms and in the %HOMEDRIVE%/Program Files/Common Files/
directory or in user’s home directory (if the user has no write permissions in the %HOMEDRIVE%/Program Files/ directory).
2) For running Muse servers as Windows services, each server will be registered to Windows as a regular service (using Windows registry).
2a) Before Muse 2210. The following files refer to Muse Services on non-Windows platforms:
/etc/rc.d/startMuseServices - used to start Muse Services;
/etc/rc.d/rc.muse - used to start/stop/restart Muse Services;
2b) After Muse 2210 (including). The following files refer to Muse Services on non-Windows platforms:
/etc/init.d/muse - used to start/stop/restart Muse Services;
2c) The following files refer to Muse Services on non-Windows platforms. These are symbolic links to /etc/init.d/muse and belong to the service management system on Linux:
/etc/rc3.d/K99Muse - used to stop Muse Services in run level 3;
/etc/rc3.d/S99Muse - used to start Muse Services in run level 3;
/etc/rc4.d/S99Muse - used to start Muse Services in run level 4;
/etc/rc4.d/K99Muse - used to stop Muse Services in run level 4;
/etc/rc5.d/S99Muse - used to start Muse Services in run level 5;
/etc/rc5.d/K99Muse - used to stop Muse Services in run level 5;
Note: the rc[x].d directories could also be located under the /etc/rc.d directory (depending on your Operating System).
3) Temporary files: InstallShield creates a number of temporary files and directories in the user’s temporary directory, necessary for running the Muse Setups. These files are are created and managed by the InstallShield installation software and are not under control of Muse Setups.
4) The options file (options or fields entered by the user when running a Muse Setup will be recorded here for later usage) will be stored by default in the user’s home directory.
5) Files installed in order to create the Desktop or Start Menu shortcuts for GUI interfaces. This is very dependent of the Operating Systems on which Muse is installed.
We suggest that you use the following parameters for the ICE Server as the HTTP Server and Muse Proxy Server do not request many resources and may stay as installed. If you still encounter Out of Memory problems with these servers, we suggest you add or increase the values of the memory parameters.
The –Xmx and –Xms parameters should already be present in the Java command line. It is recommended that both have the same values. Setting -Xmx and -Xms to the same value will avoid heap resizing, the most common cause of OutOfMemory errors. If -Xmx and -Xms have the same value, the JVM will try to allocate all heap memory at startup, exiting with an OutOfMemory error if this memory is not available.
Make sure the system has enough memory to accommodate the Java Virtual Machine and other programs. It is not a good option to choose values larger than the physical memory, because the host operating system will swap a part of the memory, and the speed advantage will be lost due to frequent disk accesses. For example, one may set –Xmx512M –Xms512M. The respective machine should have at least 512Mbytes of physical RAM. It is recommended that you set these values as high as possible, taking into consideration the requirements for the other servers running on that machine – including all the Muse Servers.
For Muse 2500 and newer, the Xmx and Xms memory settings (as well other settings) are set in the configure scripts (configure.bat, configure, configure.csh – depending on the operating system and shell used – Linux), one for each Muse server. Apache Tomcat and Muse Proxy servers have as default values TOMCAT_XMS=128M, TOMCAT_XMX=512M respectively PROXY_XMS=64M, PROXY_XMX=512M now.
For more information please refer to the “Muse Advanced Configuration.pdf”, chapter “Java Virtual Machine enhancements.”
The ports that need to be locally accessible are:
1. 2100 – Muse Z39.50 Bridge
Configuration file: – ${MUSE_HOME}/z3950/MuseZBridge.xml
Note: This port works as a client for the Information Connection Engine (ICE) server, but it is also a server for all the Z39.50 clients connecting to it.
2. 2504 – Muse ICE Server
Configuration file: – ${ICE_HOME}/ICECore.xml
Files that contain references to this port:
${MUSE_HOME}/web/MusePeer.xml;
${MUSE_HOME}/use/tools/ICEClient.xml;
${MUSE_HOME}/z3950/MuseZBridge.properties
Note: This port is also configured in all Muse bridges used for the Muse ICE Server (in either one of the following two files) (${MUSE_HOME}/
and in ${MUSE_HOME}/
3. 2505 – 3000 – Muse ICE Server
Note: This is the control port for the Muse ICE Server. If it is not accessible, the next port is used, and so on. An error is retrieved if none of the ports up to 3000 can be opened.
4. 8001 –8004, 8006 – Custom XML Bridges
Configuration file: – ${MUSE_HOME}/http/conf/contexts.xml or ${MUSE_HOME}/tomcat/conf/server.xml;
${MUSE_HOME}/
5. 8005 – Muse Local Infobase Bridge
Configuration file: – ${MUSE_HOME}/http/conf/contexts.xml
or ${MUSE_HOME}/tomcat/conf/server.xml
Files that contain references to this port: ${MUSE_HOME}/factory/SourceFactory.xml
Note: This port acts as a bridge, the communication protocol being XML.
6. 8007 – Muse Admin
Configuration file: ${MUSE_HOME}/http/conf/contexts.xml
or ${MUSE_HOME}/tomcat/conf/server.xml
Note: This port handles XML connections.
7. 8010 – Muse HTTP Server
Configuration file: ${MUSE_HOME}/http/MuseHTTPServer.xml
or ${MUSE_HOME}/tomcat/conf/server.xml
Note: This is the Muse HTTP Server or Tomcat control port.
Note: If you want to access some of the above Muse services from the Internet or from machines other than localhost, then the port(s) corresponding to the desired service must be open to the machine making the request.
Further information about this can be found in the "$MUSE_HOME/doc/Muse Advanced Configuration.pdf"
document, “Server Type Ports Opened by Muse within Local LAN Scope” chapter.
The ports that need to be accessible from the Internet are:
1. 8000 – Apache Tomcat or Muse HTTP Server
Configuration file – ${MUSE_HOME}/tomcat/conf/server.xml
or ${MUSE_HOME}/http/conf/contexts.xml
Files that contain references to this port:
- ${MUSE_HOME}/factory/MuseInfoBase.xml
- ${ICE_HOME}/ICECore.xml
- ${ICE_HOME}/jaas.config
- ${MUSE_HOME}/proxy/jaas.config
- ${MUSE_HOME}/web/MusePeer.xml
2. 8443 – Apache Tomcat or Muse HTTP Server
Configuration file – ${MUSE_HOME}/tomcat/conf/server.xml
or ${MUSE_HOME}/http/conf/contexts.xml
Files that contain references to this port:
- ${MUSE_HOME}/web/MusePeer.xml
- ${MUSE_HOME}/enrich/MuseEnrichmentService.xml
- ${MUSE_HOME}/enrich/index/index.xml
- ${MUSE_HOME}/z3950/MuseZBridge.properties
3. 9797 – Muse Proxy
Configuration file – ${MUSE_HOME}/proxy/MuseProxy.xml
Files that contain references to this port:
- ${MUSE_HOME}/web/MusePeer.xml;
- ${MUSE_HOME}/enrich/MuseEnrichmentService.xml;
- ${MUSE_HOME}/enrich/index/index.xml;
- ${MUSE_HOME}/z3950/MuseZBridge.properties
Note: Also configured in all Muse bridges that use the MNM: (${MUSE_HOME}/
and in ${MUSE_HOME}/
Note: This is the secured mode of the Muse HTTP server (SSL connections).
Warning: One of the server type ports Muse opens for its components may be occupied by other server programs. One
such example is the Ajp12 connector from Tomcat. See “${MUSE_HOME}/doc/Muse External Servlets Engine (Tomcat).pdf"
manual for further reference regarding the ports used by Tomcat.
Warning: If one of the Muse Servers fails to start the user is advised to check the log file for detailed information.
Finding the message below in the log file means that the port is already used by some other Application. When such a
situation occurs a reconfiguration is necessary to change the port used by the respective Muse server or by the already
existing service.
Cannot listen on port
Note: Not all ports are required by all Muse installations. They are required only if the corresponding components are installed. For example, port 9797 is only required if the Muse Proxy is installed.
Note: All server type ports can be remapped. The best way to accomplish this remapping is by using the Muse PostInstall Configuration package, which makes this process simple and ensures that the correct files are updated.
Further information about this can be found in the "$MUSE_HOME/doc/Muse Advanced Configuration.pdf"
document, “Server Type Ports Opened by Muse within Internet Scope” chapter.
We unify all the information from all the sources into Unicode using UTF-8, and we pass it from ICE and all of our Bridges as UTF-8 and XML-encoded entities. However, we are not limited to extracting data just from UTF-8 bytes, and we should not extract bytes as UTF-8 when it is not appropriate. All our extraction in Muse is to UTF-8 but from a wide range of encodings (including UTF-8).
We accommodate this large number of encodings, detailed in the documentation, when we extract data; only then is it converted into Unicode (with UTF-8 encoding) on our side.
Load More
In the $MUSE_HOME/tomcat/docs/Apache Tomcat embedded within Muse.pdf
manual, chapter “3.2.1.1 Secured Connections” you can find all details about securing the access to the Muse Embedded Tomcat server using SSL certificates.
Basically you need to generate a keystore from the private key and certificate, and enable it into the Tomcat’s configuration file: $MUSE_HOME/tomcat/conf/server.xml
by uncommenting or adding if not already existing the connector:
Make sure the keystore name is correct and its password. Also inbound access on port 443 must be opened in the firewall.
Alternatively, for creating the keystore file, you can use EduLib’s CERTivity® KeyStores Manager tool. Get the free license, download and install it and follow the steps below for creating the keystore:
- File menu –> New KeyStore
File name: keystore
New KeyStore Type: jks
Click on Save. - KeyStore menu –> Import Key Pair
– select PKCS #8
– uncheck Private Key Encrypted
– Private Key File: browse to your (.KEY) private key file
– Certificate(s) File: browse to your (.CRT) certificates file
– then OK
– Alias should remain as suggested –> then OK
– enter pass “changeit” without quotes (as it is default into the${MUSE_HOME}/tomcat/conf/server.xml
file) –> then OK - File menu –> Save
- KeyStore menu –> Change Keystore Password
– enter pass “changeit” without quotes (as it is configured into the${MUSE_HOME}/tomcat/conf/server.xml
file) –> then OK - File –> Save
- Rename the resulted file from “keystore.jks” to “keystore” and place it into the
${MUSE_HOME}/tomcat/conf/
directory.
Below are the steps to enable and configure the “IP on campus/personal account off campus” authentication workflow for a MuseKnowledge Application. Note that they apply for versions starting with 7.6.
1) Configure the login modules.
Edit the ${ICE_HOME}/jaas.config
file, locate the application entry for which to make the settings
(refered below ad AppID). It should look like below:
AppID {
com.edulib.ice.security.authentication.ICELoginModuleXML required passwords="${ICE_HOME}/profiles/passwords.xml";
};
The entry must be modified to look like below:
AppID {
com.edulib.ice.security.authentication.ICELoginModuleXML required passwords="${ICE_HOME}/profiles/passwords.xml" justUser="true";
com.edulib.ice.security.authentication.ICELoginModuleIP sufficient hosts="${ICE_HOME}/profiles/hosts.xml";
com.edulib.ice.security.authentication.ICELoginModulePPMS required xmldbLocation="xmldb:exist:http://admin:@localhost:8000/xmldb/exist/xmlrpc";
};
(the 8000 port must be adjusted accordingly as per the Tomcat’s installation port)
2) Add the allowed IP(s) for the IP authentication
Login into the MCAA console, select the application from the list (AppID) and click on the “Login Modules” left menu. In the login modules listing click the “Edit” link corresponding to the ICELoginModuleXML module. In the new panel click the “Insert” link and start adding the IP(s). Consult the available help details to see the accepted format entries.
3) Make the end-user interface changes
Login into the MCAA console, select the application from the list (AppID) and click on the “Application General Settings->Interface Options” left menu link. In the Branding tab, “Login Page” section, press the “Load remap U/P Form”, then click the Update button from the bottom of the page.
4) Enable the “My Account” functionality
Login into the MCAA console, select the application from the list (AppID) and click on the “Application General Settings->Interface Options” left menu link. In the Functionality tab, locate the My Account” section and enable the “Enable Account:”, “Enable Saved Searches” and “Enable WorkRoom” features.
From this moment the “IP on campus/personal account off campus” authentication workflow should work, the access URL to use is:
http://hostname:port/muse/logon/AppID/autologin.html
This is explained in the “Adding a new slave machine to the environment” chapter from the “Muse Advanced Configuration.pdf” manual.
In a shared Muse environment all files are shared, including the $ICE_HOME/serial.properties
file containing licensing information and necessary for the ICE to start.
When adding new servers to a Muse cluster one cannot just run the Registration process to register the new machine because of the following reason: Muse was not installed on the new machine using the Muse setup kit, hence the InstallShield files necessary for running the Registration do not exist.
In the shared Muse environment the Muse files are loaded/mounted from the master machine.
Below are the steps to be performed when a new slave machine is added into the Muse environment after the initial setup an it needs to be registered:
1. An “Extension Request” procedure for the Serial Number is performed to add all IPv4 and IPv6
IPs of the new machine to the Serial Number in use. In case the Serial Number already contains the IPs of the new machine then there is no need to run the “Extension Request” and the Muse servers can be started on the new machine (step 4).
2. After the extension request is processed by MuseGlobal, the Muse Registration Setup must be run on the master machine.
3 A synchronization of the slave machines with the master must be performed in order for the new serial.properties file to get on the new machine.
4 The Muse servers can now be started on the new machine.
The hosts.xml files are used to allow/deny access to different products from some IPs or classes of IPs. The client’s IP is tested against the rules in the hosts.xml file and the first one that matches is applied – all the following rules are ignored.
When getting the hostname related to a given IP the Java mechanism has a spoof protection that, sometimes, will not give optimal results.
The following situation will not give the expected results:
1. Java asks the DNS server for the hostname related to an IP address (reverse DNS)
2. When the DNS server replies with the hostname, Java asks the same DNS server for the IP address of that particular hostname
3. If the initial IP address and the one returned as the result of request #2 above do not match, then Java returns the initial IP address.
This process may interfere with the way we compare the client IP address against the ones stored in the hosts.xml file. Due to the above Java protection, some IP addresses will not match against a given domain even if their reverse DNS name belongs to that particular domain.
When unistall Muse Proxy 3101 or Muse 2700 (and any interanl 2601,2602, 2603) on a common installation of both of them on some machines the following error is obtained:
Errors occurred during the uninstallation.
com.installshield.product.service.registry.LoggedSoftwareObject cannot be cast to com.installshield.product.ProductBean
This seems to be related to having components with the same UIDs (using two or more Assemblies (in a dynamic installer) where some features and components had the same key (UUID)).
The workaround to solve this problem is:
1) Go to the folder
C:\Program Files\Common Files\InstallShield\Universal\common\Gen1
2) Delete the entire folder named “_vpddb”
3) Restart the uninstallation.
See: [http://cdac.in/index.aspx?id=hi_hs_HL7Tutorial#Uninstallation instructions for SDK for HL7 Java Edition(Windows/Linux/Mac)]
f you get the “bc: command not found” error when running the Muse bin installer, stop the installation and install “bc” package.
The package installation depends on the Linux distribution you are running. Here are some examples:
– RedHat using the yum package manager – run “yum install bc” or
– Debian using the apt package manager – run “apt-get install bc”.
After installing “bc”, relogin to console and rerun the Muse installer.
The Muse Embedded Tomcat is needed because it entirely replaces Muse HTTP Server which was also used for the internal XML protocol and for the XMLDB. The external Tomcat could not have been used for the XML protocols and XMLDB.
If there are no other services than Muse in the External Tomcat then this can be disabled. Muse contexts should be deactivated from there. The Muse Embedded Tomcat will come with its own Muse contexts, thus everything will be ok. Also consider lowering the Java memory for the external Tomcat because Muse servers will not run in it anymore.
If there is an External Tomcat running on the same machine which didn’t have anything in common with the Muse Servers then normally one doesn’t have to worry about the embedded Muse Tomcat server, because this one just takes the place of Muse HTTP Server, and since there were no conflicts between that External Tomcat and Muse HTTP Server there shouldn’t be any here. If it is a fresh install of Muse then the only conflicts are given by port 8005 as described below. This conflict was always present between the Muse HTTP Server and an External Tomcat. But in case there was no service running in that External Tomcat we recommend that is shut down and disabled so that it doesn’t start at boot time.
In the rare event that there is an external Tomcat that is used both for Muse and for other external services and both Muse and the other services contexts are all defined on the same port (e.g. 80) and you don’t want to change the Muse port to another port (e.g. 8000) then the front end Muse Servlets will remain defined and further used in the External Tomcat server and the Muse Embedded Tomcat will be used for what Muse HTTP Server was used, namely for XML protocols and XMLDB.
Regarding the port conflicts there should be none effecting you in normal situation. For rare events, the cases below would help troubleshooting a port conflict in case it would appear.
– The Muse HTTP Server already conflicted with an external Tomcat on port 8005 used for internal XML Muse protocols in Muse and for Shut Down in Tomcat. Hence, because Muse HTTP Server and the external Tomcat co-existed it means that the port value was changed from 8005 on one side or another so that both were running. As the Muse Embedded Tomcat takes the Muse HTTP Server configuration the port 8005 should not be an issue.
– In case the External Tomcat was connected to the Apache Web Server then the AJP ports will conflict and only one Tomcat will be able to run through the Apache Web Server. For this change the AJP 8009 port from the Muse Embedded Tomcat. However note that other changes to the interconnection between Apache Web Server and both Tomcats are necessary in order to differentiate which requests received by the Apache Web Server are redirected to which Tomcat. These are described in the document Muse External Servlets Engine (Tomcat), chapter entitled “Web service adapters for Tomcat”.
– There can be other applications on the same machine conflicting to the External Tomcat. For this a netsat or fuser command can be run on Unix like environments. The Tomcat files were ports are defined are tomcat/conf/server.xml. Check these files both for the External Tomcat and for the Embedded also for the case when one modified in the past the default values of the External Tomcat server.
Typically, this means that the version of the installer you are running does not match your license. For instance, if you downloaded a 2.5.0.0 installer, but you have a 2.6.0.0 license (or vice versa), you will receive this error.
Please download the right Muse version.
If this is not the case then check the copied Serial Number for extra characters due to a faulty copy/paste operation. After copying the Serial Number string please first paste it in a plain text document and check it to make sure it does not contain extra characters at the beginning or at the end of the string.
The procedure to increase the memory for a Muse server installed as a service under Windows is:
a) Stop the service by typing at the command prompt:
– net stop “Muse Proxy Service” (for Muse Proxy) and/or
– net stop “Muse ICE Server” (for Muse ICE) and/or
– net stop “Muse HTTP Server” (for Muse HTTP) or net stop “Embedded Apache Tomcat” (for Apache Tomcat)
or by navigating to Control Panel -> Administrative Tools -> Services and stop whatever is needed.
b) Uninstall the service(s) using the provided script(s):
– “UnInstallMuseProxyService.bat” (available in the %MUSE_HOME%\proxy folder) and/or
– “UnInstallICEService.bat” (available in the %MUSE_HOME%\use\ice folder)and/or
– “UnInstallHTTPService.bat” (available in the %MUSE_HOME%\http folder – if using Muse HTTP Server) or “service.bat remove” (available in the %MUSE_HOME%\tomcat\bin folder – if using Apache Tomcat server)
c1) For Muse before 2500, modify the corresponding “JavaService.jvm” file(s) available in the location(s) above mentioned by changing the following lines (using a text editor):
– Xms64M
– Xmx256M
to whatever memory amount needed. Please consider the available physical memory of the machine ().
c2) If using Apache Tomcat HTTP server (Muse 2500 or newer), all changes described above still hold, except for the Apache Tomcat – the changes must be made in the %MUSE_HOME%\tomcat\bin\configure.bat file, by modifying the TOMCAT_XMS and/or TOMCAT_XMX values.
d) Re-install the service(s) using the provided script(s):
– “InstallMuseProxyService.bat” (available in the %MUSE_HOME%\proxy folder) and/or
– “InstallICEService.bat” (available in the %MUSE_HOME%\use\ice folder) and/or
– “InstallHTTPService.bat” (available in the %MUSE_HOME%\http folder – if using Muse HTTP Server) or “service.bat install” (available in the %MUSE_HOME%\tomcat\bin folder – if using Apache Tomcat server)
e) Start the service(s) by typing at the command prompt:
– net start “Muse Proxy Service” (for Muse Proxy) and/or
– net start “Muse ICE Server” (for Muse ICE) and/or
– net start “Muse HTTP Server” (for Muse HTTP) or net start “Embedded Apache Tomcat” (for Apache Tomcat)
or by navigating to Control Panel -> Administrative Tools -> Services and start whatever is needed.
Note: when editing “JavaService.jvm” like files, one must be aware that each line of the file must end with a “space” and “ENTER” and the last line of it must not have either the “space” nor the “ENTER”.
When one or more new IPs are added to a machine running Muse ICE, ICE will not start again until the Muse product is re-registered. Running the Muse Registration process ensures that all the current IPs of the machine are added to the serial.properties file, which is required for the Muse ICE server to start successfully.
For more details about the Muse Resistration procedure, please see the "$MUSE_HOME/doc/Muse Install.pdf"
document, the “Product Registration” and “Running the Muse Registration Setup” chapters.
There are files used by Muse that reside outside of the ${MUSE_HOME} folder. Below is a list of such files along with their location, depending on the Operating System.
1a) The vpd.properties file (before Muse 2104). This is the InstallShield’s installation database. It keeps track of all Muse products installed and it is located under the installing user home directory on non-Windows platforms and in the Windows directory (if the user has write permissions) or in user’s home directory (if the user has no write permissions in the Windows directory).
1b) The InstallShield directory. This is the InstallShield’s installation database. It keeps track of all Muse products installed and it is located under the installing user home directory on non-Windows platforms and in the %HOMEDRIVE%/Program Files/Common Files/
directory or in user’s home directory (if the user has no write permissions in the %HOMEDRIVE%/Program Files/ directory).
2) For running Muse servers as Windows services, each server will be registered to Windows as a regular service (using Windows registry).
2a) Before Muse 2210. The following files refer to Muse Services on non-Windows platforms:
/etc/rc.d/startMuseServices - used to start Muse Services;
/etc/rc.d/rc.muse - used to start/stop/restart Muse Services;
2b) After Muse 2210 (including). The following files refer to Muse Services on non-Windows platforms:
/etc/init.d/muse - used to start/stop/restart Muse Services;
2c) The following files refer to Muse Services on non-Windows platforms. These are symbolic links to /etc/init.d/muse and belong to the service management system on Linux:
/etc/rc3.d/K99Muse - used to stop Muse Services in run level 3;
/etc/rc3.d/S99Muse - used to start Muse Services in run level 3;
/etc/rc4.d/S99Muse - used to start Muse Services in run level 4;
/etc/rc4.d/K99Muse - used to stop Muse Services in run level 4;
/etc/rc5.d/S99Muse - used to start Muse Services in run level 5;
/etc/rc5.d/K99Muse - used to stop Muse Services in run level 5;
Note: the rc[x].d directories could also be located under the /etc/rc.d directory (depending on your Operating System).
3) Temporary files: InstallShield creates a number of temporary files and directories in the user’s temporary directory, necessary for running the Muse Setups. These files are are created and managed by the InstallShield installation software and are not under control of Muse Setups.
4) The options file (options or fields entered by the user when running a Muse Setup will be recorded here for later usage) will be stored by default in the user’s home directory.
5) Files installed in order to create the Desktop or Start Menu shortcuts for GUI interfaces. This is very dependent of the Operating Systems on which Muse is installed.
We suggest that you use the following parameters for the ICE Server as the HTTP Server and Muse Proxy Server do not request many resources and may stay as installed. If you still encounter Out of Memory problems with these servers, we suggest you add or increase the values of the memory parameters.
The –Xmx and –Xms parameters should already be present in the Java command line. It is recommended that both have the same values. Setting -Xmx and -Xms to the same value will avoid heap resizing, the most common cause of OutOfMemory errors. If -Xmx and -Xms have the same value, the JVM will try to allocate all heap memory at startup, exiting with an OutOfMemory error if this memory is not available.
Make sure the system has enough memory to accommodate the Java Virtual Machine and other programs. It is not a good option to choose values larger than the physical memory, because the host operating system will swap a part of the memory, and the speed advantage will be lost due to frequent disk accesses. For example, one may set –Xmx512M –Xms512M. The respective machine should have at least 512Mbytes of physical RAM. It is recommended that you set these values as high as possible, taking into consideration the requirements for the other servers running on that machine – including all the Muse Servers.
For Muse 2500 and newer, the Xmx and Xms memory settings (as well other settings) are set in the configure scripts (configure.bat, configure, configure.csh – depending on the operating system and shell used – Linux), one for each Muse server. Apache Tomcat and Muse Proxy servers have as default values TOMCAT_XMS=128M, TOMCAT_XMX=512M respectively PROXY_XMS=64M, PROXY_XMX=512M now.
For more information please refer to the “Muse Advanced Configuration.pdf”, chapter “Java Virtual Machine enhancements.”
The ports that need to be locally accessible are:
1. 2100 – Muse Z39.50 Bridge
Configuration file: – ${MUSE_HOME}/z3950/MuseZBridge.xml
Note: This port works as a client for the Information Connection Engine (ICE) server, but it is also a server for all the Z39.50 clients connecting to it.
2. 2504 – Muse ICE Server
Configuration file: – ${ICE_HOME}/ICECore.xml
Files that contain references to this port:
${MUSE_HOME}/web/MusePeer.xml;
${MUSE_HOME}/use/tools/ICEClient.xml;
${MUSE_HOME}/z3950/MuseZBridge.properties
Note: This port is also configured in all Muse bridges used for the Muse ICE Server (in either one of the following two files) (${MUSE_HOME}/
and in ${MUSE_HOME}/
3. 2505 – 3000 – Muse ICE Server
Note: This is the control port for the Muse ICE Server. If it is not accessible, the next port is used, and so on. An error is retrieved if none of the ports up to 3000 can be opened.
4. 8001 –8004, 8006 – Custom XML Bridges
Configuration file: – ${MUSE_HOME}/http/conf/contexts.xml or ${MUSE_HOME}/tomcat/conf/server.xml;
${MUSE_HOME}/
5. 8005 – Muse Local Infobase Bridge
Configuration file: – ${MUSE_HOME}/http/conf/contexts.xml
or ${MUSE_HOME}/tomcat/conf/server.xml
Files that contain references to this port: ${MUSE_HOME}/factory/SourceFactory.xml
Note: This port acts as a bridge, the communication protocol being XML.
6. 8007 – Muse Admin
Configuration file: ${MUSE_HOME}/http/conf/contexts.xml
or ${MUSE_HOME}/tomcat/conf/server.xml
Note: This port handles XML connections.
7. 8010 – Muse HTTP Server
Configuration file: ${MUSE_HOME}/http/MuseHTTPServer.xml
or ${MUSE_HOME}/tomcat/conf/server.xml
Note: This is the Muse HTTP Server or Tomcat control port.
Note: If you want to access some of the above Muse services from the Internet or from machines other than localhost, then the port(s) corresponding to the desired service must be open to the machine making the request.
Further information about this can be found in the "$MUSE_HOME/doc/Muse Advanced Configuration.pdf"
document, “Server Type Ports Opened by Muse within Local LAN Scope” chapter.
The ports that need to be accessible from the Internet are:
1. 8000 – Apache Tomcat or Muse HTTP Server
Configuration file – ${MUSE_HOME}/tomcat/conf/server.xml
or ${MUSE_HOME}/http/conf/contexts.xml
Files that contain references to this port:
- ${MUSE_HOME}/factory/MuseInfoBase.xml
- ${ICE_HOME}/ICECore.xml
- ${ICE_HOME}/jaas.config
- ${MUSE_HOME}/proxy/jaas.config
- ${MUSE_HOME}/web/MusePeer.xml
2. 8443 – Apache Tomcat or Muse HTTP Server
Configuration file – ${MUSE_HOME}/tomcat/conf/server.xml
or ${MUSE_HOME}/http/conf/contexts.xml
Files that contain references to this port:
- ${MUSE_HOME}/web/MusePeer.xml
- ${MUSE_HOME}/enrich/MuseEnrichmentService.xml
- ${MUSE_HOME}/enrich/index/index.xml
- ${MUSE_HOME}/z3950/MuseZBridge.properties
3. 9797 – Muse Proxy
Configuration file – ${MUSE_HOME}/proxy/MuseProxy.xml
Files that contain references to this port:
- ${MUSE_HOME}/web/MusePeer.xml;
- ${MUSE_HOME}/enrich/MuseEnrichmentService.xml;
- ${MUSE_HOME}/enrich/index/index.xml;
- ${MUSE_HOME}/z3950/MuseZBridge.properties
Note: Also configured in all Muse bridges that use the MNM: (${MUSE_HOME}/
and in ${MUSE_HOME}/
Note: This is the secured mode of the Muse HTTP server (SSL connections).
Warning: One of the server type ports Muse opens for its components may be occupied by other server programs. One
such example is the Ajp12 connector from Tomcat. See “${MUSE_HOME}/doc/Muse External Servlets Engine (Tomcat).pdf"
manual for further reference regarding the ports used by Tomcat.
Warning: If one of the Muse Servers fails to start the user is advised to check the log file for detailed information.
Finding the message below in the log file means that the port is already used by some other Application. When such a
situation occurs a reconfiguration is necessary to change the port used by the respective Muse server or by the already
existing service.
Cannot listen on port
Note: Not all ports are required by all Muse installations. They are required only if the corresponding components are installed. For example, port 9797 is only required if the Muse Proxy is installed.
Note: All server type ports can be remapped. The best way to accomplish this remapping is by using the Muse PostInstall Configuration package, which makes this process simple and ensures that the correct files are updated.
Further information about this can be found in the "$MUSE_HOME/doc/Muse Advanced Configuration.pdf"
document, “Server Type Ports Opened by Muse within Internet Scope” chapter.
We unify all the information from all the sources into Unicode using UTF-8, and we pass it from ICE and all of our Bridges as UTF-8 and XML-encoded entities. However, we are not limited to extracting data just from UTF-8 bytes, and we should not extract bytes as UTF-8 when it is not appropriate. All our extraction in Muse is to UTF-8 but from a wide range of encodings (including UTF-8).
We accommodate this large number of encodings, detailed in the documentation, when we extract data; only then is it converted into Unicode (with UTF-8 encoding) on our side.