Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
slapos
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Boxiang Sun
slapos
Commits
89c8a591
Commit
89c8a591
authored
Jun 20, 2014
by
Cédric Le Ninivin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
apache-frontend: root: deploy basic apche configuration
parent
879ef4ac
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
151 additions
and
3 deletions
+151
-3
software/apache-frontend/instance-apache-replicate.cfg.in
software/apache-frontend/instance-apache-replicate.cfg.in
+140
-1
software/apache-frontend/instance.cfg
software/apache-frontend/instance.cfg
+9
-2
software/apache-frontend/templates/apache.conf.in
software/apache-frontend/templates/apache.conf.in
+2
-0
No files found.
software/apache-frontend/instance-apache-replicate.cfg.in
View file @
89c8a591
...
...
@@ -10,6 +10,7 @@ context =
key develop_eggs_directory buildout:develop-eggs-directory
key slap_software_type slap-parameter:slap_software_type
key slave_instance_list slap-parameter:slave_instance_list
section slapparameter_dict slap-parameter
${:extra-context}
################################
...
...
@@ -158,10 +159,143 @@ extensions = jinja2.ext.do
extra-context =
section slave_information slave-information
###########################
# Deploy slave configuration
#
[directory]
recipe = slapos.cookbook:mkdirectory
bin = ${buildout:directory}/bin/
etc = ${buildout:directory}/etc/
srv = ${buildout:directory}/srv/
var = ${buildout:directory}/var/
service = ${:etc}/service
log = ${:var}/log
ca-dir = ${:srv}/ssl
run = ${:var}/run
[frontend-configuration]
#template-log-access = ${template-log-access:target}
apache-directory = {{ build_path.get('apache-location') }}
apache-ipv6 = ${slap-network-information:global-ipv6}
apache-https-port = ${slap-parameter:port}
[dynamic-template-default-vh]
< = jinja2-template-base
template = {{ build_path.get('template-default-virtualhost') }}
rendered = ${apache-directory:slave-configuration}/000.conf
extensions = jinja2.ext.do
extra-context =
key http_port slap-parameter:plain_http_port
key https_port slap-parameter:port
[dynamic-apache-frontend-template]
< = jinja2-template-base
template = {{ build_path.get('template-apache-frontend-configuration') }}
rendered = ${apache-configuration:frontend-configuration}
extra-context =
raw httpd_home {{ build_path.get('apache-location') }}
key httpd_mod_ssl_cache_directory apache-directory:mod-ssl
key domain slap-parameter:domain
key document_root apache-directory:document-root
key instance_home buildout:directory
key ipv4_addr slap-network-information:local-ipv4
key ipv6_addr slap-network-information:global-ipv6
key http_port slap-parameter:plain_http_port
key https_port slap-parameter:port
raw server_admin Admin
key protected_path apache-configuration:protected-path
key access_control_string apache-configuration:access-control-string
key login_certificate ca-frontend:cert-file
key login_key ca-frontend:key-file
key ca_dir certificate-authority:ca-dir
key ca_crl certificate-authority:ca-crl
key access_log apache-configuration:access-log
key error_log apache-configuration:error-log
key pid_file apache-configuration:pid-file
key slave_configuration_directory apache-directory:slave-configuration
section frontend_configuration frontend-configuration
[apache-directory]
recipe = slapos.cookbook:mkdirectory
document-root = ${directory:srv}/htdocs
slave-configuration = ${directory:etc}/apache-slave-conf.d/
cache = ${directory:var}/cache
mod-ssl = ${:cache}/httpd_mod_ssl
vh-ssl = ${:slave-configuration}/ssl
slave-log = ${directory:log}/httpd
[apache-configuration]
frontend-configuration = ${directory:etc}/apache_frontend.conf
cached-configuration = ${directory:etc}/apache_frontend_cached.conf
access-log = ${directory:log}/frontend-apache-access.log
error-log = ${directory:log}/frontend-apache-error.log
pid-file = ${directory:run}/httpd.pid
protected-path = /
access-control-string = none
cached-rewrite-file = ${directory:etc}/apache_rewrite_cached.txt
frontend-configuration-verification = {{ build_path.get('apache-location') }}/bin/httpd -Sf ${:frontend-configuration}
frontend-graceful-command = ${:frontend-configuration-verification}; if [ $? -eq 0 ]; then kill -USR1 $(cat ${:pid-file}); fi
cached-configuration-verification = {{ build_path.get('apache-location') }}/bin/httpd -Sf ${:cached-configuration}
cached-graceful-command = ${:cached-configuration-verification}; if [ $? -eq 0 ]; then kill -USR1 $(cat ${apache-configuration:cache-pid-file}); fi
# Apache for cache configuration
cache-access-log = ${directory:log}/frontend-apache-access-cached.log
cache-error-log = ${directory:log}/frontend-apache-error-cached.log
cache-pid-file = ${directory:run}/httpd-cached.pid
[configtest]
recipe = slapos.cookbook:wrapper
command-line = {{ build_path.get('apache-location') }}/bin/httpd -f ${directory:etc}/apache_frontend.conf -t
wrapper-path = ${directory:bin}/apache-configtest
[certificate-authority]
recipe = slapos.cookbook:certificate_authority
openssl-binary = {{ build_path.get('openssl-location') }}/bin/openssl
ca-dir = ${directory:ca-dir}
requests-directory = ${cadirectory:requests}
wrapper = ${directory:service}/certificate_authority
ca-private = ${cadirectory:private}
ca-certs = ${cadirectory:certs}
ca-newcerts = ${cadirectory:newcerts}
ca-crl = ${cadirectory:crl}
[cadirectory]
recipe = slapos.cookbook:mkdirectory
requests = ${directory:ca-dir}/requests/
private = ${directory:ca-dir}/private/
certs = ${directory:ca-dir}/certs/
newcerts = ${directory:ca-dir}/newcerts/
crl = ${directory:ca-dir}/crl/
[ca-frontend]
<= certificate-authority
recipe = slapos.cookbook:certificate_authority.request
key-file = ${cadirectory:certs}/apache_frontend.key
cert-file = ${cadirectory:certs}/apache_frontend.crt
executable = ${directory:service}/frontend_apache
wrapper = ${directory:service}/frontend_apache
key-content = ${slap-parameter:apache-key}
cert-content = ${slap-parameter:apache-certificate}
# Put domain name
name = ${slap-parameter:domain}
#####################
# Buidout elements
#
[buildout]
parts =
publish-slave-information
publish-information
dynamic-apache-frontend-template
configtest
dynamic-template-default-vh
{% for part in part_list -%}
{{ ' %s' % part }}
{% endfor -%}
...
...
@@ -171,7 +305,6 @@ eggs-directory = {{ eggs_directory }}
develop-eggs-directory = {{ develop_eggs_directory }}
offline = true
[slap_connection]
# Kept for backward compatiblity
computer_id = ${slap-connection:computer-id}
...
...
@@ -185,4 +318,10 @@ cert_file = ${slap-connection:cert-file}
slave_instance_list =
-frontend-quantity = 1
-frontend-type = single-default
plain_http_port = 8080
port = 4443
domain = example.com
apache-key =
apache-certificate =
{%- endif %}
software/apache-frontend/instance.cfg
View file @
89c8a591
...
...
@@ -26,6 +26,7 @@ context =
key slap_software_type slap-parameters:slap-software-type
key slapparameter_dict slap-parameters:configuration
key slave_instance_list slap-parameters:slave-instance-list
section build_path buildout-path-information
$${:extra-context}
[switch-softwaretype]
...
...
@@ -45,7 +46,6 @@ filename = instance-apache-replicate.cfg
extensions = jinja2.ext.do
extra-context =
import builtin __builtin__
import configparser_module ConfigParser
key root_directory buildout:directory
section slave_list_parameter slave-list-parameter
raw template_publish_slave_information ${template-replicate-publish-slave-information:target}
...
...
@@ -57,4 +57,11 @@ configuration-path = $${buildout:directory}/slave_configuration.json
deploy = DEPLOY
test = TEST
ignore = IGNORE
stop = STOP
\ No newline at end of file
stop = STOP
[buildout-path-information]
openssl-location = ${openssl:location}
apache-location = ${apache-2.2:location}
monitor-template = ${monitor-template:output}
template-default-virtualhost = ${template-default-virtualhost:target}
template-apache-frontend-configuration = ${template-apache-frontend-configuration:target}
\ No newline at end of file
software/apache-frontend/templates/apache.conf.in
View file @
89c8a591
...
...
@@ -128,7 +128,9 @@ SSLProtocol ALL -SSLv2
SSLProxyCheckPeerCN off
SSLProxyCheckPeerExpire off
{% if 'log-access-configuration' in frontend_configuration %}
include {{frontend_configuration.get('log-access-configuration')}}
{% endif %}
NameVirtualHost *:{{ http_port }}
NameVirtualHost *:{{ https_port }}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment