#!/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` # Create SSL certificates ../../modules/http/ssl-ca-conf tmp www.example.com ../../modules/http/ssl-cert-conf tmp www.example.com server # 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 database ../../components/sqldb/pgsql-conf tmp # Start database ../../components/sqldb/pgsql-start tmp # Load database tables ./drop-tables 1>/dev/null 2>/dev/null ./create-tables >/dev/null ./load-tables >/dev/null # Clear document cache rm -rf tmp/cache # Configure server ../../modules/http/httpd-conf tmp www.example.com 8090 htdocs ../../modules/http/alt-host-conf tmp ww1.example.com ../../modules/http/alt-host-conf tmp ww2.example.com ../../modules/http/httpd-event-conf tmp #../../modules/http/cache-conf tmp ../../modules/http/httpd-ssl-conf tmp 8453 #../../modules/http/cache-ssl-conf tmp # Configure HTTP basic auth ../../modules/http/basic-auth-conf tmp component # Configure OAuth authentication # Configure your OAuth app keys here ../../modules/oauth/oauth-conf tmp component ../../modules/oauth/oauth-memcached-conf tmp localhost 11212 ../../modules/oauth/oauth2-appkey-conf tmp facebook.com 12345 67890 ../../modules/oauth/oauth2-appkey-conf tmp google.com 12345 67890 # Configure form-based authentication ../../modules/http/open-auth-conf tmp component 80b67f38-b79e-4a72-bb5c-22c69fb00820 # Configure authorized admins ../../modules/http/passwd-auth-conf tmp admin admin # Configure mod-security #../../modules/http/mod-security-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 <tmp/conf/log-ssl.conf <tmp/conf/mod-security-log.conf <>tmp/conf/svhost-ssl.conf < ForceType application/x-x509-ca-cert EOF # Configure error pages cat >>tmp/conf/svhost-ssl.conf <>tmp/conf/httpd.conf <>tmp/conf/httpd.conf <>tmp/conf/svhost-ssl.conf </ to htdocs/app/ AliasMatch /v/([^/]+)(.*)$ $here/htdocs/app\$2 EOF # Configure admin access to server status and info cat >tmp/conf/adminauth.conf < AuthType None Require all granted AuthType None Require all granted EOF # Configure admin access to components cat >>tmp/conf/locauth-ssl.conf < Require user admin Require user admin Require valid-user Require valid-user EOF # Start server ../../modules/http/httpd-start tmp sleep 2 # Configure authorized users ./put-auth tmp admin admin admin admin ./put-auth tmp admin admin john john ./put-auth tmp admin admin jane jane # Configure the email addresses associated with your OAuth ids here ./put-auth tmp admin admin /oauth1/john@example.com password ./put-auth tmp admin admin /oauth2/jane@example.com password