Revision 30fd5393 install.txt

b/install.txt
26 26
Note: If you wish to deploy an outgoing mail server, now it is time to do
27 27
  it. Otherwise you could set FoD to send out mails via a third party
28 28
  account
29
  
29

  
30 30

  
31 31
Create a database
32 32
-----------------
33

  
33 34
If you are using mysql, you should create a database:
34 35

  
35
	mysql -u root -p -e 'create database fod'
36
   mysql -u root -p -e 'create database fod'
36 37

  
37 38

  
38 39
Required application packages
......
191 192
our setup celery runs via django. That is why the python-django-celery
192 193
package was installed.
193 194

  
194
Create the celeryd daemon at /etc/init.d/celeryd::
195
	#!/bin/sh -e
196
	# ============================================
197
	#  celeryd - Starts the Celery worker daemon.
198
	# ============================================
199
	#
200
	# :Usage: /etc/init.d/celeryd {start|stop|force-reload|restart|try-restart|status}
201
	# :Configuration file: /etc/default/celeryd
202
	#
203
	# See http://docs.celeryq.org/en/latest/cookbook/daemonizing.html#init-script-celeryd
204

  
205

  
206
	### BEGIN INIT INFO
207
	# Provides:          celeryd
208
	# Required-Start:    $network $local_fs $remote_fs
209
	# Required-Stop:     $network $local_fs $remote_fs
210
	# Default-Start:     2 3 4 5
211
	# Default-Stop:      0 1 6
212
	# Short-Description: celery task worker daemon
213
	### END INIT INFO
214

  
215
	#set -e
216

  
217
	DEFAULT_PID_FILE="/var/run/celeryd@%n.pid"
218
	DEFAULT_LOG_FILE="/var/log/celeryd@%n.log"
219
	DEFAULT_LOG_LEVEL="INFO"
220
	DEFAULT_NODES="celery"
221
	DEFAULT_CELERYD="-m celery.bin.celeryd_detach"
222

  
223
	# /etc/init.d/celeryd: start and stop the celery task worker daemon.
224

  
225
	CELERY_DEFAULTS=${CELERY_DEFAULTS:-"/etc/default/celeryd"}
226

  
227
	test -f "$CELERY_DEFAULTS" && . "$CELERY_DEFAULTS"
228
	if [ -f "/etc/default/celeryd" ]; then
229
	    . /etc/default/celeryd
230
	fi
231

  
232
	CELERYD_PID_FILE=${CELERYD_PID_FILE:-${CELERYD_PIDFILE:-$DEFAULT_PID_FILE}}
233
	CELERYD_LOG_FILE=${CELERYD_LOG_FILE:-${CELERYD_LOGFILE:-$DEFAULT_LOG_FILE}}
234
	CELERYD_LOG_LEVEL=${CELERYD_LOG_LEVEL:-${CELERYD_LOGLEVEL:-$DEFAULT_LOG_LEVEL}}
235
	CELERYD_MULTI=${CELERYD_MULTI:-"celeryd-multi"}
236
	CELERYD=${CELERYD:-$DEFAULT_CELERYD}
237
	CELERYCTL=${CELERYCTL:="celeryctl"}
238
	CELERYD_NODES=${CELERYD_NODES:-$DEFAULT_NODES}
239

  
240
	export CELERY_LOADER
241

  
242
	if [ -n "$2" ]; then
243
	    CELERYD_OPTS="$CELERYD_OPTS $2"
244
	fi
245

  
246
	CELERYD_LOG_DIR=`dirname $CELERYD_LOG_FILE`
247
	CELERYD_PID_DIR=`dirname $CELERYD_PID_FILE`
248
	if [ ! -d "$CELERYD_LOG_DIR" ]; then
249
	    mkdir -p $CELERYD_LOG_DIR
250
	fi
251
	if [ ! -d "$CELERYD_PID_DIR" ]; then
252
	    mkdir -p $CELERYD_PID_DIR
253
	fi
254

  
255
	# Extra start-stop-daemon options, like user/group.
256
	if [ -n "$CELERYD_USER" ]; then
257
	    DAEMON_OPTS="$DAEMON_OPTS --uid=$CELERYD_USER"
258
	    chown "$CELERYD_USER" $CELERYD_LOG_DIR $CELERYD_PID_DIR
259
	fi
260
	if [ -n "$CELERYD_GROUP" ]; then
261
	    DAEMON_OPTS="$DAEMON_OPTS --gid=$CELERYD_GROUP"
262
	    chgrp "$CELERYD_GROUP" $CELERYD_LOG_DIR $CELERYD_PID_DIR
263
	fi
264

  
265
	if [ -n "$CELERYD_CHDIR" ]; then
266
	    DAEMON_OPTS="$DAEMON_OPTS --workdir=\"$CELERYD_CHDIR\""
267
	fi
268

  
269

  
270
	check_dev_null() {
271
	    if [ ! -c /dev/null ]; then
272
		echo "/dev/null is not a character device!"
273
		exit 1
274
	    fi
275
	}
276

  
277

  
278
	export PATH="${PATH:+$PATH:}/usr/sbin:/sbin"
279

  
280

  
281
	stop_workers () {
282
	    $CELERYD_MULTI stop $CELERYD_NODES --pidfile="$CELERYD_PID_FILE"
283
	}
284

  
285

  
286
	start_workers () {
287
	    $CELERYD_MULTI start $CELERYD_NODES $DAEMON_OPTS        \
288
		                 --pidfile="$CELERYD_PID_FILE"      \
289
		                 --logfile="$CELERYD_LOG_FILE"      \
290
		                 --loglevel="$CELERYD_LOG_LEVEL"    \
291
		                 --cmd="$CELERYD"                   \
292
		                 $CELERYD_OPTS
293
	}
294

  
295

  
296
	restart_workers () {
297
	    $CELERYD_MULTI restart $CELERYD_NODES $DAEMON_OPTS      \
298
		                   --pidfile="$CELERYD_PID_FILE"    \
299
		                   --logfile="$CELERYD_LOG_FILE"    \
300
		                   --loglevel="$CELERYD_LOG_LEVEL"  \
301
		                   --cmd="$CELERYD"                 \
302
		                   $CELERYD_OPTS
303
	}
195
Create the celeryd daemon at /etc/init.d/celeryd:
196

  
197
   vim /etc/init.d/celeryd
198

  
199
The configuration should be:
200

  
201
   #!/bin/sh -e
202
   # ============================================
203
   #  celeryd - Starts the Celery worker daemon.
204
   # ============================================
205
   #
206
   # :Usage: /etc/init.d/celeryd {start|stop|force-reload|restart|try-restart|status}
207
   # :Configuration file: /etc/default/celeryd
208
   #
209
   # See http://docs.celeryq.org/en/latest/cookbook/daemonizing.html#init-script-celeryd
210

  
211

  
212
   ### BEGIN INIT INFO
213
   # Provides:          celeryd
214
   # Required-Start:    $network $local_fs $remote_fs
215
   # Required-Stop:     $network $local_fs $remote_fs
216
   # Default-Start:     2 3 4 5
217
   # Default-Stop:      0 1 6
218
   # Short-Description: celery task worker daemon
219
   ### END INIT INFO
220

  
221
   #set -e
222

  
223
   DEFAULT_PID_FILE="/var/run/celeryd@%n.pid"
224
   DEFAULT_LOG_FILE="/var/log/celeryd@%n.log"
225
   DEFAULT_LOG_LEVEL="INFO"
226
   DEFAULT_NODES="celery"
227
   DEFAULT_CELERYD="-m celery.bin.celeryd_detach"
228

  
229
   # /etc/init.d/celeryd: start and stop the celery task worker daemon.
230

  
231
   CELERY_DEFAULTS=${CELERY_DEFAULTS:-"/etc/default/celeryd"}
232

  
233
   test -f "$CELERY_DEFAULTS" && . "$CELERY_DEFAULTS"
234
   if [ -f "/etc/default/celeryd" ]; then
235
       . /etc/default/celeryd
236
   fi
237

  
238
   CELERYD_PID_FILE=${CELERYD_PID_FILE:-${CELERYD_PIDFILE:-$DEFAULT_PID_FILE}}
239
   CELERYD_LOG_FILE=${CELERYD_LOG_FILE:-${CELERYD_LOGFILE:-$DEFAULT_LOG_FILE}}
240
   CELERYD_LOG_LEVEL=${CELERYD_LOG_LEVEL:-${CELERYD_LOGLEVEL:-$DEFAULT_LOG_LEVEL}}
241
   CELERYD_MULTI=${CELERYD_MULTI:-"celeryd-multi"}
242
   CELERYD=${CELERYD:-$DEFAULT_CELERYD}
243
   CELERYCTL=${CELERYCTL:="celeryctl"}
244
   CELERYD_NODES=${CELERYD_NODES:-$DEFAULT_NODES}
245

  
246
   export CELERY_LOADER
247

  
248
   if [ -n "$2" ]; then
249
       CELERYD_OPTS="$CELERYD_OPTS $2"
250
   fi
251

  
252
   CELERYD_LOG_DIR=`dirname $CELERYD_LOG_FILE`
253
   CELERYD_PID_DIR=`dirname $CELERYD_PID_FILE`
254
   if [ ! -d "$CELERYD_LOG_DIR" ]; then
255
       mkdir -p $CELERYD_LOG_DIR
256
   fi
257
   if [ ! -d "$CELERYD_PID_DIR" ]; then
258
       mkdir -p $CELERYD_PID_DIR
259
   fi
260

  
261
   # Extra start-stop-daemon options, like user/group.
262
   if [ -n "$CELERYD_USER" ]; then
263
       DAEMON_OPTS="$DAEMON_OPTS --uid=$CELERYD_USER"
264
       chown "$CELERYD_USER" $CELERYD_LOG_DIR $CELERYD_PID_DIR
265
   fi
266
   if [ -n "$CELERYD_GROUP" ]; then
267
       DAEMON_OPTS="$DAEMON_OPTS --gid=$CELERYD_GROUP"
268
       chgrp "$CELERYD_GROUP" $CELERYD_LOG_DIR $CELERYD_PID_DIR
269
   fi
270

  
271
   if [ -n "$CELERYD_CHDIR" ]; then
272
       DAEMON_OPTS="$DAEMON_OPTS --workdir=\"$CELERYD_CHDIR\""
273
   fi
274

  
275

  
276
   check_dev_null() {
277
       if [ ! -c /dev/null ]; then
278
           echo "/dev/null is not a character device!"
279
           exit 1
280
       fi
281
   }
304 282

  
305 283

  
284
   export PATH="${PATH:+$PATH:}/usr/sbin:/sbin"
306 285

  
307
	case "$1" in
308
	    start)
309
		check_dev_null
310
		start_workers
311
	    ;;
312

  
313
	    stop)
314
		check_dev_null
315
		stop_workers
316
	    ;;
317 286

  
318
	    reload|force-reload)
319
		echo "Use restart"
320
	    ;;
287
   stop_workers () {
288
       $CELERYD_MULTI stop $CELERYD_NODES --pidfile="$CELERYD_PID_FILE"
289
   }
290

  
321 291

  
322
	    status)
323
		$CELERYCTL status $CELERYCTL_OPTS
324
	    ;;
292
   start_workers () {
293
       $CELERYD_MULTI start $CELERYD_NODES $DAEMON_OPTS        \
294
                            --pidfile="$CELERYD_PID_FILE"      \
295
                            --logfile="$CELERYD_LOG_FILE"      \
296
                            --loglevel="$CELERYD_LOG_LEVEL"    \
297
                            --cmd="$CELERYD"                   \
298
                            $CELERYD_OPTS
299
   }
300

  
301

  
302
   restart_workers () {
303
       $CELERYD_MULTI restart $CELERYD_NODES $DAEMON_OPTS      \
304
                              --pidfile="$CELERYD_PID_FILE"    \
305
                              --logfile="$CELERYD_LOG_FILE"    \
306
                              --loglevel="$CELERYD_LOG_LEVEL"  \
307
                              --cmd="$CELERYD"                 \
308
                              $CELERYD_OPTS
309
   }
325 310

  
326
	    restart)
327
		check_dev_null
328
		restart_workers
329
	    ;;
330 311

  
331
	    try-restart)
332
		check_dev_null
333
		restart_workers
334
	    ;;
335 312

  
336
	    *)
337
		echo "Usage: /etc/init.d/celeryd {start|stop|restart|try-restart|kill}"
338
		exit 1
339
	    ;;
340
	esac
313
   case "$1" in
314
       start)
315
           check_dev_null
316
           start_workers
317
       ;;
341 318

  
342
	exit 0
319
       stop)
320
           check_dev_null
321
           stop_workers
322
       ;;
343 323

  
344
and make it executable::
324
       reload|force-reload)
325
           echo "Use restart"
326
       ;;
345 327

  
346
	chmod +x /etc/init.d/celeryd
328
       status)
329
           $CELERYCTL status $CELERYCTL_OPTS
330
       ;;
331

  
332
       restart)
333
           check_dev_null
334
           restart_workers
335
       ;;
336

  
337
       try-restart)
338
           check_dev_null
339
           restart_workers
340
       ;;
341

  
342
       *)
343
           echo "Usage: /etc/init.d/celeryd {start|stop|restart|try-restart|kill}"
344
           exit 1
345
       ;;
346
   esac
347

  
348
   exit 0
349

  
350
and make it executable:
351

  
352
   chmod +x /etc/init.d/celeryd
347 353

  
348 354
celeryd requires a /etc/default/celeryd file to be in place. Thus we
349 355
are going to create this file (/etc/default/celeryd):
......
522 528

  
523 529
   </VirtualHost>
524 530

  
531
Now, enable your site. You might want to disable the default site if
532
fod is the only site you host on your server:
533

  
534
   a2dissite default
535
   a2ensite fod
536

  
525 537
You are not far away from deploying FoD. When asked for a super user,
526 538
create one:
527 539

  
......
544 556
Avalable to Chosen. From the admin front, go to User, and edit your
545 557
user. From the bottom of the page, select the TEST peer and save. Last
546 558
but not least, modify as required the existing (example.com) Site
547
instance. You are done. As you are logged-n via the admin, there is no
548
need for Shibboleth. Go to https://<your ip>/fod/ and create a new
549
rule. Your rule should be applied on the flowspec capable device after
550
aprox. 10 seconds.
559
instance (admin home->Sites). You are done. As you are logged-in via
560
the admin, there is no need for Shibboleth. Go to https://<your
561
ip>/fod/ and create a new rule. Your rule should be applied on the
562
flowspec capable device after aprox. 10 seconds.
551 563

  
552 564

  
553 565
Branding

Also available in: Unified diff