From c9bfccc35345ce58fb5774d4b0b6a9868b262c0a Mon Sep 17 00:00:00 2001 From: giorgio Date: Wed, 5 Sep 2012 08:31:30 +0000 Subject: git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1381061 13f79535-47bb-0310-9956-ffa450edef68 --- .../lightweight-sca/modules/http/httpd-conf | 375 +++++++++++++++++++++ 1 file changed, 375 insertions(+) create mode 100755 sca-cpp/branches/lightweight-sca/modules/http/httpd-conf (limited to 'sca-cpp/branches/lightweight-sca/modules/http/httpd-conf') diff --git a/sca-cpp/branches/lightweight-sca/modules/http/httpd-conf b/sca-cpp/branches/lightweight-sca/modules/http/httpd-conf new file mode 100755 index 0000000000..730775fa89 --- /dev/null +++ b/sca-cpp/branches/lightweight-sca/modules/http/httpd-conf @@ -0,0 +1,375 @@ +#!/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. + +# Generate a minimal HTTPD configuration +here=`echo "import os; print os.path.realpath('$0')" | python`; here=`dirname $here` +mkdir -p $1 +root=`echo "import os; print os.path.realpath('$1')" | python` + +host=$2 +port=`$here/httpd-addr port $3` +pport=`$here/httpd-addr pport $3` +listen=`$here/httpd-addr listen $3` +vhost=`$here/httpd-addr vhost $3` +if [ "$pport" = "80" ]; then + pportsuffix="" +else + pportsuffix=":$pport" +fi + +mkdir -p $4 +htdocs=`echo "import os; print os.path.realpath('$4')" | python` + +user=`id -un` +group=`id -gn` + +uname=`uname -s` +if [ $uname = "Darwin" ]; then + libsuffix=".dylib" + sendfile=Off +else + libsuffix=".so" + sendfile=On +fi + +modules_prefix=`cat $here/httpd-modules.prefix` + +mkdir -p $root +mkdir -p $root/logs +mkdir -p $root/conf +cat >$root/conf/httpd.conf <s %b \"%{Referer}i\" \"%{User-agent}i\" \"%{cookie}n\" %A %V %D %I %O %{mod_security-message}i" combined +Include conf/log.conf + +# Configure Mime types and default charsets +TypesConfig $here/conf/mime.types +AddDefaultCharset utf-8 +AddCharset utf-8 .html .js .css + +# Configure cache control + +ExpiresActive On +ExpiresDefault A604800 +Header onsuccess merge Cache-Control public env=!private-cache + + +# Enable Linux Kernel sendfile +EnableSendFile $sendfile + +# Configure auth modules +Include conf/auth.conf + +# Set default document root +DocumentRoot $htdocs +DirectoryIndex index-min.html index.html + +# Protect server files + +Options None +AllowOverride None +Require all denied + + +# Configure output filters to enable compression and rate limiting + +#SetOutputFilter RATE_LIMIT;DEFLATE +SetOutputFilter DEFLATE + +BrowserMatch ^Mozilla/4 gzip-only-text/html +BrowserMatch ^Mozilla/4\.0[678] no-gzip +BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html +BrowserMatch ^check_http/ check_http +SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary +Header append Vary User-Agent env=!dont-vary + +#SetEnv rate-limit 400 + + +# Listen on HTTP port +Listen $listen + +# Setup HTTP virtual host + +ServerName http://$host$pportsuffix + + +RewriteEngine on +Include conf/hostcond.conf +RewriteCond %{HTTP:X-Forwarded-Server} ^$ [NC] +RewriteCond %{REQUEST_URI} !^/server-status [NC] +RewriteCond %{REQUEST_URI} !^/balancer-manager [NC] +RewriteCond %{REQUEST_URI} !^/proxy/ [NC] +RewriteRule .* http://$host$pportsuffix%{REQUEST_URI} [R] + + +Include conf/svhost.conf + +# Configure authentication +Include conf/noauth.conf +Include conf/locauth.conf +Include conf/pubauth.conf +Include conf/adminauth.conf + + + +EOF + +# Configure logging +cat >$root/conf/log.conf <$root/conf/mpm.conf <>$root/conf/mpm.conf <$root/conf/modules.conf < +LoadModule log_config_module ${modules_prefix}/modules/mod_log_config.so + +LoadModule logio_module ${modules_prefix}/modules/mod_logio.so +LoadModule usertrack_module ${modules_prefix}/modules/mod_usertrack.so +LoadModule vhost_alias_module ${modules_prefix}/modules/mod_vhost_alias.so +LoadModule cgi_module ${modules_prefix}/modules/mod_cgi.so +LoadModule actions_module ${modules_prefix}/modules/mod_actions.so +LoadModule unixd_module ${modules_prefix}/modules/mod_unixd.so +LoadModule session_module ${modules_prefix}/modules/mod_session.so +LoadModule session_crypto_module ${modules_prefix}/modules/mod_session_crypto.so +LoadModule slotmem_shm_module ${modules_prefix}/modules/mod_slotmem_shm.so +LoadModule ratelimit_module ${modules_prefix}/modules/mod_ratelimit.so +LoadModule reqtimeout_module ${modules_prefix}/modules/mod_reqtimeout.so +LoadModule ssl_module ${modules_prefix}/modules/mod_ssl.so + +EOF + +# Generate auth configuration +cat >$root/conf/auth.conf <$root/conf/locauth.conf < +Options FollowSymLinks +Require all granted + + +# Allow authorized access to root location + +Options FollowSymLinks +AuthUserFile "$root/conf/httpd.passwd" +AuthGroupFile "$root/conf/httpd.groups" +Require all granted + + +EOF + +cat >$root/conf/pubauth.conf < +AuthType None +Require all granted +# Mark login page with a header +Header set X-Login open-auth + + +AuthType None +Require all granted + + +AuthType None +Require all granted + + +AuthType None +Require all granted + + +AuthType None +Require all granted + + +AuthType None +Require all granted + + +EOF + +cat >$root/conf/adminauth.conf < +Require user admin + + +EOF + +# Create password and group files +cat >$root/conf/httpd.passwd <$root/conf/httpd.groups <$root/conf/noauth.conf < +AuthType None +Require all granted + + +# Allow everyone to access root location + +AuthType None +Require all granted + + +EOF + +# Generate vhost configuration +cat >$root/conf/vhost.conf < +SetHandler server-status +HostnameLookups on + + +EOF + +cat >$root/conf/svhost.conf <$root/conf/dvhost.conf <$root/conf/hostcond.conf <