HowTo Install Redmine on openSUSE » History » Version 3
Dr. Ing. Dieter Jurzitza, 2015-09-18 17:40
1 | 1 | Anonymous | h1. HowTo Install Redmine on openSUSE |
---|---|---|---|
2 | |||
3 | h2. Installation |
||
4 | |||
5 | The installation process can be done as described [[http://www.redmine.org/projects/redmine/wiki/RedmineInstall here]] |
||
6 | |||
7 | 3 | Dr. Ing. Dieter Jurzitza | h2. Startscript for openSUSE 12.2 (and later) |
8 | 1 | Anonymous | |
9 | 2 | Dr. Ing. Dieter Jurzitza | Please note that for more recent installations you have to tell the server that it should listen not only to localhost, |
10 | but to - usually - all hosts that want to talk to redmine. To achieve this, the script /etc/init.d/redmine as depicted below |
||
11 | should be changed as follows: |
||
12 | |||
13 | add the line "RAILSACCESS" below line 34 |
||
14 | ENVIRONMENT=production |
||
15 | RAILSACCESS="0.0.0.0" |
||
16 | |||
17 | and change line 73 |
||
18 | startproc -t 2 -u $REDMINE_USER -g $REDMINE_GROUP /usr/bin/ruby $REDMI-NE_BIN server webrick -e $ENVIRONMENT >$RCFILE 2>&1 |
||
19 | |||
20 | into |
||
21 | startproc -t 2 -u $REDMINE_USER -g $REDMINE_GROUP /usr/bin/ruby $REDMI-NE_BIN server webrick -b $RAILSACCESS -e $ENVIRONMENT >$RCFILE 2>&1 |
||
22 | 1 | Anonymous | |
23 | 3 | Dr. Ing. Dieter Jurzitza | this script even works on opensuse leap 4.1 though it does not comply to systemd - format. Nevertheless, |
24 | insserv /etc/init.d/redmine will work as expected. |
||
25 | |||
26 | /etc/init.d/redmine: |
||
27 | 1 | Anonymous | <pre> |
28 | #! /bin/sh |
||
29 | # customized for redmine 2.1. original author below |
||
30 | # |
||
31 | # Copyright (c) 2009 SQQD GmbH Lichtentanne, Germany. |
||
32 | # |
||
33 | # Author: Gerrit Beine <gerrit.beine@gmx.de>, 2009 |
||
34 | # |
||
35 | # /etc/init.d/redmine |
||
36 | # |
||
37 | # and symbolic its link |
||
38 | # |
||
39 | # /usr/sbin/rcredmine |
||
40 | # |
||
41 | # System startup script for the redmine daemon |
||
42 | # |
||
43 | ### BEGIN INIT INFO |
||
44 | # Provides: redmine |
||
45 | # Required-Start: $remote_fs $syslog $time |
||
46 | # Should-Start: $network smtp |
||
47 | # Required-Stop: $remote_fs $syslog |
||
48 | # Should-Stop: $network smtp |
||
49 | # Default-Start: 2 3 5 |
||
50 | # Default-Stop: 0 1 6 |
||
51 | # Short-Description: Redmine Web Server |
||
52 | # Description: Redmine Web Server |
||
53 | ### END INIT INFO |
||
54 | |||
55 | REDMINE_BIN=/srv/redmine/current/script/rails |
||
56 | REDMINE_USER=user |
||
57 | REDMINE_GROUP=users |
||
58 | test -x $REDMINE_BIN || exit 5 |
||
59 | PIDFILE=/var/run/redmine.pid |
||
60 | RCFILE=/var/log/rcredmine.out |
||
61 | ENVIRONMENT=production |
||
62 | |||
63 | # Shell functions sourced from /etc/rc.status: |
||
64 | # rc_check check and set local and overall rc status |
||
65 | # rc_status check and set local and overall rc status |
||
66 | # rc_status -v ditto but be verbose in local rc status |
||
67 | # rc_status -v -r ditto and clear the local rc status |
||
68 | # rc_failed set local and overall rc status to failed |
||
69 | # rc_failed <num> set local and overall rc status to <num><num> |
||
70 | # rc_reset clear local rc status (overall remains) |
||
71 | # rc_exit exit appropriate to overall rc status |
||
72 | . /etc/rc.status |
||
73 | |||
74 | # First reset status of this service |
||
75 | rc_reset |
||
76 | |||
77 | # Return values acc. to LSB for all commands but status: |
||
78 | # 0 - success |
||
79 | # 1 - generic or unspecified error |
||
80 | # 2 - invalid or excess argument(s) |
||
81 | # 3 - unimplemented feature (e.g. "reload") |
||
82 | # 4 - insufficient privilege |
||
83 | # 5 - program is not installed |
||
84 | # 6 - program is not configured |
||
85 | # 7 - program is not running |
||
86 | # |
||
87 | # Note that starting an already running service, stopping |
||
88 | # or restarting a not-running service as well as the restart |
||
89 | # with force-reload (in case signalling is not supported) are |
||
90 | # considered a success. |
||
91 | |||
92 | case "$1" in |
||
93 | start) |
||
94 | echo -n "Starting Redmine daemon" |
||
95 | ## Start daemon with startproc(8). If this fails |
||
96 | ## the echo return value is set appropriate. |
||
97 | |||
98 | # NOTE: startproc return 0, even if service is |
||
99 | # already running to match LSB spec. |
||
100 | startproc -t 2 -u $REDMINE_USER -g $REDMINE_GROUP /usr/bin/ruby $REDMI-NE_BIN server webrick -e $ENVIRONMENT >$RCFILE 2>&1 |
||
101 | ps aux --columns 200 | grep $REDMINE_BIN | grep -v grep | awk '{print $2}'> $PIDFILE |
||
102 | |||
103 | # Remember status and be verbose |
||
104 | rc_status -v |
||
105 | ;; |
||
106 | stop) |
||
107 | echo -n "Shutting down Redmine daemon" |
||
108 | ## Stop daemon with killproc(8) and if this fails |
||
109 | ## set echo the echo return value. |
||
110 | |||
111 | killproc -INT -p $PIDFILE ruby $REDMINE_BIN >/dev/null 2>&1 |
||
112 | # Remember status and be verbose |
||
113 | rc_status -v |
||
114 | ;; |
||
115 | try-restart) |
||
116 | ## Stop the service and if this succeeds (i.e. the |
||
117 | ## service was running before), start it again. |
||
118 | ## Note: try-restart is not (yet) part of LSB (as of 0.7.5) |
||
119 | $0 status >/dev/null && $0 restart |
||
120 | |||
121 | # Remember status and be quiet |
||
122 | rc_status |
||
123 | ;; |
||
124 | restart) |
||
125 | ## Stop the service and regardless of whether it was |
||
126 | ## running or not, start it again. |
||
127 | $0 stop |
||
128 | $0 start |
||
129 | |||
130 | # Remember status and be quiet |
||
131 | rc_status |
||
132 | ;; |
||
133 | force-reload) |
||
134 | ## Signal the daemon to reload its config. Most daemons |
||
135 | ## do this on signal 1 (SIGHUP). |
||
136 | ## If it does not support it, restart. |
||
137 | $0 stop |
||
138 | $0 start |
||
139 | |||
140 | # Remember status and be quiet |
||
141 | rc_status |
||
142 | ;; |
||
143 | reload) |
||
144 | ## Like force-reload, but if daemon does not support |
||
145 | ## signalling, do nothing (!) |
||
146 | |||
147 | ## Otherwise if it does not support reload: |
||
148 | rc_status -v |
||
149 | ;; |
||
150 | status) |
||
151 | echo -n "Checking for Redmine: " |
||
152 | ## Check status with checkproc(8), if process is running |
||
153 | ## checkproc will return with exit status 0. |
||
154 | |||
155 | # Status has a slightly different for the status command: |
||
156 | # 0 - service running |
||
157 | # 1 - service dead, but /var/run/ pid file exists |
||
158 | # 2 - service dead, but /var/lock/ lock file exists |
||
159 | # 3 - service not running |
||
160 | |||
161 | # NOTE: checkproc returns LSB compliant status values. |
||
162 | checkproc -p $PIDFILE ruby $REDMINE_BIN |
||
163 | rc_status -v |
||
164 | ;; |
||
165 | probe) |
||
166 | ## Optional: Probe for the necessity of a reload, |
||
167 | ## give out the argument which is required for a reload. |
||
168 | |||
169 | ;; |
||
170 | *) |
||
171 | echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload|probe}" |
||
172 | exit 1 |
||
173 | ;; |
||
174 | esac |
||
175 | rc_exit |
||
176 | |||
177 | </pre> |