[Koha-patches] [PATCH 2/5] Bug 13791: Apache configuration files

Tomas Cohen Arazi tomascohen at gmail.com
Fri Aug 14 21:14:16 CEST 2015


From: Tomas Cohen Arazi <tomascohen at theke.io>

This patch adds an include to each VirtualHost definition (OPAC and Intranet)
and a variable definition, taking advantage of Apache 2.4.x features.

The instance name is reused inside the includes providing a simple way of
dealing with the apache <-> plack configuration.

A check for the right apache version is introduced, in the for of an IfVersion block:

<IfVersion >= 2.4>
  --- Plack configuration here ---
</IfVersion>
---
 debian/templates/apache-shared-intranet-plack.conf | 25 ++++++++++++++++++++++
 debian/templates/apache-shared-opac-plack.conf     | 25 ++++++++++++++++++++++
 debian/templates/apache-site.conf.in               |  8 +++++++
 3 files changed, 58 insertions(+)
 create mode 100644 debian/templates/apache-shared-intranet-plack.conf
 create mode 100644 debian/templates/apache-shared-opac-plack.conf

diff --git a/debian/templates/apache-shared-intranet-plack.conf b/debian/templates/apache-shared-intranet-plack.conf
new file mode 100644
index 0000000..d591a00
--- /dev/null
+++ b/debian/templates/apache-shared-intranet-plack.conf
@@ -0,0 +1,25 @@
+# Apache configuration settings that are shared for every Koha instance.
+# This file contains settings for the Plack configuration of the intranet.
+#
+# This file should be included from an instance's 
+# /etc/apache2/site-available file, from within the VirtualHost section
+# for the intranet.
+
+# Plack is only available out-of-the-box for Apache 2.4.7+ setups
+<IfVersion >= 2.4>
+    <IfModule mod_proxy_http.c>
+
+        ProxyPreserveHost On
+
+       # RequestHeader set X-FORWARDED-PROTO "https"
+
+        # Point the intranet site to Plack
+        ProxyPass /cgi-bin/koha "unix:/var/run/koha/${instance}/plack.sock|http://localhost/intranet"
+        ProxyPassReverse /cgi-bin/koha "unix:/var/run/koha/${instance}/plack.sock|http://localhost/intranet"
+
+        # Point the /api endpoint to Plack
+       # ProxyPass /api "unix:/var/run/koha/${instance}/plack.sock|http://localhost/api"
+       # ProxyPassReverse /api "unix:/var/run/koha/${instance}/plack.sock|http://localhost/api"
+
+    </IfModule>
+</IfVersion>
diff --git a/debian/templates/apache-shared-opac-plack.conf b/debian/templates/apache-shared-opac-plack.conf
new file mode 100644
index 0000000..80e69ac
--- /dev/null
+++ b/debian/templates/apache-shared-opac-plack.conf
@@ -0,0 +1,25 @@
+# Apache configuration settings that are shared for every Koha instance.
+# This file contains settings for the Plack configuration of the OPAC.
+#
+# This file should be included from an instance's 
+# /etc/apache2/site-available file, from within the VirtualHost section
+# for the OPAC.
+
+# Plack is only available out-of-the-box for Apache 2.4.7+ setups
+<IfVersion >= 2.4>
+    <IfModule mod_proxy_http.c>
+
+        ProxyPreserveHost On
+
+       # RequestHeader set X-FORWARDED-PROTO "https"
+
+        # Point the intranet site to Plack
+        ProxyPass /cgi-bin/koha/opac "unix:/var/run/koha/${instance}/plack.sock|http://localhost/opac"
+        ProxyPassReverse /cgi-bin/koha/opac "unix:/var/run/koha/${instance}/plack.sock|http://localhost/opac"
+
+        # Point the /api endpoint to Plack
+       # ProxyPass /api "unix:/var/run/koha/${instance}/plack.sock|http://localhost/api"
+       # ProxyPassReverse /api "unix:/var/run/koha/${instance}/plack.sock|http://localhost/api"
+
+    </IfModule>
+</IfVersion>
diff --git a/debian/templates/apache-site.conf.in b/debian/templates/apache-site.conf.in
index dd30bc6..73d9201 100644
--- a/debian/templates/apache-site.conf.in
+++ b/debian/templates/apache-site.conf.in
@@ -2,8 +2,12 @@
 
 # OPAC
 <VirtualHost *:__OPACPORT__>
+  <IfVersion >= 2.4>
+   Define instance "__KOHASITE__"
+  </IfDefine>
    Include /etc/koha/apache-shared.conf
 #  Include /etc/koha/apache-shared-disable.conf
+#  Include /etc/koha/apache-shared-opac-plack.conf
    Include /etc/koha/apache-shared-opac.conf
 
    ServerName __OPACSERVER__
@@ -19,8 +23,12 @@
 
 # Intranet
 <VirtualHost *:__INTRAPORT__>
+  <IfVersion >= 2.4>
+   Define instance "__KOHASITE__"
+  </IfDefine>
    Include /etc/koha/apache-shared.conf
 #  Include /etc/koha/apache-shared-disable.conf
+#  Include /etc/koha/apache-shared-intranet-plack.conf
    Include /etc/koha/apache-shared-intranet.conf
    
    ServerName __INTRASERVER__
-- 
2.5.0



More information about the Koha-patches mailing list