summaryrefslogtreecommitdiffstats
path: root/sca-cpp/trunk/modules/edit/ssl-start
blob: 919a19f4bb1aebbab20d15ae68efc6c91e1c150f (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
#!/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 sca-store.com domain to your /etc/hosts as follows:
# 127.0.0.1 sca-store.com

here=`echo "import os; print os.path.realpath('$0')" | python`; here=`dirname $here`
jsprefix=`echo "import os; print os.path.realpath('$here/../js')" | python`

# Create SSL certificates
../../modules/http/ssl-ca-conf tmp sca-store.com
../../modules/http/ssl-cert-conf tmp sca-store.com server

# Configure server
../../modules/http/httpd-conf tmp sca-store.com 8090 htdocs
../../modules/http/httpd-event-conf tmp
../../modules/http/httpd-ssl-conf tmp 8453

# Configure authentication
../../modules/http/open-auth-conf tmp
../../modules/http/passwd-auth-conf tmp john john
../../modules/http/passwd-auth-conf tmp jane jane
../../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 error pages
cat >>tmp/conf/svhost-ssl.conf <<EOF
# Error pages
ErrorDocument 404 /notfound/
ErrorDocument 401 /notauth/
ErrorDocument 500 /oops/

# Redirect www to main home page
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.sca-store\.com [NC]
RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* https://sca-store.com:%{SERVER_PORT}%{REQUEST_URI} [L,R]
RewriteCond %{HTTP_HOST} ^www\.sca-store\.com [NC]
RewriteRule .* https://sca-store.com%{REQUEST_URI} [L,R]

EOF

# Configure SCA contributions
cat >>tmp/conf/httpd.conf <<EOF

# Configure SCA Composite
SCAContribution `pwd`/
SCAComposite edit.composite

# Configure SCA Composite for mass dynamic virtual Hosting
SCAVirtualContribution `pwd`/apps/
SCAVirtualComposite app.composite

EOF

# Configure resource aliases
cat >>tmp/conf/httpd.conf <<EOF

Alias /home/home.png $here/htdocs/home/home.png
Alias /home/home.b64 $here/htdocs/home/home.b64

EOF

# Create app links and sub-directories if needed
./mkapplinks

# Configure app resource aliases
cat >>tmp/conf/svhost-ssl.conf <<EOF

<Location /v>
RewriteEngine on

# Map /v/<app-name>/<path> to htdocs/app/<path>
RewriteCond %{REQUEST_URI} ^/v/.+/.*$
RewriteRule /v/(.+)/(.*)$ $here/htdocs/app/\$2 [L]

# Redirect /v/<app-name> to /<app-name>/
RewriteCond %{REQUEST_URI} ^/v/[^/]+$
RewriteRule /v/([^/]+)$ /\$1/ [L,R]

</Location>

EOF

# Create application database directories
mkdir -p tmp/appdata/filedb

# Start memcached
../../components/cache/memcached-start

# Start server
../http/httpd-start tmp