Difference between revisions of "Installing the Messaging Server: DEPRECATED"
imported>Aeric |
imported>Aeric |
||
(46 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{Warn|1= | |||
<br> | |||
<br> | |||
'''This feature has been deprecated and should not be used with the latest versions of AgileApps. This document is no longer being updated.''' | |||
}} | |||
<includeonly>===Installing the Messaging Server===</includeonly> | <includeonly>===Installing the Messaging Server===</includeonly> | ||
====Prerequisites==== | ====Prerequisites==== | ||
Before starting the Messaging Server installation, the [[Platform Installation Guide#Platform Installation|Application Server]] (appserver) should be installed. | Before starting the Messaging Server installation, the [[Platform Installation Guide#Platform Installation|Application Server]] (appserver) should be installed. | ||
==== | ====Download the Messaging Server==== | ||
HornetQ is the Message Queue engine used by the Messaging Server. | # Download the messaging server {{DOCHOST}}/files/messaging-server.tar.gz | ||
#: | |||
# Unpack the archive to the application server directory.<br>For example: | |||
#: <tt>cd {appserver}/</tt> | |||
#: <tt>gunzip messaging-server.tar.gz</tt> | |||
#: <tt>tar xfz messaging-server.tar</tt> | |||
====Install HornetQ==== | |||
HornetQ is the Message Queue engine used by the Messaging Server. | |||
'''To install HornetQ | '''To install HornetQ:''' | ||
# Download the release specified in the [[Software Requirements]] from<br>http://www.jboss.org/hornetq/downloads.html | # Download the release specified in the [[Software Requirements]] from<br>http://www.jboss.org/hornetq/downloads.html | ||
#: | #: | ||
# Unpack the archive to the desired location.<br>For example: | # Unpack the archive to the desired location.<br>For example: | ||
#: <tt>cd / | #: <tt>cd {appserver}/</tt> | ||
#: <tt>tar xfz hornetQ-{version}.tar</tt> | #: <tt>tar xfz hornetQ-{version}.tar</tt> | ||
# Edit <tt>{hornetq_install}/config/stand-alone/non-clustered/hornetq-users.xml</tt><br>Add the following code to the <tt><configuration></tt> section to create the admin user who will have access to the queue: | # Edit <tt>{hornetq_install}/config/stand-alone/non-clustered/hornetq-users.xml</tt><br>Add the following code to the <tt><configuration></tt> section to create the admin user who will have access to the queue: | ||
Line 33: | Line 47: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==== | ====Start HornetQ==== | ||
Start HornetQ before proceeding with the next step in the installation: | Start HornetQ before proceeding with the next step in the installation: | ||
:<tt>{hornetq_install}/bin/run.sh</tt> | :<tt>{hornetq_install}/bin/run.sh</tt> | ||
Line 39: | Line 53: | ||
:''Learn more: [[Server Restart Sequence]]}} | :''Learn more: [[Server Restart Sequence]]}} | ||
==== | ====Configure the Platform's Service Provider Settings==== | ||
# Go to the {{Service Provider URL}} | # Go to the {{Service Provider URL}} | ||
# Log in as the admin user | # Log in as the admin user | ||
Line 45: | Line 59: | ||
# Set values for the following parameters: | # Set values for the following parameters: | ||
::{| border="1" cellspacing="0" cellpadding="2" | ::{| border="1" cellspacing="0" cellpadding="2" | ||
| '''HornetQ Host''' || IP address of the server where HornetQ is installed ( | | '''HornetQ Host''' || IP address of the server where HornetQ is installed<br> (If running on the same server as the messaging server, enter <tt>localhost</tt>) | ||
|- | |- | ||
| '''HornetQ Port''' || Default: 5445.<br> Needs to be specified only if the port specified for the netty acceptor<br> was changed in <tt>hornetq-configuration.xml</tt> | | '''HornetQ Port''' || Default: 5445.<br> Needs to be specified only if the port specified for the netty acceptor<br> was changed in <tt>hornetq-configuration.xml</tt> | ||
Line 51: | Line 65: | ||
| '''HornetQ User<br>HornetQ Password''' || Use the same credentials you specified in <tt>hornetq-users.xml</tt> | | '''HornetQ User<br>HornetQ Password''' || Use the same credentials you specified in <tt>hornetq-users.xml</tt> | ||
|- | |- | ||
| '''HornetQ QoS''' || The number of simultaneously working Message Queue listeners. | | '''HornetQ QoS''' || The number of simultaneously working Message Queue listeners.<br> (A typical value is 2.) | ||
|} | |} | ||
:5. Click '''[Save]''' | :5. Click '''[Save]''' | ||
:6. Restart the server to read the new configuration: | |||
:{| | |||
{{:Common:Restart}} | |||
|} | |||
==== | ====Create an SSL Keystore==== | ||
The Messaging Server accepts only SSL-encrypted connections. It needs a valid SSL certificate to perform a Handshake and data exchange with client systems. | The Messaging Server accepts only SSL-encrypted connections. It needs a valid SSL certificate to perform a Handshake and data exchange with client systems. | ||
Line 62: | Line 80: | ||
:''Learn more:'' [[Managing SSL Certificates]]. | :''Learn more:'' [[Managing SSL Certificates]]. | ||
==== | ====Configure the Messaging Server==== | ||
# Go to <tt>{ | # Start the appserver: | ||
#: <tt>{appserver}/profiles/IS_default/bin/startup.sh</tt> | |||
# Go to <tt>{appserver}/messaging-server/conf/</tt>.<br>That directory contains two configuration files: | |||
#:* <tt>log4j.properties</tt> – standard Apache Log4J configuration file. | #:* <tt>log4j.properties</tt> – standard Apache Log4J configuration file. | ||
#:* <tt>server.properties</tt> – Messaging Server configuration file. | #:* <tt>server.properties</tt> – Messaging Server configuration file. | ||
Line 71: | Line 91: | ||
#*: Use 443 if it is on a standalone system. | #*: Use 443 if it is on a standalone system. | ||
#*: If is on the same system as the appserver, then: | #*: If is on the same system as the appserver, then: | ||
#*:* Use the default value ( | #*:* Use the default value (7443) | ||
#*:* Add Apache Web Server proxy instructions (see end of document) | #*:* Add Apache Web Server proxy instructions (see end of document) | ||
#* <tt>debug</tt> – set value to <tt>1</tt> to see content of all incoming HTTP requests in the log. | #* <tt>debug</tt> – set value to <tt>1</tt> to see content of all incoming HTTP requests in the log. | ||
Line 77: | Line 97: | ||
#* <tt>ssl_keystore</tt> – absolute or relative path to your SSL keystore | #* <tt>ssl_keystore</tt> – absolute or relative path to your SSL keystore | ||
#* <tt>ssl_keystore_password</tt> – password for your SSL keystore | #* <tt>ssl_keystore_password</tt> – password for your SSL keystore | ||
#* <tt>customer_db_server</tt> - put proper values for host, username and password to connect to the platform's MySQL Database | |||
#* <tt>message_db_server</tt> - put proper values for host, username and password to connect to the Messaging Server Database.<br>If the Messaging Server doesn't have a separate MySQL instance, copy the value of <tt>customer_db_server</tt> | |||
#: | |||
# In platform's [[Service Provider Settings]], set the '''Messaging Server Host''' parameter to the messaging server's hostname (or IP address) and port. For example, hostname:7443. | |||
=====AppServer Installation===== | =====AppServer Installation===== | ||
Follow these steps when running the Messaging Server on the same system as an appserver: | Follow these steps when running the Messaging Server on the same system as an appserver: | ||
# Copy the messaging script to its target destination: | # Copy the messaging script to its target destination: | ||
#: <tt>cp {appserver_installation}/messaging-server/messaging /etc/init.d/</tt> | #: <tt>cp {appserver_installation}/messaging-server/messaging /etc/init.d/</tt> | ||
Line 91: | Line 112: | ||
=====Standalone Installation===== | =====Standalone Installation===== | ||
For maximum performance, follow these steps to run the Messaging Server on a standalone system: | For maximum performance, follow these steps to run the Messaging Server on a standalone system: | ||
# Install MySQL on Messaging Server instance. Use the same MySQL credentials as on the appserver. | # Install MySQL on the Messaging Server instance. Use the same MySQL credentials as on the appserver. | ||
# Import <tt>messagingdb.sql</tt> into MySQL on the Messaging Server system. | # Import <tt>messagingdb.sql</tt> into MySQL on the Messaging Server system. | ||
#:'''Note:'''<br>The MySQL instance used by the Messaging Server contains real-time data, only. There is no need for backups or database replication, as the data structures can be easily restored by re-running that SQL script. | #:'''Note:'''<br>The MySQL instance used by the Messaging Server contains real-time data, only. There is no need for backups or database replication, as the data structures can be easily restored by re-running that SQL script. | ||
# Copy these files from the appserver system to the Messaging Server system: | # Copy these files from the appserver system to the Messaging Server system: | ||
#* | #* Copy the entire <tt>messaging-server</tt> directory to the installation directory. | ||
#* | #* Copy <tt>es.jar</tt> from the platform's <tt>tomcat/lib</tt> to <tt>messaging-server/lib</tt> | ||
#* Copy the downloaded mysql connector library to <tt>messaging-server/lib</tt> | |||
#* Copy the SSL keystore file directory to <tt>messaging-server/conf/ssl</tt> | |||
# | #: | ||
# In <tt>startmessaging.sh</tt>, correct the path for each JAR used in Java classpath | # In <tt>startmessaging.sh</tt>, correct the path for each JAR used in Java classpath to reference the jars in <tt>messaging-server/lib</tt> | ||
# In | #: | ||
# In <tt>messaging-server/messaging</tt> correct the path for the <tt>cd</tt> command to go to <tt>{install-dir}/messaging-server</tt> | |||
#: | #: | ||
# Copy the messaging script to its target destination: | # Copy the messaging script to its target destination: | ||
#: <tt>cp messaging-server/messaging /etc/init.d/</tt> | #: <tt>cp messaging-server/messaging /etc/init.d/</tt> | ||
Line 109: | Line 130: | ||
#: <tt>cd /etc/init.d/</tt> | #: <tt>cd /etc/init.d/</tt> | ||
#: <tt>chkconfig –add messaging</tt> | #: <tt>chkconfig –add messaging</tt> | ||
=====Verifying if the Messaging Server has Started===== | |||
:Run the following commands in the messaging server console: | |||
{{Note|If the server is not up and running, you will not see any output for these commands. In such scenarios, review the server log files.}} | |||
::* <tt>netstat -anop | grep 7443</tt> - Verify if the port 7443 is listening. | |||
::* <tt>ps -ef |grep netty</tt> - Verify if the netty server is up and running. | |||
====Finding the Server Logs==== | |||
:* <tt>messaging-server/logs/server.log</tt> contains the runtime log records for the Messaging Server | |||
:* <tt>messaging-server/logs/startup.log</tt> contains startup and class loading errors |
Latest revision as of 08:56, 27 August 2021
Prerequisites
Before starting the Messaging Server installation, the Application Server (appserver) should be installed.
Download the Messaging Server
- Download the messaging server https://agileappscloud.info/aawiki-src/download/files/messaging-server.tar.gz
- Unpack the archive to the application server directory.
For example:- cd {appserver}/
- gunzip messaging-server.tar.gz
- tar xfz messaging-server.tar
Install HornetQ
HornetQ is the Message Queue engine used by the Messaging Server.
To install HornetQ:
- Download the release specified in the Software Requirements from
http://www.jboss.org/hornetq/downloads.html - Unpack the archive to the desired location.
For example:- cd {appserver}/
- tar xfz hornetQ-{version}.tar
- Edit {hornetq_install}/config/stand-alone/non-clustered/hornetq-users.xml
Add the following code to the <configuration> section to create the admin user who will have access to the queue:- <syntaxhighlight lang="xml" enclose="div">
<user name="[USER_NAME]" password="[PASSWORD]">
<role name="admin"/>
</user> </syntaxhighlight>
- Edit {hornetq_install}/config/stand-alone/non-clustered/hornetq-configuration.xml
Replace the <security>...</security> section with the following:- <syntaxhighlight lang="xml" enclose="div">
<security-settings>
<security-setting match="#"> <permission type="createNonDurableQueue" roles="guest, admin"/> <permission type="deleteNonDurableQueue" roles="guest, admin"/> <permission type="createDurableQueue" roles="admin"/> <permission type="deleteDurableQueue" roles="admin"/> <permission type="consume" roles="guest, admin"/> <permission type="send" roles="guest, admin"/> <permission type="manage" roles="admin"/> </security-setting>
</security-settings> </syntaxhighlight>
Start HornetQ
Start HornetQ before proceeding with the next step in the installation:
- {hornetq_install}/bin/run.sh
Note:
HornetQ should always be started before launching the platform's messaging server.- Learn more: Server Restart Sequence
Configure the Platform's Service Provider Settings
- Go to the Service Provider URL: http://{yourDomain}/networking/Service?t=1&targetpage=ViewPort.jsp
- Log in as the admin user
- Go to Settings > Service Provider Settings > Service Configuration
- Set values for the following parameters:
HornetQ Host IP address of the server where HornetQ is installed
(If running on the same server as the messaging server, enter localhost)HornetQ Port Default: 5445.
Needs to be specified only if the port specified for the netty acceptor
was changed in hornetq-configuration.xmlHornetQ User
HornetQ PasswordUse the same credentials you specified in hornetq-users.xml HornetQ QoS The number of simultaneously working Message Queue listeners.
(A typical value is 2.)
- 5. Click [Save]
- 6. Restart the server to read the new configuration:
- Login as root
- {install-dir}/profiles/IS_default/bin/restart.sh
Create an SSL Keystore
The Messaging Server accepts only SSL-encrypted connections. It needs a valid SSL certificate to perform a Handshake and data exchange with client systems.
The same Java keystore, SSL certificate, and private key used for the application server can be used for the Messaging Server. So once that has been set up, nothing else needs to be done.
- Learn more: Managing SSL Certificates.
Configure the Messaging Server
- Start the appserver:
- {appserver}/profiles/IS_default/bin/startup.sh
- Go to {appserver}/messaging-server/conf/.
That directory contains two configuration files:- log4j.properties – standard Apache Log4J configuration file.
- server.properties – Messaging Server configuration file.
- In server.properties, configure the following parameters:
- netty_port
- Use 443 if it is on a standalone system.
- If is on the same system as the appserver, then:
- Use the default value (7443)
- Add Apache Web Server proxy instructions (see end of document)
- debug – set value to 1 to see content of all incoming HTTP requests in the log.
- Otherwise, use the default value (0).
- ssl_keystore – absolute or relative path to your SSL keystore
- ssl_keystore_password – password for your SSL keystore
- customer_db_server - put proper values for host, username and password to connect to the platform's MySQL Database
- message_db_server - put proper values for host, username and password to connect to the Messaging Server Database.
If the Messaging Server doesn't have a separate MySQL instance, copy the value of customer_db_server
- netty_port
- In platform's Service Provider Settings, set the Messaging Server Host parameter to the messaging server's hostname (or IP address) and port. For example, hostname:7443.
AppServer Installation
Follow these steps when running the Messaging Server on the same system as an appserver:
- Copy the messaging script to its target destination:
- cp {appserver_installation}/messaging-server/messaging /etc/init.d/
- Make messaging an autostart script:
- cd /etc/init.d/
- chkconfig –add messaging
Standalone Installation
For maximum performance, follow these steps to run the Messaging Server on a standalone system:
- Install MySQL on the Messaging Server instance. Use the same MySQL credentials as on the appserver.
- Import messagingdb.sql into MySQL on the Messaging Server system.
- Note:
The MySQL instance used by the Messaging Server contains real-time data, only. There is no need for backups or database replication, as the data structures can be easily restored by re-running that SQL script.
- Note:
- Copy these files from the appserver system to the Messaging Server system:
- Copy the entire messaging-server directory to the installation directory.
- Copy es.jar from the platform's tomcat/lib to messaging-server/lib
- Copy the downloaded mysql connector library to messaging-server/lib
- Copy the SSL keystore file directory to messaging-server/conf/ssl
- In startmessaging.sh, correct the path for each JAR used in Java classpath to reference the jars in messaging-server/lib
- In messaging-server/messaging correct the path for the cd command to go to {install-dir}/messaging-server
- Copy the messaging script to its target destination:
- cp messaging-server/messaging /etc/init.d/
- Make messaging an autostart script:
- cd /etc/init.d/
- chkconfig –add messaging
Verifying if the Messaging Server has Started
- Run the following commands in the messaging server console:
- netstat -anop | grep 7443 - Verify if the port 7443 is listening.
- ps -ef |grep netty - Verify if the netty server is up and running.
Finding the Server Logs
- messaging-server/logs/server.log contains the runtime log records for the Messaging Server
- messaging-server/logs/startup.log contains startup and class loading errors