summaryrefslogtreecommitdiffstats
path: root/sca-cpp/trunk/hosting/server/start
blob: 5675e851f8b279763d6b120eaaead626d0e47460 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
#!/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`
jsprefix=`echo "import os; print os.path.realpath('$here/../../modules/js')" | python`
host=`hostname`

# 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 8090 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: start $*
LogLevel notice
ErrorLog "|$here/../../components/log/scribe-cat $host server"
CustomLog "|$here/../../components/log/scribe-cat $host server" combined

EOF

else
    cat >tmp/conf/log.conf <<EOF
# Generated by: start $*
ErrorLog $here/tmp/logs/error_log
CustomLog $here/tmp/logs/access_log combined

EOF

fi

# Configure error pages
cat >>tmp/conf/svhost.conf <<EOF
# Generated by: start $*
# Error pages
ErrorDocument 404 /public/notfound/
ErrorDocument 401 /public/notauth/
ErrorDocument 403 /public/notauth/
ErrorDocument 500 /public/oops/
ErrorDocument 405 /public/oops/

EOF

# Configure SCA contributions
cat >>tmp/conf/httpd.conf <<EOF
# Generated by: 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

EOF

# Configure resource aliases
cat >>tmp/conf/httpd.conf <<EOF
# Generated by: 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

# Create app implementation resource links
if [ ! -e "nuvem" ]; then
    ln -s "../../../nuvem/nuvem-parallel/nuvem" "nuvem"
fi
if [ ! -e "lib" ]; then
    ln -s "../../components" "lib"
fi

# Configure app resource aliases
cat >>tmp/conf/svhost.conf <<EOF
# Generated by: start $*
# Map /v/<app-name>/<path> to htdocs/app/<path>
AliasMatch /v/([^/]+)(.*)$ $here/htdocs/app\$2

EOF

# Start server
#../../modules/http/httpd-loglevel-conf tmp debug
../../modules/http/httpd-start tmp