#!/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=`readlink -f $0`; here=`dirname $here` mkdir -p $1 root=`readlink -f $1` 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` mkdir -p $4 htdocs=`readlink -f $4` user=`id -un` group=`id -gn` modules_prefix=`cat $here/httpd-modules.prefix` mkdir -p $root mkdir -p $root/logs mkdir -p $root/conf cat >$root/conf/httpd.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 mod_tuscany_ssltunnel $here/libmod_tuscany_ssltunnel.so # Basic security precautions User $user Group $group ServerSignature Off ServerTokens Prod Timeout 45 LimitRequestBody 1048576 HostNameLookups Off # Log HTTP requests # [timestamp] [access] remote-host remote-ident remote-user "request-line" # status response-size "referrer" "user-agent" "user-track" local-IP # virtual-host response-time bytes-received bytes-sent LogLevel info ErrorLog $root/logs/error_log LogFormat "[%{%a %b %d %H:%M:%S %Y}t] [access] %h %l %u \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\" \"%{cookie}n\" %A %V %D %I %O" combined CustomLog $root/logs/access_log combined CookieTracking on CookieName TuscanyVisitorId # Configure Mime types DefaultType text/plain TypesConfig $here/conf/mime.types # Set default document root DocumentRoot $htdocs DirectoryIndex index.html # Protect server files Options None AllowOverride None Order deny,allow Deny from all Order deny,allow Deny from all Satisfy Any # Allow access to document root Options FollowSymLinks Allow from all # Allow access to root location Options FollowSymLinks Order deny,allow Allow from all # Listen on HTTP port Listen $listen # Setup HTTP virtual host ServerName http://$host:$pport RewriteEngine on RewriteCond %{HTTP_HOST} !^$host [NC] RewriteRule .* http://$host:$pport%{REQUEST_URI} [R,L] Include conf/svhost.conf EOF # Generate vhost configuration cat >$root/conf/vhost.conf <$root/conf/svhost.conf <$root/conf/dvhost.conf <