summaryrefslogtreecommitdiff
path: root/strata/apache-httpd-server/httpd-server.morph
diff options
context:
space:
mode:
authorFrancisco Redondo Marchena <francisco.marchena@codethink.co.uk>2015-02-12 13:02:00 +0000
committerFrancisco Redondo Marchena <francisco.marchena@codethink.co.uk>2015-02-12 13:02:00 +0000
commitf8eb83406fba143734ae81fee0f9f8d633e6b2ae (patch)
treedc2b789fa1818c7416441a5e08d7a1a3fa085e54 /strata/apache-httpd-server/httpd-server.morph
parent1319309d3ff4eb85cb0e7e6cb178cb56ff116524 (diff)
downloaddefinitions-baserock/franred/add-apache-httpd-stratum.tar.gz
Add apache httpd server and mod_wsgi modulebaserock/franred/add-apache-httpd-stratum
Add apache-httpd server and mod_wsgi which is a module to host any python application with python wsgi inteface. NOTE: apache-httpd server need to configure an user and group to run this can not be configured in this patch because some bug when changing owners of files and directories in system-integration commands. See more information on httpd-server.morph chunk
Diffstat (limited to 'strata/apache-httpd-server/httpd-server.morph')
-rw-r--r--strata/apache-httpd-server/httpd-server.morph60
1 files changed, 60 insertions, 0 deletions
diff --git a/strata/apache-httpd-server/httpd-server.morph b/strata/apache-httpd-server/httpd-server.morph
new file mode 100644
index 00000000..ffaf28fd
--- /dev/null
+++ b/strata/apache-httpd-server/httpd-server.morph
@@ -0,0 +1,60 @@
+name: httpd-server
+kind: chunk
+configure-commands:
+- ./buildconf --with-apr=/usr/share/apr-1
+- |
+ ./configure --prefix="$PREFIX" \
+ --libdir="$PREFIX"/lib \
+ --sysconfdir="$PREFIX"/httpd/conf \
+ --includedir="$PREFIX"/httpd \
+ --libexecdir="$PREFIX"/lib/httpd/modules \
+ --datadir=/srv/www \
+ --enable-layout=RedHat \
+ --enable-mpms-shared=all \
+ --with-apr=/usr/bin/apr-2-config \
+ --with-apr-util=/usr/bin/apu-1-config \
+ --enable-suexec --with-suexec \
+ --with-suexec-caller=apache \
+ --with-suexec-docroot=/srv/www \
+ --with-suexec-logfile=/var/log/httpd/suexec.log \
+ --with-suexec-bin=/usr/lib/httpd/suexec \
+ --with-suexec-uidmin=500 --with-suexec-gidmin=100\
+ --with-suexec-userdir=public_html \
+ --enable-pie \
+ --with-pcre \
+ --enable-mods-shared=all \
+ --enable-ssl --with-ssl \
+ --enable-case-filter --enable-case-filter-in \
+ --enable-cgid --enable-cgi\
+ --enable-so
+build-commands:
+- make
+install-commands:
+- PREFIX="$PREFIX" DESTDIR="$DESTDIR" make install
+post-install-commands:
+# Add perl interpreter path to apxs script, required for loading mod_wsgi.
+- |
+ sed -i 's|#!/replace/with/path/to/perl/interpreter -w|#!/usr/bin/perl -w|g' \
+ "$DESTDIR$PREFIX"/bin/apxs
+# Add conf.d directory where apache will look for other configurations to load.
+- mkdir -p "$DESTDIR$PREFIX"/httpd/conf.d
+- echo 'Include /usr/httpd/conf.d/*.conf' >> "$DESTDIR$PREFIX"/httpd/conf/httpd.conf
+####################################################################################
+# This chunk should add an apache user and an apache group, create the apache home
+# directory and move suexec to /usr/lib/httpd/suexec as system-integration time.
+# This is not possible due a bug in linux-chroot which does not allow to change
+# the owners of directories or files. So for now you should create an script
+# which includes the following commands:
+# - mkdir -p /srv/www
+# - groupadd -r apache
+# - |
+# useradd -c "Apache Server" -d /srv/www -g apache \
+# -s /bin/false apache
+#
+# - mkdir -p /usr/lib/httpd
+# - mv -v /usr/bin/suexec /usr/lib/httpd/suexec
+# - chgrp apache /usr/lib/httpd/suexec
+# - chmod 4754 /usr/lib/httpd/suexec
+# - chown -R apache:apache /srv/www
+####################################################################################
+