Project

General

Profile

HowTo Install Redmine on openSUSE » History » Revision 2

Revision 1 (Anonymous, 2012-12-06 18:32) → Revision 2/3 (Dr. Ing. Dieter Jurzitza, 2015-09-18 17:38)

h1. HowTo Install Redmine on openSUSE 

 h2. Installation 

 The installation process can be done as described [[http://www.redmine.org/projects/redmine/wiki/RedmineInstall here]] 

 h2. Startscript for openSUSE 12.2 

 Please note that for more recent installations you have to tell the server that it should listen not only to localhost,  
 but to - usually - all hosts that want to talk to redmine. To achieve this, the script /etc/init.d/redmine as depicted below 
 should be changed as follows: 

 add the line "RAILSACCESS" below line 34 
 ENVIRONMENT=production 
 RAILSACCESS="0.0.0.0" 

 and change line 73 
     startproc -t 2 -u $REDMINE_USER -g $REDMINE_GROUP /usr/bin/ruby $REDMI-NE_BIN server webrick -e $ENVIRONMENT >$RCFILE 2>&1 

 into 
     startproc -t 2 -u $REDMINE_USER -g $REDMINE_GROUP /usr/bin/ruby $REDMI-NE_BIN server webrick -b $RAILSACCESS -e $ENVIRONMENT >$RCFILE 2>&1 

 /etc/init.d/redmine 
 <pre> 
 #! /bin/sh 
 # customized for redmine 2.1. original author below 
 # 
 # Copyright (c) 2009 SQQD GmbH Lichtentanne, Germany. 
 # 
 # Author: Gerrit Beine <gerrit.beine@gmx.de>, 2009 
 # 
 # /etc/init.d/redmine 
 # 
 #     and symbolic its link 
 # 
 # /usr/sbin/rcredmine 
 # 
 # System startup script for the redmine daemon 
 # 
 ### BEGIN INIT INFO 
 # Provides:         redmine 
 # Required-Start: $remote_fs $syslog $time 
 # Should-Start:     $network smtp 
 # Required-Stop:    $remote_fs $syslog 
 # Should-Stop:      $network smtp 
 # Default-Start:    2 3 5 
 # Default-Stop:     0 1 6 
 # Short-Description: Redmine Web Server 
 # Description:      Redmine Web Server 
 ### END INIT INFO 

 REDMINE_BIN=/srv/redmine/current/script/rails 
 REDMINE_USER=user 
 REDMINE_GROUP=users 
 test -x $REDMINE_BIN || exit 5 
 PIDFILE=/var/run/redmine.pid 
 RCFILE=/var/log/rcredmine.out 
 ENVIRONMENT=production 

 # Shell functions sourced from /etc/rc.status: 
 #        rc_check           check and set local and overall rc status 
 #        rc_status          check and set local and overall rc status 
 #        rc_status -v       ditto but be verbose in local rc status 
 #        rc_status -v -r    ditto and clear the local rc status 
 #        rc_failed          set local and overall rc status to failed 
 #        rc_failed <num>    set local and overall rc status to <num><num> 
 #        rc_reset           clear local rc status (overall remains) 
 #        rc_exit            exit appropriate to overall rc status 
 . /etc/rc.status 

 # First reset status of this service 
 rc_reset 

 # Return values acc. to LSB for all commands but status: 
 # 0 - success 
 # 1 - generic or unspecified error 
 # 2 - invalid or excess argument(s) 
 # 3 - unimplemented feature (e.g. "reload") 
 # 4 - insufficient privilege 
 # 5 - program is not installed 
 # 6 - program is not configured 
 # 7 - program is not running 
 # 
 # Note that starting an already running service, stopping 
 # or restarting a not-running service as well as the restart 
 # with force-reload (in case signalling is not supported) are 
 # considered a success. 

 case "$1" in 
     start) 
     echo -n "Starting Redmine daemon" 
     ## Start daemon with startproc(8). If this fails 
     ## the echo return value is set appropriate. 

     # NOTE: startproc return 0, even if service is 
     # already running to match LSB spec. 
     startproc -t 2 -u $REDMINE_USER -g $REDMINE_GROUP /usr/bin/ruby $REDMI-NE_BIN server webrick -e $ENVIRONMENT >$RCFILE 2>&1 
     ps aux --columns 200 | grep $REDMINE_BIN | grep -v grep | awk '{print $2}'> $PIDFILE 

     # Remember status and be verbose 
     rc_status -v 
     ;; 
     stop) 
     echo -n "Shutting down Redmine daemon" 
     ## Stop daemon with killproc(8) and if this fails 
     ## set echo the echo return value. 

     killproc -INT -p $PIDFILE ruby $REDMINE_BIN >/dev/null 2>&1 
     # Remember status and be verbose 
     rc_status -v 
     ;; 
     try-restart) 
     ## Stop the service and if this succeeds (i.e. the 
     ## service was running before), start it again. 
     ## Note: try-restart is not (yet) part of LSB (as of 0.7.5) 
     $0 status >/dev/null &&    $0 restart 

     # Remember status and be quiet 
     rc_status 
     ;; 
     restart) 
     ## Stop the service and regardless of whether it was 
     ## running or not, start it again. 
     $0 stop 
     $0 start 

     # Remember status and be quiet 
     rc_status 
     ;; 
     force-reload) 
     ## Signal the daemon to reload its config. Most daemons 
     ## do this on signal 1 (SIGHUP). 
     ## If it does not support it, restart. 
     $0 stop 
     $0 start 

     # Remember status and be quiet 
     rc_status 
     ;; 
     reload) 
     ## Like force-reload, but if daemon does not support 
     ## signalling, do nothing (!) 

     ## Otherwise if it does not support reload: 
     rc_status -v 
     ;; 
     status) 
     echo -n "Checking for Redmine: " 
     ## Check status with checkproc(8), if process is running 
     ## checkproc will return with exit status 0. 

     # Status has a slightly different for the status command: 
     # 0 - service running 
     # 1 - service dead, but /var/run/    pid    file exists 
     # 2 - service dead, but /var/lock/ lock file exists 
     # 3 - service not running 

     # NOTE: checkproc returns LSB compliant status values. 
     checkproc -p $PIDFILE ruby $REDMINE_BIN 
     rc_status -v 
     ;; 
     probe) 
     ## Optional: Probe for the necessity of a reload, 
     ## give out the argument which is required for a reload. 

     ;; 
     *) 
     echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload|probe}" 
     exit 1 
     ;; 
 esac 
 rc_exit 

 </pre>