1st shot: install memcached, download and extract archive, make and make install

This commit is contained in:
2021-12-06 14:26:48 +01:00
parent cdea82b922
commit 1cbd649a78
11 changed files with 19338 additions and 3 deletions

View File

@@ -11,6 +11,12 @@ Debian >=10 avec apache
Role Variables
--------------
with their default value, if any
koha_home_dir: /home/koha
koha_install_dir: {{ koha_home_dir }}/koha
koha_version: 20.11.11
koha_packages: needed packages see defaults/main.yml

View File

@@ -1,2 +1,180 @@
---
# defaults file for tco.koha
# defaults file for tco.koha
koha_version: 20.11.11
koha_home_dir: /home/koha
koha_install_dir: "{{ koha_home_dir }}/koha"
koha_src_dir: "{{ koha_home_dir }}/Koha-{{ koha_version }}"
koha_opac_hostname: koha.opendoor.fr
koha_intranet_hostname: sigb.opendoor.fr
koha_mariadb_server: localhost
koha_mariadb_user: "kohauser"
koha_mariadb_password: "123Soleil"
koha_mariadb_db: koha
koha_packages:
- docbook-xsl
- fonts-dejavu
- gettext
- idzebra-2.0
- libalgorithm-checkdigits-perl
- libanyevent-http-perl
- libanyevent-perl
- libarchive-extract-perl
- libarchive-zip-perl
- libarray-utils-perl
- libauthen-cas-client-perl
- libbiblio-endnotestyle-perl
- libbusiness-isbn-perl
- libbusiness-issn-perl
- libbytes-random-secure-perl
- libcache-memcached-fast-safe-perl
- libcache-memcached-perl
- libcgi-compile-perl
- libcgi-emulate-psgi-perl
- libcgi-pm-perl
- libcgi-session-driver-memcached-perl
- libcgi-session-perl
- libclass-accessor-perl
- libclass-factory-util-perl
- libclass-inspector-perl
- libclone-perl
- libcpan-meta-perl
- libcrypt-eksblowfish-perl
- libdata-ical-perl
- libdate-calc-perl
- libdate-manip-perl
- libdatetime-event-ical-perl
- libdatetime-format-ical-perl
- libdatetime-format-mysql-perl
- libdatetime-perl
- libdatetime-timezone-perl
- libdbd-mock-perl
- libdbd-mysql-perl
- libdbd-sqlite2-perl
- libdbi-perl
- libdbix-class-schema-loader-perl
- libdbix-runsql-perl
- libdevel-cover-perl
- libdigest-sha-perl
- libemail-address-perl
- libemail-date-perl
- libemail-messageid-perl
- libemail-sender-perl
- libemail-stuffer-perl
- libexception-class-perl
- libfile-slurp-perl
- libfont-ttf-perl
- libgd-barcode-perl
- libgd-perl
- libgraphics-magick-perl
- libgravatar-url-perl
- libhtml-format-perl
- libhtml-parser-perl
- libhtml-scrubber-perl
- libhttp-cookies-perl
- libhttp-message-perl
- libhttp-oai-perl
- libintl-perl
- libio-socket-ssl-perl
- libjson-perl
- libjson-validator-perl
- liblibrary-callnumber-lc-perl
- liblingua-ispell-perl
- liblingua-stem-perl
- liblingua-stem-snowball-perl
- liblist-moreutils-perl
- liblocale-codes-perl
- liblocale-currency-format-perl
- liblocale-po-perl
- liblog-log4perl-perl
- liblwp-protocol-https-perl
- libemail-valid-perl
- libmarc-charset-perl
- libmarc-file-mij-perl
- libmarc-record-perl
- libmarc-xml-perl
- libmime-lite-perl
- libmodern-perl-perl
- libmodule-bundled-files-perl
- libmodule-cpanfile-perl
- libmodule-load-conditional-perl
- libmodule-pluggable-perl
- libmojolicious-perl
- libmojolicious-plugin-openapi-perl
- libmoo-perl
- libnet-cidr-perl
- libnet-ldap-perl
- libnet-netmask-perl
- libnet-oauth2-authorizationserver-perl
- libnet-server-perl
- libnet-sftp-foreign-perl
- libnet-stomp-perl
- libnet-z3950-simpleserver-perl
- libnet-z3950-zoom-perl
- libnumber-format-perl
- libopenoffice-oodoc-perl
- libparallel-forkmanager-perl
- libpdf-api2-perl
- libpdf-fromhtml-perl
- libpdf-reuse-barcode-perl
- libpdf-reuse-perl
- libpdf-table-perl
- libplack-middleware-logwarn-perl
- libplack-middleware-reverseproxy-perl
- libreadonly-perl
- libscalar-list-utils-perl
- libschedule-at-perl
- libsearch-elasticsearch-perl
- libsereal-decoder-perl
- libsereal-encoder-perl
- libsms-send-perl
- libstring-random-perl
- libsys-cpu-perl
- libtemplate-perl
- libtemplate-plugin-gettext-perl
- libtemplate-plugin-htmltotext-perl
- libtemplate-plugin-json-escape-perl
- libtemplate-plugin-stash-perl
- libtest-deep-perl
- libtest-exception-perl
- libtest-mockmodule-perl
- libtest-mockobject-perl
- libtest-mocktime-perl
- libtest-simple-perl
- libtest-strict-perl
- libtest-warn-perl
- libtest-www-mechanize-perl
- libtest-yaml-valid-perl
- libtext-bidi-perl
- libtext-csv-encoded-perl
- libtext-csv-perl
- libtext-csv-xs-perl
- libtext-iconv-perl
- libtext-pdf-perl
- libtext-unidecode-perl
- libtime-fake-perl
- libtry-tiny-perl
- libuniversal-can-perl
- libuniversal-require-perl
- liburi-perl
- libuuid-perl
- libwebservice-ils-perl
- libwww-csrf-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
- libxml-writer-perl
- libxml2-utils
- libyaml-libyaml-perl
- libyaml-syck-perl
- perl-doc
- unzip
- xmlstarlet
- xsltproc
- yaz

View File

@@ -1,2 +1,7 @@
---
# handlers file for tco.koha
# handlers file for tco.koha
#
- name: reload apache
service:
name: apache2
state: restarted

View File

@@ -1,2 +1,93 @@
---
# tasks file for tco.koha
# tasks file for tco.koha
#- name: exit if install dir exists
# block:
# - stat:
# path: "{{ koha_install_dir }}"
# register: result
# ignore_errors: true
#
# - assert:
# that: result.stat.exists is false
- name: install memcached
import_tasks: memcached.yml
tags: wip
- name: create koha user
vars:
- kohapassword: $ANSIBLE_VAULT;1.1;AES256
32343335656665373331343735333266383165643665373336363830613466623734636466623139
6434316465653862346136333665636434373036643131620a646436626537666438313837383436
61306561346334333661373664353235343562323636316562363934343739626634626161356433
6333363164313030340a336430326334613435333161656435373962316266333765326462393238
6237
user:
name: koha
home: "{{ koha_home_dir }}"
create_home: yes
password: "{{ kohapassword | password_hash('sha512', ansible_hostname )}}"
- name: get and extract archive
block:
- get_url:
url: "https://github.com/Koha-Community/Koha/archive/refs/tags/v{{ koha_version }}.tar.gz"
dest: /tmp/
- unarchive:
src: /tmp/Koha-{{ koha_version }}.tar.gz
remote_src: yes
dest: "{{ koha_home_dir }}"
# - file:
# state: link
# dest: "{{ koha_install_dir }}"
# src: "{{ koha_home_dir }}/Koha-{{ koha_version }}"
- name: install required packages
apt:
state: present
name: "{{ koha_packages }}"
- name: deploy Makefile
tags: wip
template:
src: "{{ item }}"
dest: "{{ koha_src_dir }}"
loop:
- Makefile
- MYMETA.json
- MYMETA.yml
- name: make && & make install
tags: wip
command: "{{ item }}"
loop:
- make
- make install
args:
chdir: "{{ koha_src_dir }}"
- name: configure environment
template:
src: koha.env.sh
dest: /etc/profile.d/
- name: create etc symlink
file:
src: "{{ koha_install_dir }}/etc"
dest: /etc/koha
state: link
- name: configure apache
template:
src:
dest: /etc/apache/sites-enabled/
notify: reload apache
loop:
- apache-intranet.conf
- apache-opac.conf

9
tasks/memcached.yml Normal file
View File

@@ -0,0 +1,9 @@
---
- apt:
name: memcached
state: present
- service:
name: memcached
enabled: true
state: started

221
templates/MYMETA.json Normal file
View File

@@ -0,0 +1,221 @@
{
"abstract" : "Award-winning integrated library system (ILS) and Web OPAC",
"author" : [
"Koha Contributors <https://koha-community.org/>"
],
"dynamic_config" : 0,
"generated_by" : "ExtUtils::MakeMaker version 7.44, CPAN::Meta::Converter version 2.150010",
"license" : [
"unknown"
],
"meta-spec" : {
"url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
"version" : 2
},
"name" : "koha",
"no_index" : {
"directory" : [
"t",
"inc"
]
},
"prereqs" : {
"build" : {
"requires" : {
"ExtUtils::MakeMaker" : "0"
}
},
"configure" : {
"requires" : {
"ExtUtils::MakeMaker" : "0"
}
},
"runtime" : {
"requires" : {
"Algorithm::CheckDigits" : "0.5",
"AnyEvent" : "5.0",
"AnyEvent::HTTP" : "2.13",
"Archive::Extract" : "0.60",
"Archive::Zip" : "1.30",
"Array::Utils" : "0.5",
"Authen::CAS::Client" : "0.05",
"Biblio::EndnoteStyle" : "0.05",
"Business::ISBN" : "2.05",
"Business::ISSN" : "0.91",
"Bytes::Random::Secure" : "0.28",
"CGI" : "3.15",
"CGI::Carp" : "1.29",
"CGI::Compile" : ">= 0.17, != 0.24",
"CGI::Emulate::PSGI" : "0.20",
"CGI::Session" : "4.2",
"CGI::Session::Driver::memcached" : "0.04",
"CGI::Session::Serialize::yaml" : "4.2",
"CPAN::Meta" : "2.150006",
"Cache::Memcached" : "1.30",
"Cache::Memcached::Fast::Safe" : "0.06",
"Class::Accessor" : "0.3",
"Class::Factory::Util" : "1.6",
"Class::Inspector" : "1.31",
"Clone" : "0.37",
"Crypt::Eksblowfish::Bcrypt" : "0.008",
"DBD::Mock" : "1.39",
"DBD::SQLite2" : "0.33",
"DBD::mysql" : "4.004",
"DBI" : "1.53",
"DBIx::Class::Schema::Loader" : "0.07039",
"DBIx::RunSQL" : "0.14",
"Data::Dumper" : "2.121",
"Data::ICal" : "0.13",
"Date::Calc" : "5.4",
"Date::Manip" : "5.44",
"DateTime" : "0.58",
"DateTime::Event::ICal" : "0.08",
"DateTime::Format::ICal" : "0.09",
"DateTime::Format::MySQL" : "0.04",
"DateTime::TimeZone" : "1.20",
"Devel::Cover" : "0.89",
"Digest::MD5" : "2.36",
"Digest::SHA" : "5.43",
"Email::Date" : "1.103",
"Email::MessageID" : "1.406",
"Email::Sender" : "1.300030",
"Email::Stuffer" : "0.014",
"Email::Valid" : "0.190",
"Exception::Class" : "1.38",
"File::Copy" : "2.08",
"File::Path" : "2.07",
"File::Slurp" : "9999.13",
"File::Temp" : "0.22",
"Font::TTF" : "0.45",
"GD" : "2.39",
"GD::Barcode::UPCE" : "1.1",
"Getopt::Long" : "2.35",
"Getopt::Std" : "1.05",
"Graphics::Magick" : "v1.3.5",
"Gravatar::URL" : "1.03",
"HTML::Entities" : "3.69",
"HTML::FormatText" : "1.23",
"HTML::Scrubber" : "0.08",
"HTTP::Cookies" : "1.39",
"HTTP::OAI" : "3.2",
"HTTP::Request::Common" : "1.26",
"HTTPD::Bench::ApacheBench" : "0.73",
"IPC::Cmd" : "0.46",
"JSON" : "2.07",
"JSON::Validator" : "0.97",
"LWP::Protocol::https" : "5.836",
"LWP::Simple" : "1.41",
"LWP::UserAgent" : "2.033",
"Library::CallNumber::LC" : "0.22",
"Lingua::Ispell" : "0.07",
"Lingua::Stem" : "0.82",
"Lingua::Stem::Snowball" : "0.952",
"List::MoreUtils" : "0.21",
"List::Util" : "1.18",
"Locale::Currency::Format" : "1.28",
"Locale::Language" : "2.07",
"Locale::Messages" : "1.20",
"Locale::PO" : "0.24",
"Locale::XGettext::TT2" : "0.7",
"Log::Log4perl" : "1.29",
"MARC::Charset" : "0.98",
"MARC::File::XML" : "v1.0.1",
"MARC::Record" : "v2.0.6",
"MARC::Record::MiJ" : "0.04",
"MIME::Base64" : "3.07",
"MIME::Lite" : "3",
"MIME::QuotedPrint" : "3.07",
"Modern::Perl" : "1.03",
"Module::Bundled::Files" : "0.03",
"Module::CPANfile" : "1.1000",
"Module::Load::Conditional" : "0.38",
"Module::Pluggable" : "3.9",
"Mojolicious" : "7.21",
"Mojolicious::Plugin::OpenAPI" : "1.15",
"Moo" : "1",
"Net::CIDR" : "0.17",
"Net::LDAP" : "0.33",
"Net::LDAP::Filter" : "0.14",
"Net::Netmask" : "1.9022",
"Net::OAuth2::AuthorizationServer" : "0.16",
"Net::SFTP::Foreign" : "1.73",
"Net::Server" : "0.97",
"Net::Stomp" : "0.57",
"Net::Z3950::SimpleServer" : "1.15",
"Net::Z3950::ZOOM" : "1.16",
"Number::Format" : "1.52",
"OpenOffice::OODoc" : "2.125",
"PDF::API2" : "2",
"PDF::FromHTML" : "0.31",
"PDF::Reuse" : "0.36",
"PDF::Reuse::Barcode" : "0.05",
"PDF::Table" : "v0.9.3",
"POSIX" : "1.09",
"Parallel::ForkManager" : "0.75",
"Plack::Middleware::LogWarn" : "0.001002",
"Plack::Middleware::ReverseProxy" : "0.14",
"Readonly" : "2.00",
"SMS::Send" : "0.05",
"Schedule::At" : "1.06",
"Search::Elasticsearch" : "5.01",
"Selenium::Remote::Driver" : "1.27",
"Sereal::Decoder" : "3.0",
"Sereal::Encoder" : "3.0",
"Storable" : "2.20",
"String::Random" : "0.22",
"Sys::CPU" : "0.52",
"Template" : ">= 2.22, != 3.008",
"Template::Plugin::HtmlToText" : "0.03",
"Template::Plugin::JSON::Escape" : "0.02",
"Template::Plugin::Stash" : "1.006",
"Term::ANSIColor" : "1.1",
"Test" : "1.25",
"Test::DBIx::Class" : "0.42",
"Test::Deep" : "0.106",
"Test::Exception" : "0.35",
"Test::Harness" : "2.56",
"Test::MockModule" : "0.05",
"Test::MockObject" : "1.09",
"Test::MockTime" : "0.13",
"Test::More" : "1.302073",
"Test::Strict" : "0.14",
"Test::WWW::Mechanize" : "1.42",
"Test::Warn" : "0.21",
"Test::YAML::Valid" : "0.04",
"Text::Bidi" : "0.03",
"Text::CSV" : "0.01",
"Text::CSV::Encoded" : "0.09",
"Text::CSV::Unicode" : "0.40",
"Text::CSV_XS" : "0.32",
"Text::Iconv" : "1.7",
"Text::PDF" : "0.29",
"Text::Unidecode" : "0.04",
"Text::Wrap" : "2005.082401",
"Time::Fake" : "0.11",
"Time::HiRes" : "1.86",
"Time::localtime" : "1.02",
"Try::Tiny" : "0.22",
"UNIVERSAL::can" : "1.10",
"UNIVERSAL::require" : "0.13",
"URI::Escape" : "3.31",
"UUID" : "0.05",
"Unicode::Normalize" : "0.32",
"WWW::CSRF" : "1.00",
"WebService::ILS" : "0.17",
"XML::Dumper" : "0.81",
"XML::LibXML" : "1.59",
"XML::LibXSLT" : "1.59",
"XML::RSS" : "1.31",
"XML::SAX::ParserFactory" : "1.01",
"XML::SAX::Writer" : "0.44",
"XML::Simple" : "2.14",
"XML::Writer" : "0.614",
"YAML" : "0.71",
"YAML::Syck" : "0.71"
}
}
},
"release_status" : "stable",
"version" : "v20.11.11.000",
"x_serialization_backend" : "JSON::PP version 4.04"
}

202
templates/MYMETA.yml Normal file
View File

@@ -0,0 +1,202 @@
---
abstract: 'Award-winning integrated library system (ILS) and Web OPAC'
author:
- 'Koha Contributors <https://koha-community.org/>'
build_requires:
ExtUtils::MakeMaker: '0'
configure_requires:
ExtUtils::MakeMaker: '0'
dynamic_config: 0
generated_by: 'ExtUtils::MakeMaker version 7.44, CPAN::Meta::Converter version 2.150010'
license: unknown
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
version: '1.4'
name: koha
no_index:
directory:
- t
- inc
requires:
Algorithm::CheckDigits: '0.5'
AnyEvent: '5.0'
AnyEvent::HTTP: '2.13'
Archive::Extract: '0.60'
Archive::Zip: '1.30'
Array::Utils: '0.5'
Authen::CAS::Client: '0.05'
Biblio::EndnoteStyle: '0.05'
Business::ISBN: '2.05'
Business::ISSN: '0.91'
Bytes::Random::Secure: '0.28'
CGI: '3.15'
CGI::Carp: '1.29'
CGI::Compile: '>= 0.17, != 0.24'
CGI::Emulate::PSGI: '0.20'
CGI::Session: '4.2'
CGI::Session::Driver::memcached: '0.04'
CGI::Session::Serialize::yaml: '4.2'
CPAN::Meta: '2.150006'
Cache::Memcached: '1.30'
Cache::Memcached::Fast::Safe: '0.06'
Class::Accessor: '0.3'
Class::Factory::Util: '1.6'
Class::Inspector: '1.31'
Clone: '0.37'
Crypt::Eksblowfish::Bcrypt: '0.008'
DBD::Mock: '1.39'
DBD::SQLite2: '0.33'
DBD::mysql: '4.004'
DBI: '1.53'
DBIx::Class::Schema::Loader: '0.07039'
DBIx::RunSQL: '0.14'
Data::Dumper: '2.121'
Data::ICal: '0.13'
Date::Calc: '5.4'
Date::Manip: '5.44'
DateTime: '0.58'
DateTime::Event::ICal: '0.08'
DateTime::Format::ICal: '0.09'
DateTime::Format::MySQL: '0.04'
DateTime::TimeZone: '1.20'
Devel::Cover: '0.89'
Digest::MD5: '2.36'
Digest::SHA: '5.43'
Email::Date: '1.103'
Email::MessageID: '1.406'
Email::Sender: '1.300030'
Email::Stuffer: '0.014'
Email::Valid: '0.190'
Exception::Class: '1.38'
File::Copy: '2.08'
File::Path: '2.07'
File::Slurp: '9999.13'
File::Temp: '0.22'
Font::TTF: '0.45'
GD: '2.39'
GD::Barcode::UPCE: '1.1'
Getopt::Long: '2.35'
Getopt::Std: '1.05'
Graphics::Magick: v1.3.5
Gravatar::URL: '1.03'
HTML::Entities: '3.69'
HTML::FormatText: '1.23'
HTML::Scrubber: '0.08'
HTTP::Cookies: '1.39'
HTTP::OAI: '3.2'
HTTP::Request::Common: '1.26'
HTTPD::Bench::ApacheBench: '0.73'
IPC::Cmd: '0.46'
JSON: '2.07'
JSON::Validator: '0.97'
LWP::Protocol::https: '5.836'
LWP::Simple: '1.41'
LWP::UserAgent: '2.033'
Library::CallNumber::LC: '0.22'
Lingua::Ispell: '0.07'
Lingua::Stem: '0.82'
Lingua::Stem::Snowball: '0.952'
List::MoreUtils: '0.21'
List::Util: '1.18'
Locale::Currency::Format: '1.28'
Locale::Language: '2.07'
Locale::Messages: '1.20'
Locale::PO: '0.24'
Locale::XGettext::TT2: '0.7'
Log::Log4perl: '1.29'
MARC::Charset: '0.98'
MARC::File::XML: v1.0.1
MARC::Record: v2.0.6
MARC::Record::MiJ: '0.04'
MIME::Base64: '3.07'
MIME::Lite: '3'
MIME::QuotedPrint: '3.07'
Modern::Perl: '1.03'
Module::Bundled::Files: '0.03'
Module::CPANfile: '1.1000'
Module::Load::Conditional: '0.38'
Module::Pluggable: '3.9'
Mojolicious: '7.21'
Mojolicious::Plugin::OpenAPI: '1.15'
Moo: '1'
Net::CIDR: '0.17'
Net::LDAP: '0.33'
Net::LDAP::Filter: '0.14'
Net::Netmask: '1.9022'
Net::OAuth2::AuthorizationServer: '0.16'
Net::SFTP::Foreign: '1.73'
Net::Server: '0.97'
Net::Stomp: '0.57'
Net::Z3950::SimpleServer: '1.15'
Net::Z3950::ZOOM: '1.16'
Number::Format: '1.52'
OpenOffice::OODoc: '2.125'
PDF::API2: '2'
PDF::FromHTML: '0.31'
PDF::Reuse: '0.36'
PDF::Reuse::Barcode: '0.05'
PDF::Table: v0.9.3
POSIX: '1.09'
Parallel::ForkManager: '0.75'
Plack::Middleware::LogWarn: '0.001002'
Plack::Middleware::ReverseProxy: '0.14'
Readonly: '2.00'
SMS::Send: '0.05'
Schedule::At: '1.06'
Search::Elasticsearch: '5.01'
Selenium::Remote::Driver: '1.27'
Sereal::Decoder: '3.0'
Sereal::Encoder: '3.0'
Storable: '2.20'
String::Random: '0.22'
Sys::CPU: '0.52'
Template: '>= 2.22, != 3.008'
Template::Plugin::HtmlToText: '0.03'
Template::Plugin::JSON::Escape: '0.02'
Template::Plugin::Stash: '1.006'
Term::ANSIColor: '1.1'
Test: '1.25'
Test::DBIx::Class: '0.42'
Test::Deep: '0.106'
Test::Exception: '0.35'
Test::Harness: '2.56'
Test::MockModule: '0.05'
Test::MockObject: '1.09'
Test::MockTime: '0.13'
Test::More: '1.302073'
Test::Strict: '0.14'
Test::WWW::Mechanize: '1.42'
Test::Warn: '0.21'
Test::YAML::Valid: '0.04'
Text::Bidi: '0.03'
Text::CSV: '0.01'
Text::CSV::Encoded: '0.09'
Text::CSV::Unicode: '0.40'
Text::CSV_XS: '0.32'
Text::Iconv: '1.7'
Text::PDF: '0.29'
Text::Unidecode: '0.04'
Text::Wrap: '2005.082401'
Time::Fake: '0.11'
Time::HiRes: '1.86'
Time::localtime: '1.02'
Try::Tiny: '0.22'
UNIVERSAL::can: '1.10'
UNIVERSAL::require: '0.13'
URI::Escape: '3.31'
UUID: '0.05'
Unicode::Normalize: '0.32'
WWW::CSRF: '1.00'
WebService::ILS: '0.17'
XML::Dumper: '0.81'
XML::LibXML: '1.59'
XML::LibXSLT: '1.59'
XML::RSS: '1.31'
XML::SAX::ParserFactory: '1.01'
XML::SAX::Writer: '0.44'
XML::Simple: '2.14'
XML::Writer: '0.614'
YAML: '0.71'
YAML::Syck: '0.71'
version: v20.11.11.000
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'

18378
templates/Makefile Normal file

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,108 @@
#intranet
<VirtualHost *:80>
ServerName {{ koha_intranet_hostname }}
RedirectMatch permanent / https://{{ koha_intranet_hostname }}
</VirtualHost>
<VirtualHost *:443>
ServerAdmin webmaster@sciencespo-lyon.lan
DocumentRoot {{ koha_install_dir }}/intranet/htdocs
ServerName {{ koha_intranet_hostname }}
ScriptAlias /cgi-bin/koha/ "{{ koha_install_dir }}/intranet/cgi-bin/"
ScriptAlias /index.html "{{ koha_install_dir }}/intranet/cgi-bin/mainpage.pl"
ScriptAlias /search "{{ koha_install_dir }}/intranet/cgi-bin/catalogue/search.pl"
Alias /plugin/ "{{ koha_install_dir }}/var/lib/koha/plugins/"
ErrorLog {{ koha_install_dir }}/var/log/koha-error_log
TransferLog {{ koha_install_dir }}/var/log/koha-access.log
SetEnv KOHA_CONF "{{ koha_install_dir }}/etc/koha-conf.xml"
SetEnv PERL5LIB "{{ koha_install_dir }}/lib"
SetEnv MEMCACHED_SERVERS "127.0.0.1:11211"
SetEnv MEMCACHED_NAMESPACE "koha_library"
SetEnv DEBUG 1
Options +FollowSymLinks
SSLEngine on
SSLProtocol all -SSLv2
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
SSLCertificateFile /usr/local/share/ca-certificates/sigb_sciencespo-lyon_fr.crt
SSLCertificateKeyFile /usr/local/share/ca-certificates/sigb_sciencespo-lyon_fr.key
SSLCertificateChainFile /usr/local/share/ca-certificates/sigb_sciencespo-lyon_fr.chain
ErrorDocument 400 /cgi-bin/koha/errors/400.pl
ErrorDocument 401 /cgi-bin/koha/errors/401.pl
ErrorDocument 403 /cgi-bin/koha/errors/403.pl
ErrorDocument 404 /cgi-bin/koha/errors/404.pl
ErrorDocument 500 /cgi-bin/koha/errors/500.pl
<Location />
require all granted
</Location>
Include /etc/koha/apache-shared-api-acl.conf
Include /etc/koha/apache-shared-intranet-plack.conf
<Directory "{{ koha_install_dir }}/intranet/htdocs">
Options -Indexes
</Directory>
# Secure internal stuff
<IfModule mod_deflate.c>
# Compress content with type html, text, and css, ...
AddOutputFilterByType DEFLATE text/plain text/html text/xml text/css
AddOutputFilterByType DEFLATE application/xml application/xhtml+xml application/rss+xml application/javascript application/x-javascript
DeflateCompressionLevel 9
# Properly handle old browsers that do not support compression
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
DeflateFilterNote Input instream
DeflateFilterNote Output outstream
DeflateFilterNote Ratio ratio
LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%)' deflate
<IfModule mod_headers.c>
#properly handle requests coming from behind proxies
Header append Vary User-Agent
</IfModule>
</IfModule>
<IfModule mod_rewrite.c>
# Rewrite Rules
RewriteEngine On
# Uncomment to turn on rewrite logging
#RewriteLog {{ koha_install_dir }}/var/log/koha-intranet-rewrite.log
#RewriteLogLevel 1
#The following two directives are unnecessary to proper Koha functioning.
#RewriteCond %{QUERY_STRING} (.*?)(?:[A-Za-z0-9_-]+)=&(.*)
#RewriteRule (.+) $1?%1%2 [N,R,NE]
RewriteRule ^/bib/([^\/]*)/?$ /cgi-bin/koha/detail\.pl?bib=$1 [PT]
RewriteRule ^/isbn/([^\/]*)/?$ /search?q=isbn:$1 [PT]
RewriteRule ^/issn/([^\/]*)/?$ /search?q=issn:$1 [PT]
RewriteRule ^(.*)_[0-9]{2}\.[0-9]{7}\.(js|css)$ $1.$2 [L]
# REST API configuration
Alias "/api" "{{ koha_install_dir }}/api"
<Directory {{ koha_install_dir }}/api>
Options +ExecCGI +FollowSymlinks
AddHandler cgi-script .pl
SetEnv MOJO_MODE "production"
RewriteEngine On
RewriteBase /api/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/../api/$1/app.pl -f
RewriteRule ^(.*?)/.* $1/app.pl/api/$0 [L]
</Directory>
</IfModule>
</VirtualHost>

134
templates/koha-opac.conf Normal file
View File

@@ -0,0 +1,134 @@
# OPAC
<VirtualHost *:80>
ServerName {{ koha_opac_hostname }}
RedirectMatch permanent / https://{{ koha_opac_hostname }}
</virtualHost>
<VirtualHost *:443>
ServerAdmin webmaster@sciencespo-lyon.lan
DocumentRoot {{ koha_install_dir }}/opac/htdocs
ServerName {{ koha_opac_hostname }}
ServerAlias sv-{{ koha_opac_hostname }}
ServerAlias localhost
ErrorLog {{ koha_install_dir }}/var/log/koha-opac-error_log
CustomLog {{ koha_install_dir }}/var/log/koha-opac-access.log combined
SetEnv KOHA_CONF "{{ koha_install_dir }}/etc/koha-conf.xml"
SetEnv PERL5LIB "{{ koha_install_dir }}/lib"
SetEnv MEMCACHED_SERVERS "127.0.0.1:11221"
SetEnv MEMCACHED_NAMESPACE "koha_library"
Include /etc/koha/apache-shared-opac-plack.conf
SSLEngine on
SSLProtocol all -SSLv2
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
SSLCertificateFile /usr/local/share/ca-certificates/catalogue_sciencespo-lyon_fr.crt
SSLCertificateKeyFile /usr/local/share/ca-certificates/catalogue_sciencespo-lyon_fr.key
SSLCertificateChainFile /usr/local/share/ca-certificates/catalogue_sciencespo-lyon_fr.chain
<Directory "{{ koha_install_dir }}/opac/htdocs">
Options -Indexes
</Directory>
<Location />
require all granted
</Location>
ErrorDocument 400 /cgi-bin/koha/errors/400.pl
ErrorDocument 401 /cgi-bin/koha/errors/401.pl
ErrorDocument 403 /cgi-bin/koha/errors/403.pl
ErrorDocument 404 /cgi-bin/koha/errors/404.pl
ErrorDocument 500 /cgi-bin/koha/errors/500.pl
# Secure internal stuff
<DirectoryMatch "{{ koha_install_dir }}/opac/htdocs/.*/(modules|xslt|includes)">
Require all denied
</DirectoryMatch>
<IfModule mod_gzip.c>
mod_gzip_on yes
mod_gzip_dechunk yes
mod_gzip_keep_workfiles No
mod_gzip_can_negotiate yes
mod_gzip_update_static No
mod_gzip_temp_dir /tmp
mod_gzip_minimum_file_size 512
mod_gzip_maximum_file_size 1000000
mod_gzip_maximum_inmem_size 1000000
mod_gzip_handle_methods GET POST
mod_gzip_item_exclude reqheader "User-Agent: .*Mozilla/4\..*\["
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader Content-Type:image/*
mod_gzip_item_include file \.js$
mod_gzip_item_include mime ^application/javascript$
mod_gzip_item_include mime ^application/x-javascript$
mod_gzip_item_include file \.php$
mod_gzip_item_include mime ^text/html$
mod_gzip_item_include file \.css$
mod_gzip_item_include mime ^text/css$
</IfModule>
<IfModule mod_deflate.c>
# Compress content with type html, text, and css, ...
AddOutputFilterByType DEFLATE text/plain text/html text/xml text/css
AddOutputFilterByType DEFLATE application/xml application/xhtml+xml application/rss+xml application/javascript application/x-javascript
DeflateCompressionLevel 9
# Properly handle old browsers that do not support compression
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
DeflateFilterNote Input instream
DeflateFilterNote Output outstream
DeflateFilterNote Ratio ratio
LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%)' deflate
<IfModule mod_headers.c>
#properly handle requests coming from behind proxies
Header append Vary User-Agent
</IfModule>
</IfModule>
Options +FollowSymLinks
ErrorDocument 400 /cgi-bin/koha/errors/400.pl
ErrorDocument 401 /cgi-bin/koha/errors/401.pl
ErrorDocument 403 /cgi-bin/koha/errors/403.pl
ErrorDocument 404 /cgi-bin/koha/errors/404.pl
ErrorDocument 500 /cgi-bin/koha/errors/500.pl
Include /etc/koha/apache-shared-api-acl.conf
<IfModule mod_rewrite.c>
# Rewrite Rules
RewriteEngine On
#The following two directives are unnecessary to proper Koha functioning.
RewriteCond %{QUERY_STRING} (.*?)(?:[A-Za-z0-9_-]+)=&(.*)
RewriteRule (.+) $1?%1%2 [N,R,NE]
RewriteRule ^/bib/([^\/]*)/?$ /cgi-bin/koha/opac-detail\.pl?bib=$1 [PT]
RewriteRule ^/isbn/([^\/]*)/?$ /search?q=isbn:$1 [PT]
RewriteRule ^/issn/([^\/]*)/?$ /search?q=issn:$1 [PT]
RewriteRule ^(.*)_[0-9]{2}\.[0-9]{7}\.(js|css)$ $1.$2 [L]
# REST API configuration
Alias "/api" "{{ koha_install_dir }}/api"
<Directory {{ koha_install_dir }}/api>
Options +ExecCGI +FollowSymlinks
AddHandler cgi-script .pl
SetEnv MOJO_MODE "production"
RewriteEngine On
RewriteBase /api/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/../api/$1/app.pl -f
RewriteRule ^(.*?)/.* $1/app.pl/api/$0 [L]
</Directory>
</IfModule>
</VirtualHost>

3
templates/koha.env.sh Normal file
View File

@@ -0,0 +1,3 @@
export KOHA_CONF={{ koha_install_dir }}/etc/koha-conf.xml
export KOHA_CRON_PATH={{ koha_install_dir }}/bin/cronjobs
export PERL5LIB={{ koha_install_dir }}/lib