Commit 85341ca3c33797da06a9838c36fa70c66bdf515f
1 parent
79fae59e
Exists in
master
and in
22 other branches
ActionItem154: finishing initscripts
git-svn-id: https://svn.colivre.coop.br/svn/noosfero/trunk@1431 3f533792-8f58-4932-b0fe-aaf55b0a4547
Showing
2 changed files
with
51 additions
and
6 deletions
Show diff stats
etc/init.d/noosfero
| @@ -32,14 +32,24 @@ SCRIPTNAME=/etc/init.d/$NAME | @@ -32,14 +32,24 @@ SCRIPTNAME=/etc/init.d/$NAME | ||
| 32 | # Load the VERBOSE setting and other rcS variables | 32 | # Load the VERBOSE setting and other rcS variables |
| 33 | . /lib/init/vars.sh | 33 | . /lib/init/vars.sh |
| 34 | 34 | ||
| 35 | -if [ -z $NOOSFERO_DIR ]; then | ||
| 36 | - echo "NOOSFERO_DIR not defined, noosfero not being started." | 35 | +if [ -z $NOOSFERO_DIR ] || [ -z $NOOSFERO_USER ]; then |
| 36 | + echo "NOOSFERO_DIR or NOOSFERO_USER not defined, noosfero not being started." | ||
| 37 | + echo "Both variables must be defined in /etc/default/noosfero" | ||
| 37 | exit 0 | 38 | exit 0 |
| 38 | fi | 39 | fi |
| 39 | 40 | ||
| 40 | ###################### | 41 | ###################### |
| 41 | FERRET_PID_FILE=$NOOSFERO_DIR/log/ferret.pid | 42 | FERRET_PID_FILE=$NOOSFERO_DIR/log/ferret.pid |
| 42 | 43 | ||
| 44 | +main_script() { | ||
| 45 | + cd $NOOSFERO_DIR | ||
| 46 | + if [ "$NOOSFERO_USER" != "$USER" ]; then | ||
| 47 | + su $NOOSFERO_USER -c "./script/production $1" | ||
| 48 | + else | ||
| 49 | + ./script/production $1 | ||
| 50 | + fi | ||
| 51 | +} | ||
| 52 | + | ||
| 43 | do_start() { | 53 | do_start() { |
| 44 | 54 | ||
| 45 | # FIXME should not test for ferret only | 55 | # FIXME should not test for ferret only |
| @@ -48,8 +58,7 @@ do_start() { | @@ -48,8 +58,7 @@ do_start() { | ||
| 48 | exit 2 | 58 | exit 2 |
| 49 | fi | 59 | fi |
| 50 | 60 | ||
| 51 | - cd $NOOSFERO_DIR | ||
| 52 | - ./script/production start | 61 | + main_script start |
| 53 | } | 62 | } |
| 54 | 63 | ||
| 55 | do_stop() { | 64 | do_stop() { |
| @@ -60,8 +69,7 @@ do_stop() { | @@ -60,8 +69,7 @@ do_stop() { | ||
| 60 | exit 2 | 69 | exit 2 |
| 61 | fi | 70 | fi |
| 62 | 71 | ||
| 63 | - cd $NOOSFERO_DIR | ||
| 64 | - ./script/production stop | 72 | + main_script stop |
| 65 | } | 73 | } |
| 66 | 74 | ||
| 67 | do_restart() { | 75 | do_restart() { |
| @@ -0,0 +1,37 @@ | @@ -0,0 +1,37 @@ | ||
| 1 | +#!/bin/sh | ||
| 2 | + | ||
| 3 | +export RAILS_ENV=production | ||
| 4 | + | ||
| 5 | +ACTION=$1 | ||
| 6 | +shift | ||
| 7 | + | ||
| 8 | +do_start() { | ||
| 9 | + ./script/ferret_start | ||
| 10 | + sleep 1 | ||
| 11 | + mongrel_rails cluster::start | ||
| 12 | + sleep 3 | ||
| 13 | +} | ||
| 14 | + | ||
| 15 | +do_stop() { | ||
| 16 | + mongrel_rails cluster::stop | ||
| 17 | + sleep 1 | ||
| 18 | + ./script/ferret_stop | ||
| 19 | +} | ||
| 20 | + | ||
| 21 | +case "$ACTION" in | ||
| 22 | + start|stop) | ||
| 23 | + do_$ACTION | ||
| 24 | + ;; | ||
| 25 | + | ||
| 26 | + restart) | ||
| 27 | + do_stop | ||
| 28 | + sleep 1 | ||
| 29 | + do_start | ||
| 30 | + ;; | ||
| 31 | + | ||
| 32 | + *) | ||
| 33 | + echo "usage: $0 start|stop|restart" | ||
| 34 | + exit 1 | ||
| 35 | + ;; | ||
| 36 | +esac | ||
| 37 | + |