Bugzilla – Attachment 14369 Details for
Bug 9316
Add Nginx install options with plack
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 9316: Add ability to install/configure nginx
Bug-9316-Add-ability-to-installconfigure-nginx.patch (text/plain), 32.19 KB, created by
Elliott Davis
on 2013-01-02 20:45:10 UTC
(
hide
)
Description:
Bug 9316: Add ability to install/configure nginx
Filename:
MIME Type:
Creator:
Elliott Davis
Created:
2013-01-02 20:45:10 UTC
Size:
32.19 KB
patch
obsolete
>From 2c3cc2cfbedcb10c0c83ccfc428424d3ba5e0da5 Mon Sep 17 00:00:00 2001 >From: Elliott Davis <elliott@bywatersolions.com> >Date: Mon, 24 Dec 2012 18:46:01 -0500 >Subject: [PATCH] Bug 9316: Add ability to install/configure nginx > >To Test [Amended]: >1) Ensure that you have nginx installed >2) Esure that you have the following packages installed libplack-perl libcgi-emulate-psgi-perl libcgi-compile-perl starman >3) Apply patch >4) Run through the make file, you will notice 5 new configuration options. >5) Make sure you choose NGiNX as your webserver >6) You may choose whatever ports you wish and also whatever DNS entries you wish >7) After you're done configuring run make >8) Run make install (you may need sudo if you've used sudo before) >9) Start plack (you may wish to copy the script to init.d) with the script in koha-dev/bin/koha-plack.sh (requires sudo) >10) TURN OFF APACHE, and start NGiNX >11) go to your web browser and see if everything fires up as normal. >--- > C4/Installer/PerlDependencies.pm | 20 ++ > Makefile.PL | 86 +++++++- > debian/control | 442 +++++++++++++++++++++----------------- > etc/koha-httpd.conf | 12 +- > etc/koha-nginx.conf | 52 +++++ > misc/bin/koha-plack.sh | 72 ++++++ > misc/bin/koha.psgi | 43 ++++ > rewrite-config.PL | 6 + > 8 files changed, 529 insertions(+), 204 deletions(-) > create mode 100644 etc/koha-nginx.conf > create mode 100644 misc/bin/koha-plack.sh > create mode 100644 misc/bin/koha.psgi > >diff --git a/C4/Installer/PerlDependencies.pm b/C4/Installer/PerlDependencies.pm >index 16144f9..fee8a35 100644 >--- a/C4/Installer/PerlDependencies.pm >+++ b/C4/Installer/PerlDependencies.pm >@@ -284,6 +284,26 @@ our $PERL_DEPS = { > 'required' => '1', > 'min_ver' => '3.15' > }, >+ 'Starman' => { >+ 'usage' => 'preforking PSGI/PLACK web server', >+ 'required' => '0', >+ 'min_ver' => '0.300' >+ }, >+ 'CGI::Emulate::PSGI' => { >+ 'usage' => 'PLACK', >+ 'required' => '0', >+ 'min_ver' => '0.10' >+ }, >+ 'CGI::Compile' => { >+ 'usage' => 'PLACK CGI Compilation', >+ 'required' => '0', >+ 'min_ver' => '0.15' >+ }, >+ 'Plack::Middleware::Debug' => { >+ 'usage' => 'PLACK Debugging', >+ 'required' => '0', >+ 'min_ver' => '0.1' >+ } > 'Class::Factory::Util' => { > 'usage' => 'Core', > 'required' => '1', >diff --git a/Makefile.PL b/Makefile.PL >index 6c6e186..0191cc0 100644 >--- a/Makefile.PL >+++ b/Makefile.PL >@@ -298,6 +298,7 @@ my $target_map = { > './skel' => 'NONE', > './skel/var/log/koha' => { target => 'LOG_DIR', trimdir => -1 }, > './skel/var/spool/koha' => { target => 'BACKUP_DIR', trimdir => -1 }, >+ './skel/var/run/koha/plack' => { target => 'PLACK_RUN_DIR', trimdir => -1 }, > './skel/var/run/koha/zebradb' => { target => 'ZEBRA_RUN_DIR', trimdir => -1 }, > './skel/var/lock/koha/zebradb/authorities' => { target => 'ZEBRA_LOCK_DIR', trimdir => 6 }, > './skel/var/lib/koha/zebradb/authorities/key' => { target => 'ZEBRA_DATA_DIR', trimdir => 6 }, >@@ -345,6 +346,26 @@ Koha from a git clone with no fuss). > Directory under which most components will go. Default > value will vary depending on INSTALL_MODE. > >+=item WEBSERVER >+ >+Type of WebServer ( Apache2 or NGINX). >+ >+=item INTRANET_DNS >+ >+Set the DNS entry for staff client >+ >+=item OPAC_DNS >+ >+Set the DNS entry for OPAC >+ >+=item INTRANET_PORT >+ >+Set the port for the staff client >+ >+=item OPAC_PORT >+ >+Set the port for the OPAC >+ > =item DB_TYPE > > Type of DBMS (e.g., mysql or Pg). >@@ -405,6 +426,11 @@ System group that will own Koha's files. > > # default configuration options > my %config_defaults = ( >+ 'WEBSERVER' => 'apache2', >+ 'INTRANET_DNS' => 'localhost', >+ 'OPAC_DNS' => 'localhost', >+ 'INTRANET_PORT' => '8080', >+ 'OPAC_PORT' => '80', > 'DB_TYPE' => 'mysql', > 'DB_HOST' => 'localhost', > 'DB_NAME' => 'koha', >@@ -464,6 +490,7 @@ else { > my %valid_config_values = ( > 'INSTALL_MODE' => { 'standard' => 1, 'single' => 1, 'dev' => 1 }, > 'DB_TYPE' => { 'mysql' => 1, 'Pg' => 1 }, >+ 'WEBSERVER' => { 'apache2' => 1, 'nginx' => 1 }, > 'INSTALL_ZEBRA' => { 'yes' => 1, 'no' => 1 }, > 'INSTALL_SRU' => { 'yes' => 1, 'no' => 1 }, > 'AUTH_INDEX_MODE' => { 'grs1' => 1, 'dom' => 1 }, >@@ -496,15 +523,27 @@ get_file_map($target_map, $dirtree, $file_map, $config{'INSTALL_ZEBRA'} eq "yes" > my $pl_files = { > 'rewrite-config.PL' => [ > 'blib/KOHA_CONF_DIR/koha-conf.xml', >- 'blib/KOHA_CONF_DIR/koha-httpd.conf', >+ 'blib/KOHA_CONF_DIR/koha-nginx.conf', > 'blib/ZEBRA_CONF_DIR/etc/default.idx', >- 'blib/MISC_DIR/koha-install-log' >+ 'blib/MISC_DIR/koha-install-log', > ], > 'fix-perl-path.PL' => [ # this script ensures the correct shebang line for the platform installed on... > 'blib' > ], > }; > >+if ($config{'WEBSERVER'} eq "apache2"){ >+ push @{ $pl_files->{'rewrite-config.PL'} }, ( >+ 'blib/KOHA_CONF_DIR/koha-httpd.conf', >+ ); >+} >+else { >+ push @{ $pl_files->{'rewrite-config.PL'} }, ( >+ 'blib/SCRIPT_DIR/koha.psgi', >+ 'blib/SCRIPT_DIR/koha-plack.sh', >+ ); >+} >+ > if ($config{'INSTALL_ZEBRA'} eq "yes") { > push @{ $pl_files->{'rewrite-config.PL'} }, ( > 'blib/ZEBRA_CONF_DIR/etc/passwd', >@@ -559,6 +598,7 @@ my %test_suite_override_dirs = ( > ZEBRA_LOCK_DIR => ['var', 'lock', 'zebradb'], > ZEBRA_DATA_DIR => ['var', 'lib', 'zebradb'], > ZEBRA_RUN_DIR => ['var', 'run', 'zebradb'], >+ PLACK_RUN_DIR => ['var', 'run', 'plack'], > ); > > WriteMakefile( >@@ -865,6 +905,45 @@ Group); > } > > $msg = q( >+Please specify which WebServer you will use >+to serve data in Koha. The choices are Apache2 and >+NGINX; please note that at the moment >+NGINX support is highly experimental. >+ >+WebServer to use); >+ $msg .= _add_valid_values_disp('WEBSERVER', $valid_values); >+ $config{'WEBSERVER'} = _get_value('WEBSERVER', $msg, $defaults->{'WEBSERVER'}, $valid_values, $install_log_values); >+ >+ $msg = q( >+Please specify which WebServer you will use >+to serve data in Koha. The choices are Apache2 and >+NGINX; please note that at the moment >+NGINX support is highly experimental. >+ >+Intranet DNS Settings); >+ $config{'INTRANET_DNS'} = _get_value('INTRANET_DNS', $msg, $defaults->{'INTRANET_DNS'}, $valid_values, $install_log_values); >+ >+ $msg = q( >+Please specify if you would like a DNS >+entry for the Koha Staff Client. >+ >+OPAC DNS Settings); >+ $config{'OPAC_DNS'} = _get_value('OPAC_DNS', $msg, $defaults->{'OPAC_DNS'}, $valid_values, $install_log_values); >+ >+ $msg = q( >+Please specify the port you would >+like the Koha Staff Client to use. >+ >+Intranet Port Settings); >+ $config{'INTRANET_PORT'} = _get_value('INTRANET_PORT', $msg, $defaults->{'INTRANET_PORT'}, $valid_values, $install_log_values); >+ $msg = q( >+Please specify if you would like a DNS >+entry for the Koha Staff Client. >+ >+OPAC Port Settings); >+ $config{'OPAC_PORT'} = _get_value('OPAC_PORt', $msg, $defaults->{'OPAC_PORT'}, $valid_values, $install_log_values); >+ >+ $msg = q( > Please specify which database engine you will use > to store data in Koha. The choices are MySQL and > PostgreSQL; please note that at the moment >@@ -1237,6 +1316,7 @@ sub get_target_directories { > $dirmap{'BACKUP_DIR'} = File::Spec->catdir(@basedir, $package, 'var', 'spool'); > $dirmap{'ZEBRA_DATA_DIR'} = File::Spec->catdir(@basedir, $package, 'var', 'lib', 'zebradb'); > $dirmap{'ZEBRA_RUN_DIR'} = File::Spec->catdir(@basedir, $package, 'var', 'run', 'zebradb'); >+ $dirmap{'PLACK_RUN_DIR'} = File::Spec->catdir(@basedir, $package, 'var', 'run', 'plack'); > } elsif ($mode eq 'dev') { > my $curdir = File::Spec->rel2abs(File::Spec->curdir()); > $dirmap{'INTRANET_CGI_DIR'} = File::Spec->catdir($curdir); >@@ -1267,6 +1347,7 @@ sub get_target_directories { > $dirmap{'BACKUP_DIR'} = File::Spec->catdir(@basedir, $package, 'var', 'spool'); > $dirmap{'ZEBRA_DATA_DIR'} = File::Spec->catdir(@basedir, $package, 'var', 'lib', 'zebradb'); > $dirmap{'ZEBRA_RUN_DIR'} = File::Spec->catdir(@basedir, $package, 'var', 'run', 'zebradb'); >+ $dirmap{'PLACK_RUN_DIR'} = File::Spec->catdir(@basedir, $package, 'var', 'run', 'plack'); > } else { > # mode is standard, i.e., 'fhs' > $dirmap{'INTRANET_CGI_DIR'} = File::Spec->catdir(@basedir, $package, 'intranet', 'cgi-bin'); >@@ -1289,6 +1370,7 @@ sub get_target_directories { > $dirmap{'BACKUP_DIR'} = File::Spec->catdir(File::Spec->rootdir(), 'var', 'spool', $package); > $dirmap{'ZEBRA_DATA_DIR'} = File::Spec->catdir(File::Spec->rootdir(), 'var', 'lib', $package, 'zebradb'); > $dirmap{'ZEBRA_RUN_DIR'} = File::Spec->catdir(File::Spec->rootdir(), 'var', 'run', $package, 'zebradb'); >+ $dirmap{'PLACK_RUN_DIR'} = File::Spec->catdir(File::Spec->rootdir(), 'var', 'run', $package, 'plack'); > } > > _get_env_overrides(\%dirmap); >diff --git a/debian/control b/debian/control >index 4447f10..e7b969e 100644 >--- a/debian/control >+++ b/debian/control >@@ -6,107 +6,132 @@ Standards-Version: 3.8.4 > # NOTA BENE: Build dependencies end up as runtime dependencies as well. > # See debian/rules, the override_dh_gencontrol rules. > # There are some exceptions. >-Build-Depends: libalgorithm-checkdigits-perl, >- libanyevent-http-perl, >- libanyevent-perl, >- libauthen-cas-client-perl, >- libbiblio-endnotestyle-perl, >- libbusiness-isbn-perl, >- libcache-memcached-fast-perl, >- libcgi-pm-perl | perl-modules, >+Build-Depends: EEEK: unknown package for Algorithm::CheckDigits, >+ EEEK: unknown package for AnyEvent, >+ EEEK: unknown package for AnyEvent::HTTP, >+ EEEK: unknown package for Authen::CAS::Client, >+ EEEK: unknown package for Biblio::EndnoteStyle, >+ EEEK: unknown package for Business::ISBN, >+ EEEK: unknown package for Cache::Memcached::Fast, >+ EEEK: unknown package for CGI, >+ EEEK: unknown package for CGI::Carp, >+ EEEK: unknown package for CGI::Session, >+ EEEK: unknown package for CGI::Session::Serialize::yaml, >+ EEEK: unknown package for Class::Accessor, >+ EEEK: unknown package for Class::Factory::Util, >+ EEEK: unknown package for Data::Dumper, >+ EEEK: unknown package for Data::ICal, >+ EEEK: unknown package for Data::Pagination, >+ EEEK: unknown package for Data::Paginator, >+ EEEK: unknown package for Date::Calc, >+ EEEK: unknown package for Date::Manip, >+ EEEK: unknown package for DateTime, >+ EEEK: unknown package for DateTime::Event::ICal, >+ EEEK: unknown package for DateTime::Format::DateParse, >+ EEEK: unknown package for DateTime::Format::ICal, >+ EEEK: unknown package for DateTime::Format::MySQL, >+ EEEK: unknown package for DateTime::Set, >+ EEEK: unknown package for DateTime::TimeZone, >+ EEEK: unknown package for DBD::Mock, >+ EEEK: unknown package for DBD::mysql, >+ EEEK: unknown package for DBD::SQLite2, >+ EEEK: unknown package for DBI, >+ EEEK: unknown package for Digest::MD5, >+ EEEK: unknown package for Digest::SHA, >+ EEEK: unknown package for Email::Date, >+ EEEK: unknown package for File::Temp, >+ EEEK: unknown package for GD, >+ EEEK: unknown package for GD::Barcode::UPCE, >+ EEEK: unknown package for Getopt::Long, >+ EEEK: unknown package for Getopt::Std, >+ EEEK: unknown package for Graphics::Magick, >+ EEEK: unknown package for Gravatar::URL, >+ EEEK: unknown package for HTML::FormatText, >+ EEEK: unknown package for HTML::Scrubber, >+ EEEK: unknown package for HTTP::Cookies, >+ EEEK: unknown package for HTTP::OAI, >+ EEEK: unknown package for HTTP::Request::Common, >+ EEEK: unknown package for IPC::Cmd, >+ EEEK: unknown package for JSON, >+ EEEK: unknown package for JSON::Any, >+ EEEK: unknown package for Lingua::Stem, >+ EEEK: unknown package for Lingua::Stem::Snowball, >+ EEEK: unknown package for List::MoreUtils, >+ EEEK: unknown package for List::Util, >+ EEEK: unknown package for Locale::Currency::Format, >+ EEEK: unknown package for Locale::Language, >+ EEEK: unknown package for Locale::PO, >+ EEEK: unknown package for LWP::Simple, >+ EEEK: unknown package for LWP::UserAgent, >+ EEEK: unknown package for Mail::Sendmail, >+ EEEK: unknown package for MARC::Charset, >+ EEEK: unknown package for MARC::Crosswalk::DublinCore, >+ EEEK: unknown package for MARC::File::XML, >+ EEEK: unknown package for MARC::Record, >+ EEEK: unknown package for Memoize::Memcached, >+ EEEK: unknown package for MIME::Base64, >+ EEEK: unknown package for MIME::Lite, >+ EEEK: unknown package for MIME::QuotedPrint, >+ EEEK: unknown package for Modern::Perl, >+ EEEK: unknown package for Moose, >+ EEEK: unknown package for MooseX::Storage, >+ EEEK: unknown package for MooseX::Types, >+ EEEK: unknown package for Net::LDAP, >+ EEEK: unknown package for Net::LDAP::Filter, >+ EEEK: unknown package for Net::Server, >+ EEEK: unknown package for Net::Z3950::ZOOM, >+ EEEK: unknown package for Number::Format, >+ EEEK: unknown package for PDF::API2, >+ EEEK: unknown package for PDF::API2::Page, >+ EEEK: unknown package for PDF::API2::Simple, >+ EEEK: unknown package for PDF::API2::Util, >+ EEEK: unknown package for PDF::Reuse, >+ EEEK: unknown package for PDF::Reuse::Barcode, >+ EEEK: unknown package for PDF::Table, >+ EEEK: unknown package for POE, >+ EEEK: unknown package for POSIX, >+ EEEK: unknown package for Readonly, >+ EEEK: unknown package for Readonly::XS, >+ EEEK: unknown package for Schedule::At, >+ EEEK: unknown package for SMS::Send, >+ EEEK: unknown package for Storable, >+ EEEK: unknown package for String::Random, >+ EEEK: unknown package for String::RewritePrefix, >+ EEEK: unknown package for Template, >+ EEEK: unknown package for Term::ANSIColor, >+ EEEK: unknown package for Test, >+ EEEK: unknown package for Test::Deep, >+ EEEK: unknown package for Test::Harness, >+ EEEK: unknown package for Test::MockModule, >+ EEEK: unknown package for Test::More, >+ EEEK: unknown package for Test::Strict, >+ EEEK: unknown package for Test::Warn, >+ EEEK: unknown package for Test::YAML::Valid, >+ EEEK: unknown package for Text::CSV, >+ EEEK: unknown package for Text::CSV::Encoded, >+ EEEK: unknown package for Text::CSV_XS, >+ EEEK: unknown package for Text::Iconv, >+ EEEK: unknown package for Text::Unaccent, >+ EEEK: unknown package for Text::Wrap, >+ EEEK: unknown package for Time::HiRes, >+ EEEK: unknown package for Time::localtime, >+ EEEK: unknown package for Time::Progress, >+ EEEK: unknown package for Unicode::Normalize, >+ EEEK: unknown package for UNIVERSAL::require, >+ EEEK: unknown package for URI::Escape, >+ EEEK: unknown package for XML::Dumper, >+ EEEK: unknown package for XML::LibXML, >+ EEEK: unknown package for XML::LibXSLT, >+ EEEK: unknown package for XML::RSS, >+ EEEK: unknown package for XML::SAX::ParserFactory, >+ EEEK: unknown package for XML::SAX::Writer, >+ EEEK: unknown package for XML::Simple, >+ EEEK: unknown package for YAML, >+ EEEK: unknown package for YAML::Syck, > libcgi-session-driver-memcached-perl, >- libcgi-session-perl, >- libcgi-session-serialize-yaml-perl, > libchi-driver-memcached-perl, > libchi-perl, >- libclass-accessor-perl, >- libclass-factory-util-perl, >- libdata-ical-perl, >- libdata-paginator-perl, >- libdate-calc-perl, >- libdate-manip-perl, >- libdatetime-event-ical-perl, >- libdatetime-format-dateparse-perl, >- libdatetime-format-ical-perl, >- libdatetime-format-mysql-perl, >- libdatetime-perl, >- libdatetime-set-perl, >- libdatetime-timezone-perl, >- libdbd-mock-perl, >- libdbd-mysql-perl, >- libdbd-sqlite2-perl, >- libdbi-perl, >- libdigest-sha-perl | perl, >- libemail-date-perl, >- libgd-barcode-perl, >- libgd-gd2-noxpm-perl | libgd-gd2-perl, >- libgraphics-magick-perl, >- libgravatar-url-perl, >- libhtml-format-perl, >- libhtml-scrubber-perl, >- libhttp-oai-perl, >- libjson-any-perl, >- libjson-perl, >- liblingua-stem-perl, >- liblingua-stem-snowball-perl, >- liblist-moreutils-perl, >- liblocale-currency-format-perl, >- liblocale-po-perl, >- libmail-sendmail-perl, >- libmarc-charset-perl, >- libmarc-crosswalk-dublincore-perl, >- libmarc-record-perl, >- libmarc-xml-perl, >- libmemoize-memcached-perl, >- libmime-lite-perl, >- libmodern-perl-perl, >- libmoose-perl, >- libmoosex-storage-perl, >- libmoosex-types-perl, >- libnet-ldap-perl, >- libnet-server-perl, >- libnet-z3950-zoom-perl, >- libnumber-format-perl, >- libpdf-api2-perl, >- libpdf-api2-simple-perl, >- libpdf-reuse-barcode-perl, >- libpdf-reuse-perl, >- libpdf-table-perl, >- libpoe-perl, >- libreadonly-perl, >- libreadonly-xs-perl, >- libscalar-list-utils-perl, >- libschedule-at-perl, >- libsms-send-perl, >- libstring-rewriteprefix-perl, >- libtemplate-perl, >- libtemplate-plugin-htmltotext-perl, >- libtest-deep-perl, >- libtest-mockmodule-perl, >- libtest-simple-perl | perl-modules, >- libtest-strict-perl, >- libtest-warn-perl, >- libtest-yaml-valid-perl, >- libtext-csv-encoded-perl, >- libtext-csv-perl, >- libtext-csv-xs-perl, >- libtext-iconv-perl, >- libtext-unaccent-perl, >- libtime-progress-perl, >- libuniversal-require-perl, >- liburi-perl, >- libwww-perl, >- libxml-dumper-perl, >- libxml-libxml-perl, >- libxml-libxslt-perl, >- libxml-rss-perl, >- libxml-sax-perl, >- libxml-sax-writer-perl, >- libxml-simple-perl, >- libyaml-perl, >- libyaml-syck-perl, >- perl, >- perl-modules, >+ libtemplate-plugin-htmltotext-perl, > debhelper (>= 7.0.50), gettext, python, python-debian, xsltproc, docbook-xsl > > Package: koha-common >@@ -183,107 +208,132 @@ Description: Other dep. for koha > daemon, debconf, etc.). > > Package: koha-perldeps >-Depends: libalgorithm-checkdigits-perl, >- libanyevent-http-perl, >- libanyevent-perl, >- libauthen-cas-client-perl, >- libbiblio-endnotestyle-perl, >- libbusiness-isbn-perl, >- libcache-memcached-fast-perl, >- libcgi-pm-perl | perl-modules, >+Depends: EEEK: unknown package for Algorithm::CheckDigits, >+ EEEK: unknown package for AnyEvent, >+ EEEK: unknown package for AnyEvent::HTTP, >+ EEEK: unknown package for Authen::CAS::Client, >+ EEEK: unknown package for Biblio::EndnoteStyle, >+ EEEK: unknown package for Business::ISBN, >+ EEEK: unknown package for Cache::Memcached::Fast, >+ EEEK: unknown package for CGI, >+ EEEK: unknown package for CGI::Carp, >+ EEEK: unknown package for CGI::Session, >+ EEEK: unknown package for CGI::Session::Serialize::yaml, >+ EEEK: unknown package for Class::Accessor, >+ EEEK: unknown package for Class::Factory::Util, >+ EEEK: unknown package for Data::Dumper, >+ EEEK: unknown package for Data::ICal, >+ EEEK: unknown package for Data::Pagination, >+ EEEK: unknown package for Data::Paginator, >+ EEEK: unknown package for Date::Calc, >+ EEEK: unknown package for Date::Manip, >+ EEEK: unknown package for DateTime, >+ EEEK: unknown package for DateTime::Event::ICal, >+ EEEK: unknown package for DateTime::Format::DateParse, >+ EEEK: unknown package for DateTime::Format::ICal, >+ EEEK: unknown package for DateTime::Format::MySQL, >+ EEEK: unknown package for DateTime::Set, >+ EEEK: unknown package for DateTime::TimeZone, >+ EEEK: unknown package for DBD::Mock, >+ EEEK: unknown package for DBD::mysql, >+ EEEK: unknown package for DBD::SQLite2, >+ EEEK: unknown package for DBI, >+ EEEK: unknown package for Digest::MD5, >+ EEEK: unknown package for Digest::SHA, >+ EEEK: unknown package for Email::Date, >+ EEEK: unknown package for File::Temp, >+ EEEK: unknown package for GD, >+ EEEK: unknown package for GD::Barcode::UPCE, >+ EEEK: unknown package for Getopt::Long, >+ EEEK: unknown package for Getopt::Std, >+ EEEK: unknown package for Graphics::Magick, >+ EEEK: unknown package for Gravatar::URL, >+ EEEK: unknown package for HTML::FormatText, >+ EEEK: unknown package for HTML::Scrubber, >+ EEEK: unknown package for HTTP::Cookies, >+ EEEK: unknown package for HTTP::OAI, >+ EEEK: unknown package for HTTP::Request::Common, >+ EEEK: unknown package for IPC::Cmd, >+ EEEK: unknown package for JSON, >+ EEEK: unknown package for JSON::Any, >+ EEEK: unknown package for Lingua::Stem, >+ EEEK: unknown package for Lingua::Stem::Snowball, >+ EEEK: unknown package for List::MoreUtils, >+ EEEK: unknown package for List::Util, >+ EEEK: unknown package for Locale::Currency::Format, >+ EEEK: unknown package for Locale::Language, >+ EEEK: unknown package for Locale::PO, >+ EEEK: unknown package for LWP::Simple, >+ EEEK: unknown package for LWP::UserAgent, >+ EEEK: unknown package for Mail::Sendmail, >+ EEEK: unknown package for MARC::Charset, >+ EEEK: unknown package for MARC::Crosswalk::DublinCore, >+ EEEK: unknown package for MARC::File::XML, >+ EEEK: unknown package for MARC::Record, >+ EEEK: unknown package for Memoize::Memcached, >+ EEEK: unknown package for MIME::Base64, >+ EEEK: unknown package for MIME::Lite, >+ EEEK: unknown package for MIME::QuotedPrint, >+ EEEK: unknown package for Modern::Perl, >+ EEEK: unknown package for Moose, >+ EEEK: unknown package for MooseX::Storage, >+ EEEK: unknown package for MooseX::Types, >+ EEEK: unknown package for Net::LDAP, >+ EEEK: unknown package for Net::LDAP::Filter, >+ EEEK: unknown package for Net::Server, >+ EEEK: unknown package for Net::Z3950::ZOOM, >+ EEEK: unknown package for Number::Format, >+ EEEK: unknown package for PDF::API2, >+ EEEK: unknown package for PDF::API2::Page, >+ EEEK: unknown package for PDF::API2::Simple, >+ EEEK: unknown package for PDF::API2::Util, >+ EEEK: unknown package for PDF::Reuse, >+ EEEK: unknown package for PDF::Reuse::Barcode, >+ EEEK: unknown package for PDF::Table, >+ EEEK: unknown package for POE, >+ EEEK: unknown package for POSIX, >+ EEEK: unknown package for Readonly, >+ EEEK: unknown package for Readonly::XS, >+ EEEK: unknown package for Schedule::At, >+ EEEK: unknown package for SMS::Send, >+ EEEK: unknown package for Storable, >+ EEEK: unknown package for String::Random, >+ EEEK: unknown package for String::RewritePrefix, >+ EEEK: unknown package for Template, >+ EEEK: unknown package for Term::ANSIColor, >+ EEEK: unknown package for Test, >+ EEEK: unknown package for Test::Deep, >+ EEEK: unknown package for Test::Harness, >+ EEEK: unknown package for Test::MockModule, >+ EEEK: unknown package for Test::More, >+ EEEK: unknown package for Test::Strict, >+ EEEK: unknown package for Test::Warn, >+ EEEK: unknown package for Test::YAML::Valid, >+ EEEK: unknown package for Text::CSV, >+ EEEK: unknown package for Text::CSV::Encoded, >+ EEEK: unknown package for Text::CSV_XS, >+ EEEK: unknown package for Text::Iconv, >+ EEEK: unknown package for Text::Unaccent, >+ EEEK: unknown package for Text::Wrap, >+ EEEK: unknown package for Time::HiRes, >+ EEEK: unknown package for Time::localtime, >+ EEEK: unknown package for Time::Progress, >+ EEEK: unknown package for Unicode::Normalize, >+ EEEK: unknown package for UNIVERSAL::require, >+ EEEK: unknown package for URI::Escape, >+ EEEK: unknown package for XML::Dumper, >+ EEEK: unknown package for XML::LibXML, >+ EEEK: unknown package for XML::LibXSLT, >+ EEEK: unknown package for XML::RSS, >+ EEEK: unknown package for XML::SAX::ParserFactory, >+ EEEK: unknown package for XML::SAX::Writer, >+ EEEK: unknown package for XML::Simple, >+ EEEK: unknown package for YAML, >+ EEEK: unknown package for YAML::Syck, > libcgi-session-driver-memcached-perl, >- libcgi-session-perl, >- libcgi-session-serialize-yaml-perl, > libchi-driver-memcached-perl, > libchi-perl, >- libclass-accessor-perl, >- libclass-factory-util-perl, >- libdata-ical-perl, >- libdata-paginator-perl, >- libdate-calc-perl, >- libdate-manip-perl, >- libdatetime-event-ical-perl, >- libdatetime-format-dateparse-perl, >- libdatetime-format-ical-perl, >- libdatetime-format-mysql-perl, >- libdatetime-perl, >- libdatetime-set-perl, >- libdatetime-timezone-perl, >- libdbd-mock-perl, >- libdbd-mysql-perl, >- libdbd-sqlite2-perl, >- libdbi-perl, >- libdigest-sha-perl | perl, >- libemail-date-perl, >- libgd-barcode-perl, >- libgd-gd2-noxpm-perl | libgd-gd2-perl, >- libgraphics-magick-perl, >- libgravatar-url-perl, >- libhtml-format-perl, >- libhtml-scrubber-perl, >- libhttp-oai-perl, >- libjson-any-perl, >- libjson-perl, >- liblingua-stem-perl, >- liblingua-stem-snowball-perl, >- liblist-moreutils-perl, >- liblocale-currency-format-perl, >- liblocale-po-perl, >- libmail-sendmail-perl, >- libmarc-charset-perl, >- libmarc-crosswalk-dublincore-perl, >- libmarc-record-perl, >- libmarc-xml-perl, >- libmemoize-memcached-perl, >- libmime-lite-perl, >- libmodern-perl-perl, >- libmoose-perl, >- libmoosex-storage-perl, >- libmoosex-types-perl, >- libnet-ldap-perl, >- libnet-server-perl, >- libnet-z3950-zoom-perl, >- libnumber-format-perl, >- libpdf-api2-perl, >- libpdf-api2-simple-perl, >- libpdf-reuse-barcode-perl, >- libpdf-reuse-perl, >- libpdf-table-perl, >- libpoe-perl, >- libreadonly-perl, >- libreadonly-xs-perl, >- libscalar-list-utils-perl, >- libschedule-at-perl, >- libsms-send-perl, >- libstring-rewriteprefix-perl, >- libtemplate-perl, >- libtemplate-plugin-htmltotext-perl, >- libtest-deep-perl, >- libtest-mockmodule-perl, >- libtest-simple-perl | perl-modules, >- libtest-strict-perl, >- libtest-warn-perl, >- libtest-yaml-valid-perl, >- libtext-csv-encoded-perl, >- libtext-csv-perl, >- libtext-csv-xs-perl, >- libtext-iconv-perl, >- libtext-unaccent-perl, >- libtime-progress-perl, >- libuniversal-require-perl, >- liburi-perl, >- libwww-perl, >- libxml-dumper-perl, >- libxml-libxml-perl, >- libxml-libxslt-perl, >- libxml-rss-perl, >- libxml-sax-perl, >- libxml-sax-writer-perl, >- libxml-simple-perl, >- libyaml-perl, >- libyaml-syck-perl, >- perl, >- perl-modules >+ libtemplate-plugin-htmltotext-perl > Architecture: all > Description: Perl dep. for koha > Koha is an Integrated Library Managment system for real-world libraries >diff --git a/etc/koha-httpd.conf b/etc/koha-httpd.conf >index dc82d08..f0edb61 100644 >--- a/etc/koha-httpd.conf >+++ b/etc/koha-httpd.conf >@@ -3,11 +3,11 @@ > #NameVirtualHost * > > ## OPAC >-<VirtualHost __WEBSERVER_IP__:__WEBSERVER_PORT__> >+<VirtualHost __OPAC_DNS__:__OPAC_PORT__> > ServerAdmin __WEBMASTER_EMAIL__ > DocumentRoot __OPAC_WWW_DIR__ >- ServerName __WEBSERVER_HOST__ >-# ServerAlias opac.mydomain.com >+ ServerName __OPAC_DNS__:__OPAC_PORT__ >+# ServerAlias __OPAC_DNS__ > ScriptAlias /cgi-bin/koha/ "__OPAC_CGI_DIR__/opac/" > ScriptAlias /index.html "__OPAC_CGI_DIR__/opac/opac-main.pl" > ScriptAlias /opac-search.pl "__OPAC_CGI_DIR__/opac/opac-search.pl" >@@ -97,11 +97,11 @@ > </VirtualHost> > > ## Intranet >-<VirtualHost __WEBSERVER_IP__:__WEBSERVER_PORT_LIBRARIAN__> >+<VirtualHost __INTRANET_DNS__:__INTRANET_PORT__> > ServerAdmin __WEBMASTER_EMAIL__ > DocumentRoot __INTRANET_WWW_DIR__ >- ServerName __WEBSERVER_HOST__:__WEBSERVER_PORT_LIBRARIAN__ >-# ServerAlias intranet.mydomain.com >+ ServerName __INTRANET_DNS__:__INTRANET_PORT__ >+# ServerAlias __INTRANET_DNS__ > ScriptAlias /cgi-bin/koha/ "__INTRANET_CGI_DIR__/" > ScriptAlias /index.html "__INTRANET_CGI_DIR__/mainpage.pl" > ScriptAlias /search "__INTRANET_CGI_DIR__/search.pl" >diff --git a/etc/koha-nginx.conf b/etc/koha-nginx.conf >new file mode 100644 >index 0000000..33f96b8 >--- /dev/null >+++ b/etc/koha-nginx.conf >@@ -0,0 +1,52 @@ >+upstream backendurl { >+ server unix:__PLACK_RUN_DIR__/plack.sock; >+} >+ >+server { >+ listen __OPAC_PORT__; >+ server_name __OPAC_DNS__; >+ access_log __LOG_DIR__/nginx-opac-access.log; >+ root __OPAC_WWW_DIR__; >+ >+ rewrite ^/$ /cgi-bin/koha/opac-main.pl; >+ rewrite ^/cgi-bin/koha/(.*)$ /cgi-bin/koha/opac/$1; >+ >+ location / { >+ try_files $uri @plack; >+ } >+ location /opac-tmpl/ { >+ root __OPAC_WWW_DIR__; >+ } >+ >+ location @plack { >+ proxy_set_header Host $http_host; >+ proxy_set_header X-Forwarded-Host $host; >+ proxy_set_header X-Real-IP $remote_addr; >+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; >+ proxy_pass http://backendurl; >+ } >+} >+ >+server { >+ listen __INTRANET_PORT__; >+ server_name __INTRANET_DNS__; >+ access_log __LOG_DIR__/nginx-intranet-access.log; >+ root __INTRANET_WWW_DIR__; >+ >+ rewrite ^/$ /cgi-bin/koha/mainpage.pl; >+ >+ location / { >+ try_files $uri @plack; >+ } >+ location /intranet-tmpl/ { >+ root __INTRANET_WWW_DIR__; >+ } >+ >+ location @plack { >+ proxy_set_header Host $http_host; >+ proxy_set_header X-Forwarded-Host $host; >+ proxy_set_header X-Real-IP $remote_addr; >+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; >+ proxy_pass http://backendurl; >+ } >+} >\ No newline at end of file >diff --git a/misc/bin/koha-plack.sh b/misc/bin/koha-plack.sh >new file mode 100644 >index 0000000..34e0b53 >--- /dev/null >+++ b/misc/bin/koha-plack.sh >@@ -0,0 +1,72 @@ >+#!/bin/sh -e >+ >+# This file is part of Koha. >+# >+# Koha is free software; you can redistribute it and/or modify it under the >+# terms of the GNU General Public License as published by the Free Software >+# Foundation; either version 3 of the License, or (at your option) any later >+# version. >+# >+# Koha is distributed in the hope that it will be useful, but WITHOUT ANY >+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR >+# A PARTICULAR PURPOSE. See the GNU General Public License for more details. >+# >+# You should have received a copy of the GNU General Public License along with >+# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place, >+# Suite 330, Boston, MA 02111-1307 USA >+ >+### BEGIN INIT INFO# Provides: koha-plack >+# Required-Start: $syslog $remote_fs >+# Required-Stop: $syslog $remote_fs# Default-Start: 2 3 4 5 >+# Default-Stop: 0 1 6# Short-Description: Plack server for Koha >+### END INIT INFO >+ >+export KOHA_CONF=__KOHA_CONF_DIR__/koha-conf.xml >+#export OPACDIR=__OPAC_WWW_DIR__ >+#export INTRANETDIR=__OPAC_WWW_DIR__ >+export LOGDIR=__LOG_DIR__ >+USER=__KOHA_USER__ >+GROUP=__KOHA_GROUP__ >+RUNDIR=__PLACK_RUN_DIR__ >+PIDFILE=$RUNDIR/plack.pid >+ >+# Use one of these lines to choose between TCP port and UNIX socket listeners >+SOCKET=$RUNDIR/plack.sock >+#PORT=5000 >+ >+case "$1" in >+ start) >+ echo "Starting Koha Plack Daemon" >+ >+ # create run and lock directories if needed; >+ # /var/run and /var/lock are completely cleared at boot >+ # on some platforms >+ if [ ! -d $RUNDIR ]; then >+ umask 022 >+ mkdir -p $RUNDIR >+ if [ $EUID -eq 0 ]; then >+ chown $USER:$GROUP $RUNDIR >+ fi >+ fi >+ >+ opt="$opt --access-log $LOGDIR/koha-access.log --error-log $LOGDIR/koha-error.log" >+ opt="$opt -M FindBin --max-requests 50 --workers 2 -E deployment" >+ if [ $SOCKET ]; then >+ opt="$opt --listen $SOCKET -D --pid $PIDFILE" >+ elif [ $PORT ]; then >+ opt="$opt --port $PORT -D --pid $PIDFILE" >+ fi >+ starman $opt __SCRIPT_DIR__/koha.psgi >+ >+ if [ $SOCKET ]; then >+ chown $USER:$GROUP $SOCKET >+ fi >+ ;; >+ stop) >+ start-stop-daemon --stop --pidfile $PIDFILE >+ ;; >+ *) >+ echo "Usage: koha-plack {start|stop}" >+ exit 1 >+ ;; >+esac >\ No newline at end of file >diff --git a/misc/bin/koha.psgi b/misc/bin/koha.psgi >new file mode 100644 >index 0000000..2023f50 >--- /dev/null >+++ b/misc/bin/koha.psgi >@@ -0,0 +1,43 @@ >+#!/usr/bin/perl >+ >+BEGIN { >+ $ENV{'KOHA_CONF'} = '__KOHA_CONF_DIR__/koha-conf.xml'; >+ $ENV{'PERL5LIB'} = '__PERL_MODULE_DIR__'; >+} >+ >+use lib("__PERL_MODULE_DIR__"); >+use lib("__PERL_MODULE_DIR__/installer"); >+use Plack::Builder; >+use Plack::App::CGIBin; >+use Plack::App::Directory; >+use Plack::Middleware::Debug; >+use Plack::App::URLMap; >+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; >+ >+C4::Context->disable_syspref_cache(); >+ >+my $intra=Plack::App::CGIBin->new(root => "__INTRANET_CGI_DIR__" ); >+ >+my $opac = Plack::App::CGIBin->new(root => "__OPAC_CGI_DIR__"); >+my $panels = Plack::Middleware::Debug->default_panels; >+builder { >+ enable_if{ >+ $ENV{DEBUG} >+ } 'Debug', panels => [[ 'DBITrace', level => 1 ], @$panels ]; >+ >+ enable "Plack::Middleware::Static"; >+ >+ enable 'StackTrace'; >+ >+ mount '/cgi-bin/koha/' => $intra; >+ mount '/cgi-bin/koha/opac' => $opac; >+}; >diff --git a/rewrite-config.PL b/rewrite-config.PL >index 02715ab..58490f7 100644 >--- a/rewrite-config.PL >+++ b/rewrite-config.PL >@@ -82,6 +82,11 @@ $prefix = $ENV{'INSTALL_BASE'} || "/usr"; > %configuration = ( > "__KOHA_INSTALLED_VERSION__" => "no_version_found", > "__LOG_DIR__" => "/var/log", >+ "__WEBSERVER__" => "apache2", >+ "__INTRANET_DNS__" => "localhost", >+ "__OPAC_DNS__" => "localhost", >+ "__OPAC_PORT__" => "80", >+ "__INTRANET_PORT__" => "8080", > "__DB_TYPE__" => "mysql", > "__DB_NAME__" => "koha", > "__DB_HOST__" => $myhost, >@@ -119,6 +124,7 @@ $prefix = $ENV{'INSTALL_BASE'} || "/usr"; > '__ZEBRA_LOCK_DIR__' => "$prefix/var/lock/zebradb", > '__ZEBRA_DATA_DIR__' => "$prefix/var/lib/zebradb", > '__ZEBRA_RUN_DIR__' => "$prefix/var/run/zebradb", >+ '__PLACK_RUN_DIR__' => "$prefix/var/run/plack", > '__ZEBRA_MARC_FORMAT__' => 'marc21', > '__ZEBRA_LANGUAGE__' => 'en', > '__ZEBRA_TOKENIZER_STMT__' => 'charmap word-phrase-utf.chr', >-- >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 9316
:
14257
|
14322
|
14369
|
14370
|
14371
|
14375
|
14376
|
14378
|
14379
|
14381
|
14383
|
14385
|
14789
|
15151
|
15859
|
21818
|
21819
|
22767