Installing as a Linux Service

This site contains the documentation that is relevant to older WSO2 product versions and offerings.
For the latest WSO2 documentation, visit https://wso2.com/documentation/.

Installing as a Linux Service

Follow the sections below to run a WSO2 product as a Linux service:

Prerequisites

  • System requirements

  • Environment compatibility

  • Required applications
    The following applications are required for running the product and its samples or for building from the source code. Mandatory installations are marked with an asterisk *.

Setting up CARBON_HOME

Extract the WSO2 product to a preferred directory in your machine and set the environment variable CARBON_HOME to the extracted directory location.

Running the product as a Linux service

  1. 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 the Service” ;; stop) echo “Stopping the Service” ;; restart) echo “Restarting the Service” ;; *) echo $”Usage: $0 {start|stop|restart}” exit 1 esac

    Given below is a sample startup script. <PRODUCT_HOME> can vary depending on the WSO2 product's directory.

    #! /bin/sh export JAVA_HOME="/usr/lib/jvm/jdk1.7.0_07" startcmd='<PRODUCT_HOME>/bin/wso2server.sh start > /dev/null &' restartcmd='<PRODUCT_HOME>/bin/wso2server.sh restart > /dev/null &' stopcmd='<PRODUCT_HOME>/bin/wso2server.sh stop > /dev/null &' case "$1" in start) echo "Starting the WSO2 Server ..." su -c "${startcmd}" user1 ;; restart) echo "Re-starting the WSO2 Server ..." su -c "${restartcmd}" user1 ;; stop) echo "Stopping the WSO2 Server ..." su -c "${stopcmd}" user1 ;; *) echo "Usage: $0 {start|stop|restart}" exit 1 esac

    In 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 

  2. Add the script to /etc/init.d/ directory.

  3. 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 prodserver defaults


    The defaults option 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.

    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. 

  4. You can now start, 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.