Bugzilla – Attachment 8731 Details for
Bug 7844
plack scripts for developers
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 7844 - plack intranet tooling for developers
Bug-7844---plack-intranet-tooling-for-developers.patch (text/plain), 4.74 KB, created by
Dobrica Pavlinusic
on 2012-03-31 00:49:16 UTC
(
hide
)
Description:
Bug 7844 - plack intranet tooling for developers
Filename:
MIME Type:
Creator:
Dobrica Pavlinusic
Created:
2012-03-31 00:49:16 UTC
Size:
4.74 KB
patch
obsolete
>From 5dd44d75cb3a6934405dba8edfa042177fca1e50 Mon Sep 17 00:00:00 2001 >From: Dobrica Pavlinusic <dpavlin@rot13.org> >Date: Thu, 29 Mar 2012 12:27:05 +0200 >Subject: [PATCH] Bug 7844 - plack intranet tooling for developers > >koha.psgi example and script to run any Koha site intranet or opac under plack > >This means that it will use sudo to switch to correct site-koha user for >configuration and plack process > >It also defines new enviroment variables: > >PLACK_DEBUG=1 - turn Plack debug panels on >PLACK_MINIFY=1 - minify JavaScript and CSS which saves us ~10k on each page load > >Test scenario: >1. install plack and dependencies, using ./cpanm-install.pl > >2. start ./intranet-plack.sh sitename > >3. open intranet page http://localhost:5001/cgi-bin/koha/mainpage.pl > and verify that it works > >4. start ./opac-plack.sh sitename > >5. open OPAC http://localhost:5000/cgi-bin/koha/opac-main.pl > and very that it works > >6. start PLACK_DEBUG=1 ./intranet-plack.sh sitename > and verify that debug console is available >--- > misc/plack/cpanm-install.sh | 8 +++++++ > misc/plack/intranet-plack.sh | 17 +++++++++++++++ > misc/plack/koha.psgi | 45 ++++++++++++++++++++++++++++++++++++++++++ > misc/plack/opac-plack.sh | 17 +++++++++++++++ > 4 files changed, 87 insertions(+), 0 deletions(-) > create mode 100755 misc/plack/cpanm-install.sh > create mode 100755 misc/plack/intranet-plack.sh > create mode 100644 misc/plack/koha.psgi > create mode 100755 misc/plack/opac-plack.sh > >diff --git a/misc/plack/cpanm-install.sh b/misc/plack/cpanm-install.sh >new file mode 100755 >index 0000000..589cb73 >--- /dev/null >+++ b/misc/plack/cpanm-install.sh >@@ -0,0 +1,8 @@ >+#!/bin/sh -xe >+ >+sudo cpan App::cpanminus >+cpanm --sudo Task::Plack \ >+ Plack::Middleware::Static::Minifier \ >+ Plack::Middleware::Debug::Profiler::NYTProf \ >+ Plack::Middleware::Debug::DBIProfile >+ >diff --git a/misc/plack/intranet-plack.sh b/misc/plack/intranet-plack.sh >new file mode 100755 >index 0000000..2e87659 >--- /dev/null >+++ b/misc/plack/intranet-plack.sh >@@ -0,0 +1,17 @@ >+#!/bin/sh -xe >+ >+site=ffzg >+test ! -z "$1" && site=$1 >+dir=`dirname $0` >+ >+export KOHA_CONF=/etc/koha/sites/$site/koha-conf.xml >+export INTRANETDIR="$( sudo -u $site-koha xmlstarlet sel -t -v 'yazgfs/config/intranetdir' $KOHA_CONF )" >+ >+if [ ! -e "$INTRANETDIR/C4" ] ; then >+ echo "intranetdir in $KOHA_CONF doesn't point to Koha git checkout" >+ exit 1 >+fi >+ >+# CGI scripts are automatically reloaded >+opt="--reload -R $INTRANETDIR/C4" >+sudo -E -u $site-koha plackup -I $INTRANETDIR -I $INTRANETDIR/installer $opt --port 5001 $dir/koha.psgi >diff --git a/misc/plack/koha.psgi b/misc/plack/koha.psgi >new file mode 100644 >index 0000000..2989eab >--- /dev/null >+++ b/misc/plack/koha.psgi >@@ -0,0 +1,45 @@ >+#!/usr/bin/perl >+use Plack::Builder; >+use Plack::App::CGIBin; >+use Plack::Middleware::Debug; >+use Plack::App::Directory; >+ >+use C4::Context; >+use C4::Languages; >+use C4::Members; >+use C4::Dates; >+use C4::Boolean; >+use C4::Letters; >+use C4::Koha; >+use C4::XSLT; >+use C4::Branch; >+use C4::Category; >+ >+my $app=Plack::App::CGIBin->new(root => $ENV{INTRANETDIR} || $ENV{OPACDIR}); >+ >+builder { >+ >+ enable_if { $ENV{PLACK_DEBUG} } 'Debug', panels => [ >+ qw(Environment Response Timer Memory), >+# [ 'Profiler::NYTProf', exclude => [qw(.*\.css .*\.png .*\.ico .*\.js .*\.gif)] ], >+# [ 'DBITrace', level => 1 ], # a LOT of fine-graded SQL trace >+ [ 'DBIProfile', profile => 2 ], >+ ]; >+ >+ enable_if { $ENV{PLACK_DEBUG} } 'StackTrace'; >+ >+ enable_if { $ENV{INTRANETDIR} } "Plack::Middleware::Static", >+ path => qr{^/intranet-tmpl/}, root => '/srv/koha/koha-tmpl/'; >+ >+ enable_if { $ENV{OPACDIR} } "Plack::Middleware::Static", >+ path => qr{^/opac-tmpl/}, root => '/srv/koha/koha-tmpl/'; >+ >+ enable_if { $ENV{PLACK_MINIFIER} } "Plack::Middleware::Static::Minifier", >+ path => qr{^/(intranet|opac)-tmpl/}, >+ root => './koha-tmpl/'; >+ >+ >+ mount "/cgi-bin/koha" => $app; >+ >+}; >+ >diff --git a/misc/plack/opac-plack.sh b/misc/plack/opac-plack.sh >new file mode 100755 >index 0000000..6b7f586 >--- /dev/null >+++ b/misc/plack/opac-plack.sh >@@ -0,0 +1,17 @@ >+#!/bin/sh -xe >+ >+# --max-requests decreased from 1000 to 50 to keep memory usage sane >+# --workers 8 which is number of cores on machine >+ >+site=ffzg >+test ! -z "$1" && site=$1 && shift >+dir=`dirname $0` >+ >+export KOHA_CONF=/etc/koha/sites/$site/koha-conf.xml >+export OPACDIR="$( sudo -u $site-koha xmlstarlet sel -t -v 'yazgfs/config/opacdir' $KOHA_CONF | sed 's,/cgi-bin/opac,,' )" >+export LOGDIR="$( sudo -u $site-koha xmlstarlet sel -t -v 'yazgfs/config/logdir' $KOHA_CONF )" >+ >+# uncomment to enable logging >+#opt="$opt --access-log $LOGDIR/opac-access.log --error-log $LOGDIR/opac-error.log" >+#opt="$opt --server Starman -M FindBin --max-requests 50 --workers 4 -E deployment" >+sudo -E -u $site-koha plackup -I $OPACDIR/.. $opt $* $dir/koha.psgi >-- >1.7.2.5
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 7844
:
8684
|
8693
|
8731
|
8892
|
8893
|
8894
|
9113
|
9879
|
10082
|
10220
|
26148
|
26201
|
26206
|
26227
|
26275