| #!/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` |
| root=`readlink -f $1` |
| host=$2 |
| port=$3 |
| htdocs=`readlink -f $4` |
| user=`id -un` |
| group=`id -gn` |
| |
| mkdir -p $root |
| mkdir -p $root/logs |
| mkdir -p $root/conf |
| cat >$root/conf/httpd.conf <<EOF |
| # Apache HTTPD server configuration |
| |
| # Set server name |
| ServerName $host |
| |
| # Basic security precautions |
| User $user |
| Group $group |
| ServerSignature Off |
| ServerTokens Prod |
| Timeout 45 |
| LimitRequestBody 1048576 |
| HostNameLookups Off |
| |
| # Logging |
| ErrorLog $root/logs/error_log |
| LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined |
| CustomLog $root/logs/access_log combined |
| LogLevel warn |
| |
| # Configure Mime types |
| DefaultType text/plain |
| TypesConfig $here/conf/mime.types |
| |
| # Set document root |
| DocumentRoot $htdocs |
| DirectoryIndex index.html |
| |
| # Protect server files |
| <Directory /> |
| Options None |
| AllowOverride None |
| Order deny,allow |
| Deny from all |
| </Directory> |
| <FilesMatch "^\.ht"> |
| Order deny,allow |
| Deny from all |
| Satisfy Any |
| </FilesMatch> |
| |
| # Allow access to document root |
| <Directory "$htdocs"> |
| Options +SymLinksIfOwnerMatch |
| Allow from all |
| </Directory> |
| |
| # Allow access to service components |
| <Location /> |
| Options +SymLinksIfOwnerMatch |
| Allow from all |
| </Location> |
| |
| # Setup HTTP virtual host |
| Listen $port |
| <VirtualHost _default_:$port> |
| |
| </VirtualHost> |
| |
| EOF |
| |