fork download
  1. #!/bin/sh
  2. # setup basic parameters
  3. JBOSS_VER=5.1.0.GA
  4. JBOSS_NAME=jboss
  5. JBOSS_USER=jboss
  6. JBOSS_SERVER=nvt
  7. JAVA_OPTS="-server -XX:MaxPermSize=256m -Xmx512m -Xms128m"
  8. # setup variables
  9. JBOSS_ARC=/usr/src/$JBOSS_NAME-$JBOSS_VER.zip
  10. JBOSS_DIR=$JBOSS_NAME-$JBOSS_VER
  11. JBOSS_HOME=/usr/share/$JBOSS_NAME
  12. JBOSS_VAR=/var/lib/$JBOSS_NAME
  13. JBOSS_LOG=/var/log/$JBOSS_NAME
  14. JBOSS_DOC=/usr/share/doc/$JBOSS_NAME-$JBOSS_VER
  15. JBOSS_PID=/var/run/$JBOSS_NAME.pid
  16. JBOSS_RC=/etc/init.d/$JBOSS_NAME
  17. JBOSS_CONF=/etc/default/$JBOSS_NAME
  18. JBOSS_INST=/var/tmp/$JBOSS_NAME-$JBOSS_VER
  19.  
  20. # prepare installation environment
  21. rm -rf $JBOSS_HOME > /dev/null
  22. rm -rf $JBOSS_DOC > /dev/null
  23. mkdir -p $JBOSS_VAR > /dev/null
  24. mkdir -p $JBOSS_LOG > /dev/nul
  25.  
  26. # prepare installation source
  27. unzip $JBOSS_ARC -d /usr/src
  28. mv /usr/src/$JBOSS_NAME-$JBOSS_VER $JBOSS_HOME
  29.  
  30. # install files
  31. mv -f $JBOSS_HOME/docs $JBOSS_DOC > /dev/null
  32. ln -s $JBOSS_DOC $JBOSS_HOME/docs > /dev/null
  33. mv -f $JBOSS_HOME/server $JBOSS_VAR > /dev/null
  34. ln -s $JBOSS_VAR/server $JBOSS_HOME/server > /dev/null
  35.  
  36. # create default server
  37. if [ "${JBOSS_SERVER}" != "default" ]; then
  38. [ -d $JBOSS_VAR/server/$JBOSS_SERVER ] || cp -fR $JBOSS_VAR/server/all $JBOSS_VAR/server/$JBOSS_SERVER > /dev/null
  39. rm -rf $JBOSS_VAR/server/$JBOSS_SERVER/deploy/ROOT.war
  40. fi
  41.  
  42. # add jboss user
  43. useradd $JBOSS_USER > /dev/null
  44.  
  45. # setup owner & rights
  46. chown -R $JBOSS_USER:$JBOSS_USER $JBOSS_VAR > /dev/null
  47. chown -R $JBOSS_USER:$JBOSS_USER $JBOSS_LOG > /dev/null
  48. chmod -R o-w $JBOSS_HOME > /dev/null
  49. chmod -R ug+rwX $JBOSS_HOME > /dev/null
  50. chmod -R o+rX $JBOSS_HOME > /dev/null
  51. chmod -R o-rwx $JBOSS_VAR > /dev/null
  52. chmod -R ug+rwX $JBOSS_VAR > /dev/null
  53. chmod -R o-rwx $JBOSS_LOG > /dev/null
  54. chmod -R ug+rwX $JBOSS_LOG > /dev/null
  55. chmod ugo+rx $JBOSS_HOME/bin/*.sh > /dev/null
  56.  
  57. # setup jboss command-line config
  58. if [ ! -f $JBOSS_CONF ]; then
  59. echo "JBOSS_HOME="$JBOSS_HOME >> $JBOSS_CONF
  60. echo "JBOSS_LOG="$JBOSS_LOG >> $JBOSS_CONF
  61. echo "JBOSS_PID="$JBOSS_PID >> $JBOSS_CONF
  62. echo "JAVA_OPTS=\""$JAVA_OPTS"\"" >> $JBOSS_CONF
  63. echo "JBOSS_USER="$JBOSS_USER >> $JBOSS_CONF
  64. echo "JBOSS_SERVER="$JBOSS_SERVER >> $JBOSS_CONF
  65. echo "LAUNCH_JBOSS_IN_BACKGROUND=yes" >> $JBOSS_CONF
  66. echo "JBOSS_BIND_ADDRESS=0.0.0.0" >> $JBOSS_CONF
  67. fi
  68.  
  69. # setup init script
  70. cat > $JBOSS_RC << "EOF"
  71. #!/bin/sh
  72.  
  73. DEFAULT_CONFIG=/etc/default/jboss
  74. LAUNCH_JBOSS_IN_BACKGROUND=yes
  75. JBOSS_PID=/var/run/jboss.pid
  76. [ -f $DEFAULT_CONFIG ] && . $DEFAULT_CONFIG
  77. [ -z "$JBOSS_HOME" ] || export JBOSS_HOME
  78. [ -z "$JAVA_OPTS" ] || export JAVA_OPTS
  79. [ -z "$JBOSS_SERVER" ] || export JBOSS_SERVER
  80. [ -z "$JBOSS_LOG" ] || export JBOSS_LOG
  81. [ -z "$JBOSS_BIND_ADDRESS" ] || export JBOSS_BIND_ADDRESS
  82. [ -z "$JBOSS_IN_BACKGROUND" ] || export JBOSS_IN_BACKGROUND
  83. [ -z "$JBOSS_USER" ] || export JBOSS_USER
  84.  
  85. #make sure java is in your path
  86. JAVAPTH=${JAVAPTH:-"/usr/bin"}
  87.  
  88. #define what will be done with the console log
  89. JBOSS_CONSOLE=${JBOSS_CONSOLE:-"/dev/null"}
  90.  
  91. if [ -z "`echo $PATH | grep $JAVAPTH`" ]; then
  92. export PATH=$PATH:$JAVAPTH
  93. fi
  94.  
  95. if [ ! -d "$JBOSS_HOME" ]; then
  96. echo JBOSS_HOME does not exist as a valid directory : $JBOSS_HOME
  97. exit 1
  98. fi
  99.  
  100. mklogsymlinks() {
  101. [ -d $JBOSS_HOME/server/$JBOSS_SERVER/log ] && mv -f $JBOSS_HOME/server/$JBOSS_SERVER/log $JBOSS_HOME/server/$JBOSS_SERVER/log.invalid
  102. [ -h $JBOSS_HOME/server/$JBOSS_SERVER/log ] || ln -s /var/log/jboss $JBOSS_HOME/server/$JBOSS_SERVER/log
  103. }
  104.  
  105. case "$1" in
  106. start)
  107. mklogsymlinks
  108. chown -R jboss:jboss /var/lib/jboss/server/nvt/deploy/webapps*
  109. chmod g+rwX -R /var/lib/jboss/server/nvt/deploy/webapps*
  110. cd $JBOSS_HOME/bin
  111. su -p -l $JBOSS_USER -c "$JBOSS_HOME/bin/run.sh -c $JBOSS_SERVER -u 239.255.100.100 -Djboss.messaging.ServerPeerID=1 -b $JBOSS_BIND_ADDRESS" &
  112. PID=$!
  113. echo "Jboss PID: $PID"
  114. echo $PID > $JBOSS_PID
  115. rm -rf /var/log/jboss/log
  116. ;;
  117. stop)
  118. su -p -l $JBOSS_USER -c "$JBOSS_HOME/bin/shutdown.sh -S -s jnp://$JBOSS_BIND_ADDRESS:1099" &
  119. PID=`cat $JBOSS_PID`
  120. echo "Jboss PID: $PID"
  121. rm -f $JBOSS_PID > /dev/null
  122. rm -rf /var/lib/jboss/server/nvt/work/jboss.web/* > /dev/null
  123. ;;
  124. *)
  125. echo "usage: $0 (start|stop)"
  126. esac
  127. EOF
  128.  
  129. chmod ug+x $JBOSS_RC > /dev/null
  130. update-rc.d $JBOSS_NAME defaults
Not running #stdin #stdout 0s 0KB
stdin
Standard input is empty
stdout
Standard output is empty