Click here to Skip to main content
15,917,645 members
Articles / All Topics

Installing Mule as a Service on Linux

Rate me:
Please Sign up or sign in to vote.
5.00/5 (1 vote)
3 Mar 2016CPOL1 min read 10K   1  
Installing Mule as a Service on Linux

Too many times, I’ve seen installations on Linux that are unstable, hard to customize and not repeatable. Here’s the fix.

These instructions and files are on my GIT repository.

Init.d Script for Running Mule ESB in Debian and Ubuntu as a service. RHEL is similar.

  1. Create directory /usr/local/mule
  2. Untar Mule ESB into /usr/local/mule creating ./mule-enterprise-3.6.2
  3. Instead of /usr/local/mule/mule-enterprise-3.6.2 which is typical when you unzip, I create a symbolic link:
ln -s /usr/local/mule/mule-enterprise-3.6.2 /usr/local/mule/mule-dev

This way, when you install a new version, you can unzip into another folder and simply move the symlink.

Init.d script

Place the etc/init.d/mule-dev script in /etc/init.d/
sudo chown root:root mule-dev
sudo chmod 755 mule-dev
sudo update-rc.d mule-dev defaults

Init.d Parameter File

Place the etc/mule/mule-dev parameter file in /etc/mule [need to create directory]
sudo chown -R root:root /etc/mule/
sudo chmod 700 /etc/mule
sudo chmod 600 /etc/mule/mule-dev

Edit the parameter file for the variables that you need. I suggest also renaming the scripts as appropriate, especially if you have multiple mule instances on the same server. For example, mule-qa1 mule-qa2 mule-highvolume.

Wrapper.conf

Notice that the wrapper.conf file has variables in a few places and that these variables are being represented in the init script. Before you overwrite your wrapper.conf, note down any customizations you may have done to the file. And optionally, add them to the init.d script or the parameter file.

Wrapper.conf goes in
/usr/local/mule/mule-dev/conf

Other Things to Note about Mule Instance Installation

  • Place a fresh copy of JDK 1.7 into the /usr/local/java directory, you may want to also have a copy of 1.8 but at the time of this writing, 1.7 was supported in Mule 3.6.x
  • Change the user that Mule is running under generally. I have it listed here as ‘root’ that’s required under some circumstances: Opening ports under 1024 for example. If it’s possible to run Mule under its own user, then do so. Make sure to get the hidden directories as well.
sudo chown -R mule /usr/local/mule/mule-dev
sudo chown -R mule /usr/local/mule/mule-dev/.mule
sudo chown -R mule /usr/local/mule/mule-dev/.mule/.agent
This article was originally posted at http://intrgrex.com/installing-mule-as-a-service-on-linux

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Product Manager Workday
United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
-- There are no messages in this forum --