View | Details | Raw Unified | Return to bug 9316
Collapse All | Expand All

(-)a/Makefile.PL (-1 / +14 lines)
Lines 196-201 Directory for Zebra's data files. Link Here
196
196
197
Directory for Zebra's UNIX-domain sockets.
197
Directory for Zebra's UNIX-domain sockets.
198
198
199
=item PLACK_LOCK_DIR
200
201
Directory for Plack's lock files.
202
203
=item PLACK_RUN_DIR
204
205
Directory for Plack's UNIX-domain sockets.
206
199
=item MISC_DIR
207
=item MISC_DIR
200
208
201
Directory for for miscellaenous scripts, among other
209
Directory for for miscellaenous scripts, among other
Lines 298-304 my $target_map = { Link Here
298
  './skel'                      => 'NONE',
306
  './skel'                      => 'NONE',
299
  './skel/var/log/koha'         => { target => 'LOG_DIR', trimdir => -1 },
307
  './skel/var/log/koha'         => { target => 'LOG_DIR', trimdir => -1 },
300
  './skel/var/spool/koha'       => { target => 'BACKUP_DIR', trimdir => -1 },
308
  './skel/var/spool/koha'       => { target => 'BACKUP_DIR', trimdir => -1 },
301
  './skel/var/run/koha/plack' => { target => 'PLACK_RUN_DIR', trimdir => -1 },
309
  './skel/var/run/koha/plack'   => { target => 'PLACK_RUN_DIR', trimdir => -1 },
310
  './skel/var/lock/koha/plack'  => { target => 'PLACK_LOCK_DIR', trimdir => 6 },
302
  './skel/var/run/koha/zebradb' => { target => 'ZEBRA_RUN_DIR', trimdir => -1 },
311
  './skel/var/run/koha/zebradb' => { target => 'ZEBRA_RUN_DIR', trimdir => -1 },
303
  './skel/var/lock/koha/zebradb/authorities' => { target => 'ZEBRA_LOCK_DIR', trimdir => 6 },
312
  './skel/var/lock/koha/zebradb/authorities' => { target => 'ZEBRA_LOCK_DIR', trimdir => 6 },
304
  './skel/var/lib/koha/zebradb/authorities/key'  => { target => 'ZEBRA_DATA_DIR', trimdir => 6 },
313
  './skel/var/lib/koha/zebradb/authorities/key'  => { target => 'ZEBRA_DATA_DIR', trimdir => 6 },
Lines 598-603 my %test_suite_override_dirs = ( Link Here
598
    ZEBRA_LOCK_DIR => ['var', 'lock', 'zebradb'],
607
    ZEBRA_LOCK_DIR => ['var', 'lock', 'zebradb'],
599
    ZEBRA_DATA_DIR => ['var', 'lib', 'zebradb'],
608
    ZEBRA_DATA_DIR => ['var', 'lib', 'zebradb'],
600
    ZEBRA_RUN_DIR  => ['var', 'run', 'zebradb'],
609
    ZEBRA_RUN_DIR  => ['var', 'run', 'zebradb'],
610
    PLACK_LOCK_DIR => ['var', 'lock', 'plack'],
601
    PLACK_RUN_DIR  => ['var', 'run', 'plack'],
611
    PLACK_RUN_DIR  => ['var', 'run', 'plack'],
602
);
612
);
603
613
Lines 1316-1321 sub get_target_directories { Link Here
1316
        $dirmap{'BACKUP_DIR'} =  File::Spec->catdir(@basedir, $package, 'var', 'spool');
1326
        $dirmap{'BACKUP_DIR'} =  File::Spec->catdir(@basedir, $package, 'var', 'spool');
1317
        $dirmap{'ZEBRA_DATA_DIR'} =  File::Spec->catdir(@basedir, $package, 'var', 'lib', 'zebradb');
1327
        $dirmap{'ZEBRA_DATA_DIR'} =  File::Spec->catdir(@basedir, $package, 'var', 'lib', 'zebradb');
1318
        $dirmap{'ZEBRA_RUN_DIR'} =  File::Spec->catdir(@basedir, $package, 'var', 'run', 'zebradb');
1328
        $dirmap{'ZEBRA_RUN_DIR'} =  File::Spec->catdir(@basedir, $package, 'var', 'run', 'zebradb');
1329
        $dirmap{'PLACK_LOCK_DIR'} = File::Spec->catdir(@basedir, $package, 'var', 'lock', 'plack');
1319
        $dirmap{'PLACK_RUN_DIR'} =  File::Spec->catdir(@basedir, $package, 'var', 'run', 'plack');
1330
        $dirmap{'PLACK_RUN_DIR'} =  File::Spec->catdir(@basedir, $package, 'var', 'run', 'plack');
1320
    } elsif ($mode eq 'dev') {
1331
    } elsif ($mode eq 'dev') {
1321
        my $curdir = File::Spec->rel2abs(File::Spec->curdir());
1332
        my $curdir = File::Spec->rel2abs(File::Spec->curdir());
Lines 1347-1352 sub get_target_directories { Link Here
1347
        $dirmap{'BACKUP_DIR'} =  File::Spec->catdir(@basedir, $package, 'var', 'spool');
1358
        $dirmap{'BACKUP_DIR'} =  File::Spec->catdir(@basedir, $package, 'var', 'spool');
1348
        $dirmap{'ZEBRA_DATA_DIR'} =  File::Spec->catdir(@basedir, $package, 'var', 'lib', 'zebradb');
1359
        $dirmap{'ZEBRA_DATA_DIR'} =  File::Spec->catdir(@basedir, $package, 'var', 'lib', 'zebradb');
1349
        $dirmap{'ZEBRA_RUN_DIR'} =  File::Spec->catdir(@basedir, $package, 'var', 'run', 'zebradb');
1360
        $dirmap{'ZEBRA_RUN_DIR'} =  File::Spec->catdir(@basedir, $package, 'var', 'run', 'zebradb');
1361
        $dirmap{'PLACK_LOCK_DIR'} = File::Spec->catdir(@basedir, $package, 'var', 'lock', 'plack');
1350
        $dirmap{'PLACK_RUN_DIR'} =  File::Spec->catdir(@basedir, $package, 'var', 'run', 'plack');
1362
        $dirmap{'PLACK_RUN_DIR'} =  File::Spec->catdir(@basedir, $package, 'var', 'run', 'plack');
1351
    } else {
1363
    } else {
1352
        # mode is standard, i.e., 'fhs'
1364
        # mode is standard, i.e., 'fhs'
Lines 1370-1375 sub get_target_directories { Link Here
1370
        $dirmap{'BACKUP_DIR'} =  File::Spec->catdir(File::Spec->rootdir(), 'var', 'spool', $package);
1382
        $dirmap{'BACKUP_DIR'} =  File::Spec->catdir(File::Spec->rootdir(), 'var', 'spool', $package);
1371
        $dirmap{'ZEBRA_DATA_DIR'} =  File::Spec->catdir(File::Spec->rootdir(), 'var', 'lib', $package, 'zebradb');
1383
        $dirmap{'ZEBRA_DATA_DIR'} =  File::Spec->catdir(File::Spec->rootdir(), 'var', 'lib', $package, 'zebradb');
1372
        $dirmap{'ZEBRA_RUN_DIR'} =  File::Spec->catdir(File::Spec->rootdir(), 'var', 'run', $package, 'zebradb');
1384
        $dirmap{'ZEBRA_RUN_DIR'} =  File::Spec->catdir(File::Spec->rootdir(), 'var', 'run', $package, 'zebradb');
1385
        $dirmap{'PLACK_LOCK_DIR'} = File::Spec->catdir(File::Spec->rootdir(), 'var', 'lock', $package, 'plack');
1373
        $dirmap{'PLACK_RUN_DIR'} =  File::Spec->catdir(File::Spec->rootdir(), 'var', 'run', $package, 'plack');
1386
        $dirmap{'PLACK_RUN_DIR'} =  File::Spec->catdir(File::Spec->rootdir(), 'var', 'run', $package, 'plack');
1374
    }
1387
    }
1375
1388
(-)a/misc/bin/koha-plack.sh (-26 / +44 lines)
Lines 1-7 Link Here
1
#!/bin/sh -e
1
#!/bin/bash
2
    
2
3
# This file is part of Koha.
3
# This file is part of Koha.
4
#   
4
#
5
# Koha is free software; you can redistribute it and/or modify it under the
5
# Koha is free software; you can redistribute it and/or modify it under the
6
# terms of the GNU General Public License as published by the Free Software
6
# terms of the GNU General Public License as published by the Free Software
7
# Foundation; either version 3 of the License, or (at your option) any later
7
# Foundation; either version 3 of the License, or (at your option) any later
Lines 15-24 Link Here
15
# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
15
# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
16
# Suite 330, Boston, MA  02111-1307 USA
16
# Suite 330, Boston, MA  02111-1307 USA
17
17
18
### BEGIN INIT INFO# Provides:          koha-plack
18
### BEGIN INIT INFO
19
# Provides:          koha-plack-daemon
19
# Required-Start:    $syslog $remote_fs
20
# Required-Start:    $syslog $remote_fs
20
# Required-Stop:     $syslog $remote_fs# Default-Start:     2 3 4 5
21
# Required-Stop:     $syslog $remote_fs
21
# Default-Stop:      0 1 6# Short-Description: Plack server for Koha
22
# Default-Start:     2 3 4 5
23
# Default-Stop:      0 1 6
24
# Short-Description: Plack server daemon for Koha
22
### END INIT INFO
25
### END INIT INFO
23
26
24
export KOHA_CONF=__KOHA_CONF_DIR__/koha-conf.xml
27
export KOHA_CONF=__KOHA_CONF_DIR__/koha-conf.xml
Lines 28-73 export LOGDIR=__LOG_DIR__ Link Here
28
USER=__KOHA_USER__
31
USER=__KOHA_USER__
29
GROUP=__KOHA_GROUP__
32
GROUP=__KOHA_GROUP__
30
RUNDIR=__PLACK_RUN_DIR__
33
RUNDIR=__PLACK_RUN_DIR__
31
PIDFILE=$RUNDIR/plack.pid
34
LOCKDIR=__PLACK_LOCK_DIR__
35
PIDFILE=$LOCKDIR/plack.pid
32
36
33
# Use one of these lines to choose between TCP port and UNIX socket listeners
37
# Use one of these lines to choose between TCP port and UNIX socket listeners
34
SOCKET=$RUNDIR/plack.sock
38
SOCKET=$RUNDIR/plack.sock
35
#PORT=5000
39
#PORT=5000
36
40
41
OTHERUSER=''
42
if [[ $EUID -eq 0 ]]; then
43
    OTHERUSER="--user $USER --group $GROUP"
44
fi
45
37
case "$1" in
46
case "$1" in
38
    start)
47
    start)
39
	echo "Starting Koha Plack Daemon"
48
	echo "Starting Plack Server"
40
49
41
      # create run and lock directories if needed;
50
      # create run and lock directories if needed;
42
      # /var/run and /var/lock are completely cleared at boot
51
      # /var/run and /var/lock are completely cleared at boot
43
      # on some platforms
52
      # on some platforms
44
      if [ ! -d $RUNDIR ]; then
53
      if [[ ! -d $RUNDIR ]]; then
45
        umask 022
54
        umask 022
46
        mkdir -p $RUNDIR
55
        mkdir -p $RUNDIR
47
        if [ $EUID -eq 0 ]; then
56
        if [[ $EUID -eq 0 ]]; then
48
            chown $USER:$GROUP $RUNDIR
57
            chown $USER:$GROUP $RUNDIR
49
        fi
58
        fi
50
      fi
59
      fi
51
60
      if [[ ! -d $LOCKDIR ]]; then
52
        opt="$opt --access-log $LOGDIR/koha-access.log --error-log $LOGDIR/koha-error.log"
61
        umask 022
53
        opt="$opt -M FindBin --max-requests 50 --workers 2 -E deployment"
62
        mkdir -p $LOCKDIR
54
        if [ $SOCKET ]; then
63
        if [[ $EUID -eq 0 ]]; then
55
            opt="$opt --listen $SOCKET -D --pid $PIDFILE"
64
            chown -R $USER:$GROUP $LOCKDIR
56
        elif [ $PORT ]; then
57
            opt="$opt --port $PORT -D --pid $PIDFILE"
58
        fi
65
        fi
59
        starman $opt __SCRIPT_DIR__/koha.psgi
66
      fi
60
67
61
        if [ $SOCKET ]; then
68
      opt="$opt $OTHERUSER"
62
            chown $USER:$GROUP $SOCKET
69
      opt="$opt --access-log $LOGDIR/koha-access.log --error-log $LOGDIR/koha-error.log"
63
	    chmod 660 $SOCKET
70
      opt="$opt -M FindBin --max-requests 50 --workers 2 -E deployment"
64
        fi
71
      if [ $SOCKET ]; then
65
        ;;
72
          opt="$opt --listen $SOCKET -D --pid $PIDFILE"
73
      elif [ $PORT ]; then
74
          opt="$opt --port $PORT -D --pid $PIDFILE"
75
      fi
76
      starman $opt __SCRIPT_DIR__/koha.psgi
77
78
      if [ $SOCKET ]; then
79
          chown $USER:$GROUP $SOCKET
80
          chmod 662 $SOCKET
81
      fi
82
      ;;
66
    stop)
83
    stop)
67
        start-stop-daemon --stop --pidfile $PIDFILE
84
      echo "Stopping Plack Server"
68
        ;;
85
      start-stop-daemon --stop --pidfile $PIDFILE
86
      ;;
69
    *)
87
    *)
70
        echo "Usage: koha-plack {start|stop}"
88
        echo "Usage: koha-plack {start|stop}"
71
        exit 1
89
        exit 1
72
        ;;
90
        ;;
73
esac
91
esac
(-)a/rewrite-config.PL (+1 lines)
Lines 124-129 $prefix = $ENV{'INSTALL_BASE'} || "/usr"; Link Here
124
  '__ZEBRA_LOCK_DIR__' => "$prefix/var/lock/zebradb",
124
  '__ZEBRA_LOCK_DIR__' => "$prefix/var/lock/zebradb",
125
  '__ZEBRA_DATA_DIR__' => "$prefix/var/lib/zebradb",
125
  '__ZEBRA_DATA_DIR__' => "$prefix/var/lib/zebradb",
126
  '__ZEBRA_RUN_DIR__' => "$prefix/var/run/zebradb",
126
  '__ZEBRA_RUN_DIR__' => "$prefix/var/run/zebradb",
127
  '__PLACK_LOCK_DIR__' => "$prefix/var/lock/plack",
127
  '__PLACK_RUN_DIR__' => "$prefix/var/run/plack",
128
  '__PLACK_RUN_DIR__' => "$prefix/var/run/plack",
128
  '__ZEBRA_MARC_FORMAT__' => 'marc21',
129
  '__ZEBRA_MARC_FORMAT__' => 'marc21',
129
  '__ZEBRA_LANGUAGE__' => 'en',
130
  '__ZEBRA_LANGUAGE__' => 'en',
(-)a/skel/var/lock/koha/plack/README (+1 lines)
Line 0 Link Here
1
Plack lock dir
(-)a/skel/var/run/koha/plack/README (-1 / +1 lines)
Line 0 Link Here
0
- 
1
Plack Unix-domain sockets

Return to bug 9316