Installing as a Linux Service
WSO2 Carbon and any Carbon-based product can be run as a Linux service as described in the following sections:
Before you begin:
See the known incompatibilities section to find out if this version of the product has issues running on your OS due to the JDK version.
See the compatibility matrix to find out if this version of the product is fully tested on your operating system.
Prerequisites
Install JDK and set up the JAVA_HOME environment variable. For more information, see Installation Prerequisites.
Setting up CARBON_HOME
Extract the WSO2 product that you want to run as a Linux service and set the environment variable CARBON_HOME to the extracted product directory location.
Running the product as a Linux service
To run the product as a service, create a startup script and add it to the boot sequence. The basic structure of the startup script has three parts (i.e., start, stop and restart) as follows:
#!/bin/bash case “$1″ in start) echo “Starting Service” ;; stop) echo “Stopping Service” ;; restart) echo “Restarting Service” ;; *) echo $”Usage: $0 {start|stop|restart}” exit 1 esacFor example, given below is a startup script written for WSO2 Application Server 5.2.0:
#! /bin/sh export JAVA_HOME="/usr/lib/jvm/jdk1.7.0_07" startcmd='/opt/WSO2/wso2as-5.2.0/bin/wso2server.sh start > /dev/null &' restartcmd='/opt/WSO2/wso2as-5.2.0/bin/wso2server.sh restart > /dev/null &' stopcmd='/opt/WSO2/wso2as-5.2.0/bin/wso2server.sh stop > /dev/null &' case "$1" in start) echo "Starting WSO2 Application Server ..." su -c "${startcmd}" user1 ;; restart) echo "Re-starting WSO2 Application Server ..." su -c "${restartcmd}" user1 ;; stop) echo "Stopping WSO2 Application Server ..." su -c "${stopcmd}" user1 ;; *) echo "Usage: $0 {start|stop|restart}" exit 1 esacIn the above script, the server is started as a user by the name user1 rather than the root user. For example,
su -c "${startcmd}" user1
Add the script to
/etc/init.d/directory.
Install the startup script to respective runlevels using the command
update-rc.d. For example, give the following command for the sample script shown in step1:
sudo update-rc.d appserver defaults
Thedefaultsoption in the above command makes the service to start in runlevels 2,3,4 and 5 and to stop in runlevels 0,1 and 6.A runlevel is a mode of operation in Linux (or any Unix-style operating system). There are several runlevels in a Linux server and each of these runlevels is represented by a single digit integer. Each runlevel designates a different system configuration and allows access to a different combination of processes.
You can now st art, stop and restart the server using
service <service name>{start|stop|restart}command. You will be prompted for the password of the user (or root) who was used to start the service.