Contents
This section is intended to provide sample configurations and script examples common to long-term operation of a Jive SBS installation.
As opposed to the Run Book (Linux, Solaris), these operations are common to a new installation, but generally not for day-to-day operation of the platform.
The Jive SBS platform is capable of encrypting HTTP requests via SSL or TLS. Enabling encryption of HTTP traffic requires the following steps on a platform-managed host:
Many deployments will not wish to use the locally managed platform database instead, choosing to use an RDBMS that is controlled by an internal corporate IT group. In this case, the Jive SBS local database should be disabled. To disable the database, as the root user, execute the following script:
The following terminal output demonstrates deactivation and of the Jive database service:
On Linux
[root@biodome ~]# /etc/init.d/jive-database deactivate Jive Database deactivated. [root@biodome ~]# /etc/init.d/jive-database activate Jive Database activated. The database will start automatically on the next system restart.
On Solaris
bash-3.00# svcadm -v disable -s application/jive/database svc:/application/jive/database:default disabled.
In some circumstances, it may be desirable to change the default configuration of platform-managed application server instances. For example, on a larger server-class machine, an application instance will benefit from allocation of more RAM for the JVM heap.
To change this or other settings, edit the “instance” file for the desired application ("sbs" by default) located at /usr/local/jive/applications/<app_name>/bin/instance.
The contents of this file will vary from release to release. Generally, the entries in this file correspond to either:
As an example, to change the port that the managed application listens for AJP connections, edit the instance file to alter the port for AJP_PORT.
Prior to edit, the instance file will look similar to the following.
[0806][jive@melina:~/applications/sbs/bin]$ cat instance export JIVE_HOME="/usr/local/jive" export AJP_PORT="9002" export APP_CLUSTER_ADDR="224.224.224.224" export JIVE_APP_CACHE_TTL="10000" export APP_CLUSTER_PORT="9003" export HTTPD_ADDR="0.0.0.0" export AJP_BUFFER_SIZE="4096" export HTTP_ADDR="127.0.0.1" export JIVE_APP_CACHE_SIZE="10240" export SERVER_PORT="9000" export JIVE_NAME="sbs" export HTTP_PORT="9001" export AJP_ADDR="127.0.0.1" export JIVE_CONTEXT="" export AJP_THREADS_MAX="50"
To alter the AJP_PORT to listen on port 11000, edit the instance file to appear similar to the following.
[0806][jive@melina:~/applications/sbs/bin]$ cat instance export JIVE_HOME="/usr/local/jive" export AJP_PORT="11000" export APP_CLUSTER_ADDR="224.224.224.224" export JIVE_APP_CACHE_TTL="10000" export APP_CLUSTER_PORT="9003" export HTTPD_ADDR="0.0.0.0" export AJP_BUFFER_SIZE="4096" export HTTP_ADDR="127.0.0.1" export JIVE_APP_CACHE_SIZE="10240" export SERVER_PORT="9000" export JIVE_NAME="sbs" export HTTP_PORT="9001" export AJP_ADDR="127.0.0.1" export JIVE_CONTEXT="" export AJP_THREADS_MAX="50"
Many values contained in the application setenv script can be overridden in the instance configuration. Commonly modified values include:
For any managed application, all files except the binaries for the web application (by default, each application is linked to these binaries located at /usr/local/jive/applications/template/application) are not managed by the application platform. As a result, any changes to files such as instance will be durable across application upgrades.
Jive SBS-managed databases will perform automatic backups as described in Auto Backups. In some situations, for example prior to an upgrade of the package, it may be desirable to perform a full database backup manually.
To manually perform a full backup of the managed database, execute the dbbackup script as the jive user.
[0801][jive@melina:~]$ ./bin/dbbackup /bin/tar: Removing leading '/' from member names
The command will not produce any further output if successful and will return zero if successful, non-zero otherwise.
You can restore from a backup by using PostgreSQL commands. In the PostgreSQL documentation, the section on recovering from your backup is probably the most specific. For a broader view, be sure to see the contents of their documentation on backing up and restoring.
It is highly recommended that the Jive system home directory (/usr/ local/jive) be mounted on redundant external storage (preferably SAN storage via redundant HBAs and SAN fabric). When redundant external storage is not available, the local system volume for /usr/local/jive should be mirrored across multiple physical disks to prevent the loss of a single disk as a single point of failure.
The total storage requirements for this directory will vary from installation to installation. As a basic guide for capacity planning, consider the following:
As with any system, disk consumption should be regularly monitored and alerts generated when the system approaches disk capacity. Most disk consumption will occur in three areas:
In addition to performing regular backups of reliable storage, you should perform backups of the Jive system home. The most simple backup solution is to simply backup the entire contents of /usr/local/jive. A more selective option is to backup only /usr/local/jive/applications and /usr/local/jive/etc. In either case, you should make backups in accordance with standard backup practices.
Before upgrading the package, you should make a full backup of /usr/local/jive.
When you're using the platform-managed database, it's a good idea to maintain copies of /usr/local/jive/var/data/backup on a separate storage volume that's immune from corruption that may occur on the /usr/local/jive volume.
The Jive SBS local system database is intended for use only as the application's main database. Under most circumstances you shouldn't need to separately connect to it. For those cases when you do, the default connection information is as follows:
In order to integrate the Jive SBS platform with external load balancers, configure the load balancer for session affinity between each host running the application. If the load balancer is performing SSL session termination (recommended), the load balancer should be configured to route traffic to port 80 each package-managed server. If the load balancer is not performing SSL session termination, the load balancer should be configured to route traffic to port 443 and each server configured for SSL as described in the above cookbook recipe.
Depending on the load balancer, it may be necessary to add JVM route information to the outgoing JSESSIONID HTTP cookies sent to remote agents. In this case, add a jvmRoute attribute to the Engine element of the server.xml file located in the application’s conf directory (/usr/local/jive/applications/sbs/conf/server.xml by default). For example, to name the route “r1”, the server.xml Engine element would read:
<Engine defaultHost="localhost" name="Catalina" jvmRoute="r1">
When configuring multiple nodes with jvmRoute attributes, each node should have a different value.
Applications managed by the Jive SBS package manager are capable of accepting remote Java debuggers. To enable debugging, export environment variables “DEBUG” and “JPDA_TRANSPORT” prior to starting the managed application to be debugged.
For example, to debug via remote socket connection, start the desired application as shown below.
[0832][jive@melina:~]$ export DEBUG=1 && export JPDA_TRANSPORT=dt_socket && appstart sbs
Note that only one managed application may be debugged at a time. When running in DEBUG mode, the application JVM will halt until a debugger is attached.
You might find it easier to isolate cluster-related issues by creating a cluster of instances on a single machine. The following steps describe how you can create a simply two-node cluster on a single machine. This assumes you have a license that supports more that one node in a cluster.
apprm sbs
appadd --context-path=/cluster1 cluster1
[joe@targetmachine]$ appadd --ajp-port=9004 --server-port=9005 --http-port=9006 --cluster-port=9007 --context-path=/cluster2 cluster2
appstart cluster1
appstop cluster1
export CUSTOM_OPTS="-Dtangosol.coherence.clusteraddress=<addr>"
appstart cluster2
appstop cluster2
appstart