summaryrefslogtreecommitdiffstats
path: root/sca-cpp/trunk/hosting/server/proxy-start
diff options
context:
space:
mode:
Diffstat (limited to 'sca-cpp/trunk/hosting/server/proxy-start')
-rwxr-xr-xsca-cpp/trunk/hosting/server/proxy-start164
1 files changed, 164 insertions, 0 deletions
diff --git a/sca-cpp/trunk/hosting/server/proxy-start b/sca-cpp/trunk/hosting/server/proxy-start
new file mode 100755
index 0000000000..f06de9fc01
--- /dev/null
+++ b/sca-cpp/trunk/hosting/server/proxy-start
@@ -0,0 +1,164 @@
+#!/bin/sh
+
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# For this module to work, add the www.example.com domain to your /etc/hosts as
+# follows:
+# 127.0.0.1 www.example.com
+
+here=`echo "import os; print os.path.realpath('$0')" | python`; here=`dirname $here`
+
+# Configure and start logging
+if [ -x ../../components/log/scribe-cat ]; then
+ ../../components/log/scribed-central-conf tmp
+ ../../components/log/scribed-client-conf tmp localhost
+ ../../components/log/scribed-central-start tmp
+ ../../components/log/scribed-client-start tmp
+fi
+
+# Start memcached
+../../components/cache/memcached-start tmp 11211
+../../components/cache/memcached-start tmp 11212
+
+# Configure server
+../../modules/http/httpd-conf tmp www.example.com 9090 htdocs
+../../modules/http/httpd-event-conf tmp
+
+# Configure Python component support
+../../modules/server/server-conf tmp
+../../modules/python/python-conf tmp
+
+# Configure server log streaming
+if [ -x ../../components/log/scribe-cat ]; then
+ cat >tmp/conf/log.conf <<EOF
+# Generated by: proxy-start $*
+LogLevel notice
+ErrorLog "|$here/../../components/log/scribe-cat localhost server"
+CustomLog "|$here/../../components/log/scribe-cat localhost server" combined
+
+EOF
+
+fi
+#../../modules/http/httpd-loglevel-conf tmp debug
+
+# Configure error pages
+cat >>tmp/conf/svhost.conf <<EOF
+# Generated by: proxy-start $*
+# Error pages
+ErrorDocument 404 /public/notfound/
+ErrorDocument 401 /public/notauth/
+ErrorDocument 403 /public/notauth/
+ErrorDocument 400 /public/oops/
+ErrorDocument 405 /public/oops/
+ErrorDocument 500 /public/oops/
+ErrorDocument 502 /public/oops/
+ErrorDocument 503 /public/oops/
+
+EOF
+
+# Configure SCA contributions
+cat >>tmp/conf/httpd.conf <<EOF
+# Generated by: proxy-start $*
+# Configure SCA Composite
+SCAContribution $here/
+SCAComposite server.composite
+
+# Configure SCA Composite for mass dynamic virtual Hosting
+#SCAVirtualContribution $here/data/apps/
+#SCAVirtualComposite app.composite
+SCAVirtualContributor Composites
+
+# Configure SCA wiring timeout
+SCAWiringTimeout 10
+
+EOF
+
+# Configure resource aliases
+cat >>tmp/conf/httpd.conf <<EOF
+# Generated by: proxy-start $*
+Alias /home/home.png $here/htdocs/home/home.png
+Alias /home/home.b64 $here/htdocs/home/home.b64
+Alias /proxy/public/config.js $here/htdocs/public/config.js
+Alias /proxy/public/config-min.js $here/public/config-min.js
+
+EOF
+
+# Configure app resource aliases
+cat >>tmp/conf/svhost.conf <<EOF
+# Generated by: proxy-start $*
+# Map /v/<app-name>/<path> to htdocs/app/<path>
+AliasMatch /v/([^/]+)(.*)$ $here/htdocs/app\$2
+
+EOF
+
+# Start server
+../../modules/http/httpd-start tmp
+
+# Clear document cache
+rm -rf tmp/proxy/cache
+
+# Configure proxy balancer
+../../modules/http/httpd-conf tmp/proxy www.example.com 8090 tmp/htdocs
+../../modules/http/alt-host-conf tmp/proxy ww1.example.com
+../../modules/http/alt-host-conf tmp/proxy ww2.example.com
+../../modules/http/proxy-conf tmp/proxy
+../../modules/js/js-conf tmp/proxy
+../../modules/http/httpd-event-conf tmp/proxy
+#../../modules/http/cache-conf tmp/proxy
+
+# Configure proxy balancer members
+../../modules/http/proxy-member-conf tmp/proxy localhost 9090
+
+# Configure proxy log streaming
+if [ -x ../../components/log/scribe-cat ]; then
+ cat >tmp/proxy/conf/log.conf <<EOF
+# Generated by: proxy-start $*
+ErrorLog "|$here/../../components/log/scribe-cat www.example.com proxy"
+CustomLog "|$here/../../components/log/scribe-cat www.example.com access" combined
+
+EOF
+
+fi
+#../../modules/http/httpd-loglevel-conf tmp/proxy debug
+
+# Configure resource aliases
+cat >>tmp/proxy/conf/httpd.conf <<EOF
+# Generated by: proxy-start $*
+Alias /proxy/public/config.js $here/htdocs/public/config.js
+Alias /proxy/public/config-min.js $here/htdocs/public/config-min.js
+
+EOF
+
+# Configure error pages
+cat >>tmp/proxy/conf/vhost.conf <<EOF
+# Generated by: proxy-start $*
+# Error pages
+ErrorDocument 404 /proxy/public/oops/
+ErrorDocument 401 /proxy/public/oops/
+ErrorDocument 403 /proxy/public/oops/
+ErrorDocument 400 /proxy/public/oops/
+ErrorDocument 405 /proxy/public/oops/
+ErrorDocument 500 /proxy/public/oops/
+ErrorDocument 502 /proxy/public/oops/
+ErrorDocument 503 /proxy/public/oops/
+
+EOF
+
+# Start proxy balancer
+../../modules/http/httpd-start tmp/proxy
+