You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lo...@apache.org on 2022/02/15 14:44:31 UTC
[myfaces-homepage] branch master updated: Tobago vm (#40)
This is an automated email from the ASF dual-hosted git repository.
lofwyr pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/myfaces-homepage.git
The following commit(s) were added to refs/heads/master by this push:
new 4e1041f Tobago vm (#40)
4e1041f is described below
commit 4e1041f899b03bea878abe7ae64d66c43f75a010
Author: Udo Schnurpfeil <lo...@apache.org>
AuthorDate: Tue Feb 15 15:44:03 2022 +0100
Tobago vm (#40)
doc: Enhancements for tobago-vm demo
* moving tobago-vm config from Tobago Project to the Homepage.
* use www-data as user for Tomcat
* update java distr.
* update tomcat
* user curl instead of ansible
* run only the current snapshots
* doc: domain tobago-vm -> tobaog-demo
issue: TOBAGO-2112
Co-authored-by: Udo Schnurpfeil <ud...@irian.eu>
---
menu.md | 2 +-
tobago.md | 4 +-
tobago/demo.html | 4 +-
tobago/download.html | 4 +-
tobago/faq.html | 4 +-
tobago/getting-started.html | 4 +-
tobago/tobago-vm.sh | 14 ++
tobago/tobago-vm/README.md | 51 +++++
tobago/tobago-vm/apache-proxy/000-default.conf | 141 ++++++++++++
tobago/tobago-vm/apache-proxy/001-ssl.conf | 147 +++++++++++++
tobago/tobago-vm/apache-proxy/Dockerfile | 43 ++++
tobago/tobago-vm/apache-proxy/bootstrap.min.css | 7 +
.../tobago-vm/apache-proxy/bootstrap.min.css.map | 1 +
tobago/tobago-vm/apache-proxy/index.html | 243 +++++++++++++++++++++
tobago/tobago-vm/docker-compose.yml | 191 ++++++++++++++++
tobago/tobago-vm/tomcat/Dockerfile | 32 +++
tobago/tobago-vm/tomcat/download-deploy-and-run.sh | 36 +++
tobago/tobago-vm/tomcat/server.xml | 168 ++++++++++++++
18 files changed, 1085 insertions(+), 11 deletions(-)
diff --git a/menu.md b/menu.md
index 8f161bc..9e57cd9 100644
--- a/menu.md
+++ b/menu.md
@@ -18,7 +18,7 @@
- Tobago
- [Getting Started](/tobago.md)
- [Issue Tracker](https://issues.apache.org/jira/projects/TOBAGO/issues/)
- - [Demo](http://tobago-vm.apache.org/)
+ - [Demo](http://tobago-demo.apache.org/)
- [Legacy Wiki](https://cwiki.apache.org/confluence/display/MYFACES2/Home)
- [Inactive Projects](/inactiveProjects.md)
diff --git a/tobago.md b/tobago.md
index f9bb37f..5bf8565 100644
--- a/tobago.md
+++ b/tobago.md
@@ -24,11 +24,11 @@ it different from other frameworks:
### Getting Started
-[Getting started page](http://tobago-vm.apache.org/getting-started.html)
+[Getting started page](http://tobago-demo.apache.org/getting-started.html)
### Downloads
-[Download page](http://tobago-vm.apache.org/download.html)
+[Download page](http://tobago-demo.apache.org/download.html)
## News
diff --git a/tobago/demo.html b/tobago/demo.html
index 3381f20..a9ce506 100644
--- a/tobago/demo.html
+++ b/tobago/demo.html
@@ -2,10 +2,10 @@
<html lang="en-US">
<head>
<meta charset="UTF-8">
- <meta http-equiv="refresh" content="5; url=https://tobago-vm.apache.org/">
+ <meta http-equiv="refresh" content="5; url=https://tobago-demo.apache.org/">
<title>301 - Moved Permanently</title>
</head>
<body>
-If you are not redirected automatically, follow this <a href="https://tobago-vm.apache.org/">link</a>.
+If you are not redirected automatically, follow this <a href="https://tobago-demo.apache.org/">link</a>.
</body>
</html>
diff --git a/tobago/download.html b/tobago/download.html
index bbee58d..eca0e36 100644
--- a/tobago/download.html
+++ b/tobago/download.html
@@ -2,10 +2,10 @@
<html lang="en-US">
<head>
<meta charset="UTF-8">
- <meta http-equiv="refresh" content="5; url=https://tobago-vm.apache.org/download.html">
+ <meta http-equiv="refresh" content="5; url=https://tobago-demo.apache.org/download.html">
<title>301 - Moved Permanently</title>
</head>
<body>
-If you are not redirected automatically, follow this <a href="https://tobago-vm.apache.org/download.html">link</a>.
+If you are not redirected automatically, follow this <a href="https://tobago-demo.apache.org/download.html">link</a>.
</body>
</html>
diff --git a/tobago/faq.html b/tobago/faq.html
index 245bd35..9d345fd 100644
--- a/tobago/faq.html
+++ b/tobago/faq.html
@@ -2,10 +2,10 @@
<html lang="en-US">
<head>
<meta charset="UTF-8">
- <meta http-equiv="refresh" content="5; url=https://tobago-vm.apache.org/faq.html">
+ <meta http-equiv="refresh" content="5; url=https://tobago-demo.apache.org/faq.html">
<title>301 - Moved Permanently</title>
</head>
<body>
-If you are not redirected automatically, follow this <a href="https://tobago-vm.apache.org/faq.html">link</a>.
+If you are not redirected automatically, follow this <a href="https://tobago-demo.apache.org/faq.html">link</a>.
</body>
</html>
diff --git a/tobago/getting-started.html b/tobago/getting-started.html
index 13cd1a6..aa858eb 100644
--- a/tobago/getting-started.html
+++ b/tobago/getting-started.html
@@ -2,10 +2,10 @@
<html lang="en-US">
<head>
<meta charset="UTF-8">
- <meta http-equiv="refresh" content="5; url=https://tobago-vm.apache.org/getting-started.html">
+ <meta http-equiv="refresh" content="5; url=https://tobago-demo.apache.org/getting-started.html">
<title>301 - Moved Permanently</title>
</head>
<body>
-If you are not redirected automatically, follow this <a href="https://tobago-vm.apache.org/getting-started.html">link</a>.
+If you are not redirected automatically, follow this <a href="https://tobago-demo.apache.org/getting-started.html">link</a>.
</body>
</html>
diff --git a/tobago/tobago-vm.sh b/tobago/tobago-vm.sh
new file mode 100755
index 0000000..ac616db
--- /dev/null
+++ b/tobago/tobago-vm.sh
@@ -0,0 +1,14 @@
+#! /bin/bash
+
+set -e
+
+#BRANCH=master
+BRANCH=tobago-vm
+
+curl https://codeload.github.com/apache/myfaces-homepage/tar.gz/refs/heads/${BRANCH} | tar xz --strip=2 myfaces-homepage-tobago-vm/tobago/${BRANCH}
+
+cd tobago-vm
+
+#docker compose down
+#docker system prune
+#docker compose up -d
diff --git a/tobago/tobago-vm/README.md b/tobago/tobago-vm/README.md
new file mode 100644
index 0000000..e93bf48
--- /dev/null
+++ b/tobago/tobago-vm/README.md
@@ -0,0 +1,51 @@
+# Run the different Tobago versions on tobago-demo.apache.org
+
+The demo on tobago-demo works with docker.
+Each user with an account on the vm and
+member of the docker group can manage the containers.
+
+How to become root access is described on the
+[Apache site](https://reference.apache.org/committer/opie).
+
+There is a copy of the source code repo of Tobago in the directory
+```/opt/docker/tobago/``` which contains the docker-compose configuration
+in ```tobago-example/tobago-example-demo/src/main/tobago-vm/docker/```.
+
+## Initial installation
+
+Copy these file to the server and login there:
+
+```
+ssh tobago-demo.apache.org
+
+cd
+git clone https://github.com/apache/myfaces-tobago
+cd ~/myfaces-tobago/tobago-example/tobago-example-demo/src/main/tobago-vm/docker/
+
+docker-compose up -d
+```
+
+## Simple Update (only restart needed containers)
+
+only minor changes like version, or staging for votes:
+
+```
+cd ~/myfaces-tobago/tobago-example/tobago-example-demo/src/main/tobago-vm/docker/
+git pull --rebase
+docker-compose build
+docker-compose up -d
+```
+
+## Full Update
+
+Update, rebuild, run:
+
+```
+cd ~/myfaces-tobago/tobago-example/tobago-example-demo/src/main/tobago-vm/docker/
+git pull --rebase
+docker-compose down
+docker pull tomcat:8.5-jdk8-adoptopenjdk-hotspot
+docker pull debian:buster-slim
+docker-compose build
+docker-compose up -d
+```
diff --git a/tobago/tobago-vm/apache-proxy/000-default.conf b/tobago/tobago-vm/apache-proxy/000-default.conf
new file mode 100644
index 0000000..4ee982e
--- /dev/null
+++ b/tobago/tobago-vm/apache-proxy/000-default.conf
@@ -0,0 +1,141 @@
+# 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.
+
+ServerTokens ProductOnly
+ServerSignature Off
+
+ServerName tobago-demo.apache.org
+
+<VirtualHost *:80>
+
+ ServerName tobago-demo.apache.org
+ ServerAdmin dev@myfaces.apache.org
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+# Permanent external links:
+ Redirect temp /intro.html /demo-4-release/content/10-intro/intro.xhtml
+ Redirect temp /getting-started.html /demo-4-release/content/10-intro/10-getting-started/getting-started.xhtml
+ Redirect temp /whats-new.html /demo-4-release/content/10-intro/30-whats-new/whats-new.xhtml
+ Redirect temp /migration.html /demo-4-release/content/10-intro/50-migration/migration.xhtml
+ Redirect temp /compatibility.html /demo-4-release/content/10-intro/60-compatibility/compatibility.xhtml
+ Redirect temp /faq.html /demo-4-release/content/10-intro/70-faq/faq.xhtml
+ Redirect temp /api.html /demo-4-release/content/10-intro/80-api/api.xhtml
+ Redirect temp /download.html /demo-4-release/content/10-intro/85-download/download.xhtml
+ Redirect temp /release-checklist.html /demo-4-release/content/10-intro/90-release-checklist/release-checklist.xhtml
+
+# 5
+
+ <Location /demo-5-release/>
+ ProxyPass "http://demo-5-release:8080/demo-5-release/"
+ ProxyPassReverse "http://demo-5-release:8080/demo-5-release/"
+ </Location>
+
+ <Location /demo-5-staging/>
+ ProxyPass "http://demo-5-staging:8080/demo-5-staging/"
+ ProxyPassReverse "http://demo-5-staging:8080/demo-5-staging/"
+ </Location>
+
+ <Location /demo-5-snapshot/>
+ ProxyPass "http://demo-5-snapshot:8080/demo-5-snapshot/"
+ ProxyPassReverse "http://demo-5-snapshot:8080/demo-5-snapshot/"
+ </Location>
+
+# 4
+
+ <Location /demo-4-release/>
+ ProxyPass "http://demo-4-release:8080/demo-4-release/"
+ ProxyPassReverse "http://demo-4-release:8080/demo-4-release/"
+ </Location>
+
+ <Location /demo-4-staging/>
+ ProxyPass "http://demo-4-staging:8080/demo-4-staging/"
+ ProxyPassReverse "http://demo-4-staging:8080/demo-4-staging/"
+ </Location>
+
+ <Location /demo-4-snapshot/>
+ ProxyPass "http://demo-4-snapshot:8080/demo-4-snapshot/"
+ ProxyPassReverse "http://demo-4-snapshot:8080/demo-4-snapshot/"
+ </Location>
+
+# 3
+
+ <Location /demo-3-release/>
+ ProxyPass "http://demo-3-release:8080/demo-3-release/"
+ ProxyPassReverse "http://demo-3-release:8080/demo-3-release/"
+ </Location>
+
+ <Location /demo-3-staging/>
+ ProxyPass "http://demo-3-staging:8080/demo-3-staging/"
+ ProxyPassReverse "http://demo-3-staging:8080/demo-3-staging/"
+ </Location>
+
+ <Location /demo-3-snapshot/>
+ ProxyPass "http://demo-3-snapshot:8080/demo-3-snapshot/"
+ ProxyPassReverse "http://demo-3-snapshot:8080/demo-3-snapshot/"
+ </Location>
+
+# 2
+
+ <Location /demo-2-release/>
+ ProxyPass "http://demo-2-release:8080/demo-2-release/"
+ ProxyPassReverse "http://demo-2-release:8080/demo-2-release/"
+ </Location>
+
+ <Location /demo-2-staging/>
+ ProxyPass "http://demo-2-staging:8080/demo-2-staging/"
+ ProxyPassReverse "http://demo-2-staging:8080/demo-2-staging/"
+ </Location>
+
+ <Location /demo-2-snapshot/>
+ ProxyPass "http://demo-2-snapshot:8080/demo-2-snapshot/"
+ ProxyPassReverse "http://demo-2-snapshot:8080/demo-2-snapshot/"
+ </Location>
+
+# 1.5
+
+ <Location /demo-1-5-release/>
+ ProxyPass "http://demo-1-5-release:8080/demo-1-5-release/"
+ ProxyPassReverse "http://demo-1-5-release:8080/demo-1-5-release/"
+ </Location>
+
+ <Location /demo-1-5-staging/>
+ ProxyPass "http://demo-1-5-staging:8080/demo-1-5-staging/"
+ ProxyPassReverse "http://demo-1-5-staging:8080/demo-1-5-staging/"
+ </Location>
+
+ <Location /demo-1-5-snapshot/>
+ ProxyPass "http://demo-1-5-snapshot:8080/demo-1-5-snapshot/"
+ ProxyPassReverse "http://demo-1-5-snapshot:8080/demo-1-5-snapshot/"
+ </Location>
+
+# 1.0
+
+ <Location /demo-1-0-release/>
+ ProxyPass "http://demo-1-0-release:8080/demo-1-0-release/"
+ ProxyPassReverse "http://demo-1-0-release:8080/demo-1-0-release/"
+ </Location>
+ <Location /demo-1-0-staging/>
+ ProxyPass "http://demo-1-0-staging:8080/demo-1-0-staging/"
+ ProxyPassReverse "http://demo-1-0-staging:8080/demo-1-0-staging/"
+ </Location>
+
+ <Location /demo-1-0-snapshot/>
+ ProxyPass "http://demo-1-0-snapshot:8080/demo-1-0-snapshot/"
+ ProxyPassReverse "http://demo-1-0-snapshot:8080/demo-1-0-snapshot/"
+ </Location>
+
+</VirtualHost>
diff --git a/tobago/tobago-vm/apache-proxy/001-ssl.conf b/tobago/tobago-vm/apache-proxy/001-ssl.conf
new file mode 100644
index 0000000..1b4bb13
--- /dev/null
+++ b/tobago/tobago-vm/apache-proxy/001-ssl.conf
@@ -0,0 +1,147 @@
+# 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.
+
+MDCertificateAgreement accepted
+MDomain tobago-demo.apache.org
+
+<VirtualHost *:443>
+
+ ServerName tobago-demo.apache.org
+ ServerAdmin dev@myfaces.apache.org
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+ SSLEngine on
+ # no certificates specification
+ SSLProtocol +TLSv1.2 +TLSv1.3
+ SSLHonorCipherOrder on
+ SSLCipherSuite 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384'
+
+ Protocols h2 http/1.1 acme-tls/1
+
+# Permanent external links:
+ Redirect temp /intro.html /demo-4-release/content/10-intro/intro.xhtml
+ Redirect temp /getting-started.html /demo-4-release/content/10-intro/10-getting-started/getting-started.xhtml
+ Redirect temp /whats-new.html /demo-4-release/content/10-intro/30-whats-new/whats-new.xhtml
+ Redirect temp /migration.html /demo-4-release/content/10-intro/50-migration/migration.xhtml
+ Redirect temp /compatibility.html /demo-4-release/content/10-intro/60-compatibility/compatibility.xhtml
+ Redirect temp /faq.html /demo-4-release/content/10-intro/70-faq/faq.xhtml
+ Redirect temp /api.html /demo-4-release/content/10-intro/80-api/api.xhtml
+ Redirect temp /download.html /demo-4-release/content/10-intro/85-download/download.xhtml
+ Redirect temp /release-checklist.html /demo-4-release/content/10-intro/90-release-checklist/release-checklist.xhtml
+
+# 5
+
+ <Location /demo-5-release/>
+ ProxyPass "http://demo-5-release:8080/demo-5-release/"
+ ProxyPassReverse "http://demo-5-release:8080/demo-5-release/"
+ </Location>
+
+ <Location /demo-5-staging/>
+ ProxyPass "http://demo-5-staging:8080/demo-5-staging/"
+ ProxyPassReverse "http://demo-5-staging:8080/demo-5-staging/"
+ </Location>
+
+ <Location /demo-5-snapshot/>
+ ProxyPass "http://demo-5-snapshot:8080/demo-5-snapshot/"
+ ProxyPassReverse "http://demo-5-snapshot:8080/demo-5-snapshot/"
+ </Location>
+
+# 4
+
+ <Location /demo-4-release/>
+ ProxyPass "http://demo-4-release:8080/demo-4-release/"
+ ProxyPassReverse "http://demo-4-release:8080/demo-4-release/"
+ </Location>
+
+ <Location /demo-4-staging/>
+ ProxyPass "http://demo-4-staging:8080/demo-4-staging/"
+ ProxyPassReverse "http://demo-4-staging:8080/demo-4-staging/"
+ </Location>
+
+ <Location /demo-4-snapshot/>
+ ProxyPass "http://demo-4-snapshot:8080/demo-4-snapshot/"
+ ProxyPassReverse "http://demo-4-snapshot:8080/demo-4-snapshot/"
+ </Location>
+
+# 3
+
+ <Location /demo-3-release/>
+ ProxyPass "http://demo-3-release:8080/demo-3-release/"
+ ProxyPassReverse "http://demo-3-release:8080/demo-3-release/"
+ </Location>
+
+ <Location /demo-3-staging/>
+ ProxyPass "http://demo-3-staging:8080/demo-3-staging/"
+ ProxyPassReverse "http://demo-3-staging:8080/demo-3-staging/"
+ </Location>
+
+ <Location /demo-3-snapshot/>
+ ProxyPass "http://demo-3-snapshot:8080/demo-3-snapshot/"
+ ProxyPassReverse "http://demo-3-snapshot:8080/demo-3-snapshot/"
+ </Location>
+
+# 2
+
+ <Location /demo-2-release/>
+ ProxyPass "http://demo-2-release:8080/demo-2-release/"
+ ProxyPassReverse "http://demo-2-release:8080/demo-2-release/"
+ </Location>
+
+ <Location /demo-2-staging/>
+ ProxyPass "http://demo-2-staging:8080/demo-2-staging/"
+ ProxyPassReverse "http://demo-2-staging:8080/demo-2-staging/"
+ </Location>
+
+ <Location /demo-2-snapshot/>
+ ProxyPass "http://demo-2-snapshot:8080/demo-2-snapshot/"
+ ProxyPassReverse "http://demo-2-snapshot:8080/demo-2-snapshot/"
+ </Location>
+
+# 1.5
+
+ <Location /demo-1-5-release/>
+ ProxyPass "http://demo-1-5-release:8080/demo-1-5-release/"
+ ProxyPassReverse "http://demo-1-5-release:8080/demo-1-5-release/"
+ </Location>
+
+ <Location /demo-1-5-staging/>
+ ProxyPass "http://demo-1-5-staging:8080/demo-1-5-staging/"
+ ProxyPassReverse "http://demo-1-5-staging:8080/demo-1-5-staging/"
+ </Location>
+
+ <Location /demo-1-5-snapshot/>
+ ProxyPass "http://demo-1-5-snapshot:8080/demo-1-5-snapshot/"
+ ProxyPassReverse "http://demo-1-5-snapshot:8080/demo-1-5-snapshot/"
+ </Location>
+
+# 1.0
+
+ <Location /demo-1-0-release/>
+ ProxyPass "http://demo-1-0-release:8080/demo-1-0-release/"
+ ProxyPassReverse "http://demo-1-0-release:8080/demo-1-0-release/"
+ </Location>
+ <Location /demo-1-0-staging/>
+ ProxyPass "http://demo-1-0-staging:8080/demo-1-0-staging/"
+ ProxyPassReverse "http://demo-1-0-staging:8080/demo-1-0-staging/"
+ </Location>
+
+ <Location /demo-1-0-snapshot/>
+ ProxyPass "http://demo-1-0-snapshot:8080/demo-1-0-snapshot/"
+ ProxyPassReverse "http://demo-1-0-snapshot:8080/demo-1-0-snapshot/"
+ </Location>
+
+</VirtualHost>
diff --git a/tobago/tobago-vm/apache-proxy/Dockerfile b/tobago/tobago-vm/apache-proxy/Dockerfile
new file mode 100644
index 0000000..5336410
--- /dev/null
+++ b/tobago/tobago-vm/apache-proxy/Dockerfile
@@ -0,0 +1,43 @@
+# 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.
+
+FROM debian:buster-slim
+
+RUN echo "deb http://deb.debian.org/debian buster-backports main" >/etc/apt/sources.list.d/buster-backports.list
+
+RUN apt-get update \
+ && apt-get upgrade -y \
+ && apt-get install -y less vim \
+ && apt-get install -y -t buster-backports apache2 \
+ && apt-get clean \
+ && rm -rf /var/lib/apt/lists/*
+
+RUN a2enmod proxy proxy_http ssl md
+
+COPY 000-default.conf 001-ssl.conf /etc/apache2/sites-enabled/
+COPY *.html /var/www/html/
+COPY *.css *.css.map /var/www/html/
+
+ENV APACHE_RUN_USER www-data
+ENV APACHE_RUN_GROUP www-data
+ENV APACHE_RUN_DIR /var/run/apache2
+ENV APACHE_LOG_DIR /var/log/apache2
+ENV APACHE_PID_FILE $APACHE_RUN_DIR/apache2.pid
+
+RUN mkdir -p ${APACHE_RUN_DIR} ${APACHE_LOG_DIR}
+
+EXPOSE 80
+
+CMD ["/usr/sbin/apache2", "-D", "FOREGROUND"]
diff --git a/tobago/tobago-vm/apache-proxy/bootstrap.min.css b/tobago/tobago-vm/apache-proxy/bootstrap.min.css
new file mode 100644
index 0000000..b161ce1
--- /dev/null
+++ b/tobago/tobago-vm/apache-proxy/bootstrap.min.css
@@ -0,0 +1,7 @@
+@charset "UTF-8";/*!
+ * Bootstrap v5.0.1 (https://getbootstrap.com/)
+ * Copyright 2011-2021 The Bootstrap Authors
+ * Copyright 2011-2021 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+ */:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neu [...]
+/*# sourceMappingURL=bootstrap.min.css.map */
\ No newline at end of file
diff --git a/tobago/tobago-vm/apache-proxy/bootstrap.min.css.map b/tobago/tobago-vm/apache-proxy/bootstrap.min.css.map
new file mode 100644
index 0000000..7b08486
--- /dev/null
+++ b/tobago/tobago-vm/apache-proxy/bootstrap.min.css.map
@@ -0,0 +1 @@
+{"version":3,"sources":["../../scss/bootstrap.scss","../../scss/_root.scss","../../scss/_reboot.scss","dist/css/bootstrap.css","../../scss/vendor/_rfs.scss","../../scss/mixins/_border-radius.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/_containers.scss","../../scss/mixins/_container.scss","../../scss/mixins/_breakpoints.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/_tables.sc [...]
\ No newline at end of file
diff --git a/tobago/tobago-vm/apache-proxy/index.html b/tobago/tobago-vm/apache-proxy/index.html
new file mode 100644
index 0000000..c874678
--- /dev/null
+++ b/tobago/tobago-vm/apache-proxy/index.html
@@ -0,0 +1,243 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
+ <title>Tobago Demo</title>
+ <link href="bootstrap.min.css" rel="stylesheet">
+ <style>
+ div.disabled {
+ opacity: 0.3;
+ }
+
+ .na {
+ text-align: center;
+ vertical-align: middle;
+ }
+ </style>
+ <script>
+
+ document.addEventListener("DOMContentLoaded", function (event) {
+
+ //
+ // EDIT HERE (START)
+ //
+
+ var versions = [
+ {
+ major: "5",
+ release: "",
+ staging: "",
+ snapshot: "5.1.0-SNAPSHOT",
+ link: "5",
+ archived: false,
+ current: true
+ },
+ {
+ major: "4",
+ release: "",
+ staging: "",
+ snapshot: "4.5.5-SNAPSHOT",
+ link: "4",
+ archived: false,
+ current: false
+ },
+/* {
+ major: "3",
+ release: "",
+ staging: "",
+ snapshot: "",
+ link: "3",
+ archived: true
+ },*/
+ {
+ major: "2",
+ release: "",
+ staging: "",
+ snapshot: "2.4.5-SNAPSHOT",
+ link: "2",
+ archived: false,
+ current: false
+ },
+/* {
+ major: "1.5",
+ release: "",
+ staging: "",
+ snapshot: "",
+ link: "1-5",
+ archived: true
+
+ },
+ {
+ major: "1.0",
+ release: "",
+ staging: "",
+ snapshot: "",
+ link: "1-0",
+ archived: true
+ }*/
+ ];
+
+ //
+ // EDIT HERE (END)
+ //
+
+ var template = document.getElementById("template");
+
+ for (var v = 0; v < versions.length; v++) {
+ var version = versions[v];
+ var clone = template.cloneNode(true);
+ clone.removeAttribute("id");
+
+ clone.classList.remove("d-none");
+ template.parentNode.insertBefore(clone, template);
+
+ clone.querySelector(".x-title").append(version.major);
+// clone.querySelector(".x-release-version").append(version.release);
+// clone.querySelector(".x-staging-version").prepend(version.staging + " ");
+ clone.querySelector(".x-snapshot-version").append(version.snapshot);
+
+/*
+ if (version.release) {
+ clone.querySelector(".x-release-off").classList.remove("d-md-flex");
+ } else {
+ clone.querySelector(".x-release-on").classList.add("d-none");
+ }
+
+ if (version.staging) {
+ clone.querySelector(".x-staging-off").classList.remove("d-md-flex");
+ } else {
+ clone.querySelector(".x-staging-on").classList.add("d-none");
+ }
+*/
+
+ if (version.snapshot) {
+// clone.querySelector(".x-snapshot-off").classList.remove("d-md-flex");
+ } else {
+ clone.querySelector(".x-snapshot-on").classList.add("d-none");
+ }
+
+ if (version.current) {
+ clone.querySelector(".x-snapshot-link").classList.add("btn-success");
+ } else {
+ clone.querySelector(".x-snapshot-link").classList.add("btn-warning");
+ }
+
+
+// clone.querySelector(".x-release-link").setAttribute("href", "/demo-" + version.link + "-release/");
+// clone.querySelector(".x-staging-link").setAttribute("href", "/demo-" + version.link + "-staging/");
+ clone.querySelector(".x-snapshot-link").setAttribute("href", "/demo-" + version.link + "-snapshot/");
+
+ if (version.archived) {
+ let button = clone.querySelector(".btn-success");
+ if (button) {
+ const buttonClassList = button.classList;
+ buttonClassList.remove("btn-success");
+ buttonClassList.add("btn-secondary");
+ clone.querySelector(".x-release-version").append(" (archived)");
+ }
+ }
+
+ }
+
+ });
+ </script>
+</head>
+<body class="bd-home">
+
+<!--
+<header class="navbar navbar-dark flex-column flex-md-row bd-navbar bg-dark">
+ <a class="navbar-brand" href="https://myfaces.apache.org/tobago/">Tobago</a>
+</header>
+-->
+<main class="bd-masthead" id="content" role="main">
+
+ <div class="container p-5">
+
+ <div class="row">
+
+ <div class="m-0 border border-white d-md-flex bg-light col-12">
+ <h1>Demo Applications of Tobago</h1>
+ </div>
+
+ <noscript class="jumbotron masthead-followup row m-0 border border-white bg-warning">
+ <h3>Please activate JavaScript, to use this page!</h3>
+ </noscript>
+
+ <!--
+ <div class="jumbotron masthead-followup row m-0 border border-white d-md-flex d-none">
+ <h1>Demo Applications of Tobago</h1>
+ </div>
+
+ <div class="jumbotron masthead-followup row m-0 border border-white d-md-none">
+ <h2>Tobago Demo</h2>
+ </div>
+ <div class="masthead-followup row m-0 border border-white d-md-flex d-none">
+ <div class="col-12 col-md-4 p-3 p-md-5 bg-success border border-white">
+ <h3>Release</h3>
+ </div>
+ <div class="col-12 col-md-4 p-3 p-md-5 bg-warning border border-white">
+ <h3>Staging</h3>
+ </div>
+ <div class="col-12 col-md-4 p-3 p-md-5 bg-danger border border-white">
+ <h3>Snapshot</h3>
+ </div>
+ </div>
+ -->
+ <!-- template -->
+
+ <!--
+ <div id="template"
+ class="masthead-followup row m-0 border border-white d-none">
+
+ <div class="x-release-on col-12 col-md-4 p-3 p-md-5 bg-light border border-white">
+ <h3 class="x-title">Tobago </h3>
+ <h5 class="x-release-version"></h5>
+ <p>Last released version.</p>
+ <a class="x-release-link btn btn-success" href="/">Demo</a>
+ </div>
+ <div class="x-release-off col-12 col-md-4 p-3 p-md-5 bg-light border border-white disabled d-md-flex d-none">
+ <h3 class="na">Not released yet.</h3>
+ </div>
+ -->
+
+ <!--
+ <div class="x-staging-on col-12 col-md-4 p-3 p-md-5 bg-light border border-white">
+ <h3 class="x-title">Tobago </h3>
+ <h5 class="x-staging-version">(not released yet)</h5>
+ <p>Voting in progress.</p>
+ <a class="x-staging-link btn btn-warning" href="/">Demo</a>
+ </div>
+ <div class="x-staging-off col-12 col-md-4 p-3 p-md-5 bg-light border border-white disabled d-md-flex d-none">
+ <h3 class="na">Currently no voting active.</h3>
+ </div>
+ -->
+
+ <div id="template" class="x-snapshot-on col-12 col-md-6 col-lg-4 p-3 p-md-5 bg-light border border-white d-none">
+ <h3 class="x-title">Tobago </h3>
+ <h5 class="x-snapshot-version"></h5>
+ <p>Current development version. Work in progress.</p>
+ <a class="x-snapshot-link btn btn-success" href="/">Demo</a>
+ </div>
+<!--
+ <div class="x-snapshot-off col-12 col-md-4 p-3 p-md-5 bg-light border border-white disabled d-md-flex d-none">
+ <h3 class="na">No active development.</h3>
+ </div>
+ </div>
+-->
+
+ </div>
+ </div>
+</main>
+
+<div class="container">
+<footer class="bd-footer text-muted">
+ <div class="container-fluid p-3 p-md-5">
+ <p>© 2005-2022 Apache Software Foundation, Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">
+ Apache License, Version 2.0</a>.</p>
+ </div>
+</footer>
+</div>
+
+</body>
+</html>
diff --git a/tobago/tobago-vm/docker-compose.yml b/tobago/tobago-vm/docker-compose.yml
new file mode 100644
index 0000000..6773bba
--- /dev/null
+++ b/tobago/tobago-vm/docker-compose.yml
@@ -0,0 +1,191 @@
+# 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.
+
+version: '2'
+services:
+ apache:
+ build: apache-proxy
+ ports:
+ - "80:80"
+ - "443:443"
+ logging:
+ options:
+ max-size: "1m"
+ max-file: "5"
+ links:
+# - demo-5-release
+# - demo-5-staging
+ - demo-5-snapshot
+# - demo-4-release
+# - demo-4-staging
+ - demo-4-snapshot
+# - demo-3-release
+# - demo-2-release
+# - demo-2-staging
+ - demo-2-snapshot
+# - demo-1-5-release
+# - demo-1-5-staging
+# - demo-1-5-snapshot
+# - demo-1-0-release
+# - demo-1-0-staging
+# - demo-1-0-snapshot
+ depends_on:
+# - demo-5-release
+# - demo-5-staging
+ - demo-5-snapshot
+# - demo-4-release
+# - demo-4-staging
+ - demo-4-snapshot
+# - demo-3-release
+# - demo-2-release
+# - demo-2-staging
+ - demo-2-snapshot
+# - demo-1-5-release
+# - demo-1-0-release
+# demo-5-release:
+# build: tomcat
+# environment:
+# - TOBAGO_VERSION=5.0.0
+# - CONTEXT_PATH=demo-5-release
+# ports:
+# - "8500:8080"
+# logging:
+# options:
+# max-size: "1m"
+# max-file: "5"
+# demo-5-staging:
+# build: tomcat
+# environment:
+# - TOBAGO_VERSION=5.0.0
+# - STAGING_NUMBER=1196
+# - CONTEXT_PATH=demo-5-staging
+# ports:
+# - "8501:8080"
+# logging:
+# options:
+# max-size: "1m"
+# max-file: "5"
+ demo-5-snapshot:
+ build: tomcat
+ environment:
+ - TOBAGO_VERSION=5.1.0-SNAPSHOT
+ - CONTEXT_PATH=demo-5-snapshot
+ ports:
+ - "8502:8080"
+ logging:
+ options:
+ max-size: "1m"
+ max-file: "5"
+# demo-4-release:
+# build: tomcat
+# environment:
+# - TOBAGO_VERSION=4.5.4
+# - CONTEXT_PATH=demo-4-release
+# ports:
+# - "8400:8080"
+# logging:
+# options:
+# max-size: "1m"
+# max-file: "5"
+# demo-4-staging:
+# build: tomcat
+# environment:
+# - TOBAGO_VERSION=4.5.4
+# - STAGING_NUMBER=1191
+# - CONTEXT_PATH=demo-4-staging
+# ports:
+# - "8401:8080"
+# logging:
+# options:
+# max-size: "1m"
+# max-file: "5"
+ demo-4-snapshot:
+ build: tomcat
+ environment:
+ - TOBAGO_VERSION=4.5.5-SNAPSHOT
+ - CONTEXT_PATH=demo-4-snapshot
+ ports:
+ - "8402:8080"
+ logging:
+ options:
+ max-size: "1m"
+ max-file: "5"
+# demo-3-release:
+# build: tomcat
+# environment:
+# - TOBAGO_VERSION=3.1.1
+# - CONTEXT_PATH=demo-3-release
+# ports:
+# - "8300:8080"
+# logging:
+# options:
+# max-size: "1m"
+# max-file: "5"
+# demo-2-release:
+# build: tomcat
+# environment:
+# - TOBAGO_VERSION=2.4.4
+# - CONTEXT_PATH=demo-2-release
+# ports:
+# - "8200:8080"
+# logging:
+# options:
+# max-size: "1m"
+# max-file: "5"
+# demo-2-staging:
+# build: tomcat
+# environment:
+# - TOBAGO_VERSION=2.4.4
+# - STAGING_NUMBER=1179
+# - CONTEXT_PATH=demo-2-staging
+# ports:
+# - "8201:8080"
+# logging:
+# options:
+# max-size: "1m"
+# max-file: "5"
+ demo-2-snapshot:
+ build: tomcat
+ environment:
+ - TOBAGO_VERSION=2.4.5-SNAPSHOT
+ - CONTEXT_PATH=demo-2-snapshot
+ ports:
+ - "8202:8080"
+ logging:
+ options:
+ max-size: "1m"
+ max-file: "5"
+# demo-1-5-release:
+# build: tomcat
+# environment:
+# - TOBAGO_VERSION=1.5.13
+# - CONTEXT_PATH=demo-1-5-release
+# ports:
+# - "8150:8080"
+# logging:
+# options:
+# max-size: "1m"
+# max-file: "5"
+# demo-1-0-release:
+# build: tomcat
+# environment:
+# - TOBAGO_VERSION=1.0.42
+# - CONTEXT_PATH=demo-1-0-release
+# ports:
+# - "8100:8080"
+# logging:
+# options:
+# max-size: "1m"
+# max-file: "5"
diff --git a/tobago/tobago-vm/tomcat/Dockerfile b/tobago/tobago-vm/tomcat/Dockerfile
new file mode 100644
index 0000000..5990eea
--- /dev/null
+++ b/tobago/tobago-vm/tomcat/Dockerfile
@@ -0,0 +1,32 @@
+# 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.
+
+FROM tomcat:8.5-jdk8-temurin
+MAINTAINER dev@myfaces.apache.org
+
+RUN rm -r /usr/local/tomcat/webapps.dist
+
+COPY server.xml /usr/local/tomcat/conf
+COPY download-deploy-and-run.sh /usr/local/tomcat/bin
+RUN chmod +x /usr/local/tomcat/bin/download-deploy-and-run.sh
+
+#ENV TOBAGO_VERSION undefined
+#ENV CONTEXT_PATH ROOT
+
+RUN chown -R www-data:www-data /usr/local/tomcat
+
+USER www-data
+
+CMD ["download-deploy-and-run.sh"]
diff --git a/tobago/tobago-vm/tomcat/download-deploy-and-run.sh b/tobago/tobago-vm/tomcat/download-deploy-and-run.sh
new file mode 100644
index 0000000..5958611
--- /dev/null
+++ b/tobago/tobago-vm/tomcat/download-deploy-and-run.sh
@@ -0,0 +1,36 @@
+#! /bin/bash
+
+# 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.
+
+if [[ ${TOBAGO_VERSION} == *-SNAPSHOT ]]; then
+ REPO=snapshots
+elif [[ ${STAGING_NUMBER} ]]; then
+#todo: not tested yet
+ REPO=orgapachemyfaces-${STAGING_NUMBER}
+else
+ REPO=releases
+fi
+
+TARGET=/usr/local/tomcat/webapps/${CONTEXT_PATH}
+ARTIFACT=/usr/local/tomcat/tobago-example-demo-${TOBAGO_VERSION}.war
+
+set -x
+curl -o ${ARTIFACT} "https://repository.apache.org/service/local/artifact/maven/content?r=${REPO}&g=org.apache.myfaces.tobago&a=tobago-example-demo&p=war&v=${TOBAGO_VERSION}"
+
+mkdir ${TARGET}
+pushd ${TARGET} && jar xf ${ARTIFACT}
+
+catalina.sh run
diff --git a/tobago/tobago-vm/tomcat/server.xml b/tobago/tobago-vm/tomcat/server.xml
new file mode 100644
index 0000000..7968383
--- /dev/null
+++ b/tobago/tobago-vm/tomcat/server.xml
@@ -0,0 +1,168 @@
+<?xml version="1.0" encoding="UTF-8"?>
+ <!--
+ 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.
+ -->
+ <!-- Note: A "Server" is not itself a "Container", so you may not
+ define subcomponents such as "Valves" at this level.
+ Documentation at /docs/config/server.html
+ -->
+<Server port="8005" shutdown="SHUTDOWN">
+ <Listener className="org.apache.catalina.startup.VersionLoggerListener" />
+ <!-- Security listener. Documentation at /docs/config/listeners.html
+ <Listener className="org.apache.catalina.security.SecurityListener" />
+ -->
+ <!--APR library loader. Documentation at /docs/apr.html -->
+ <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
+ <!-- Prevent memory leaks due to use of particular java/javax APIs-->
+ <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
+ <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
+ <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
+
+ <!-- Global JNDI resources
+ Documentation at /docs/jndi-resources-howto.html
+ -->
+ <GlobalNamingResources>
+ <!-- Editable user database that can also be used by
+ UserDatabaseRealm to authenticate users
+ -->
+ <Resource name="UserDatabase" auth="Container"
+ type="org.apache.catalina.UserDatabase"
+ description="User database that can be updated and saved"
+ factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
+ pathname="conf/tomcat-users.xml" />
+ </GlobalNamingResources>
+
+ <!-- A "Service" is a collection of one or more "Connectors" that share
+ a single "Container" Note: A "Service" is not itself a "Container",
+ so you may not define subcomponents such as "Valves" at this level.
+ Documentation at /docs/config/service.html
+ -->
+ <Service name="Catalina">
+
+ <!--The connectors can use a shared executor, you can define one or more named thread pools-->
+ <!--
+ <Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
+ maxThreads="150" minSpareThreads="4"/>
+ -->
+
+
+ <!-- A "Connector" represents an endpoint by which requests are received
+ and responses are returned. Documentation at :
+ Java HTTP Connector: /docs/config/http.html
+ Java AJP Connector: /docs/config/ajp.html
+ APR (HTTP/AJP) Connector: /docs/apr.html
+ Define a non-SSL/TLS HTTP/1.1 Connector on port 8080
+ -->
+ <Connector port="8080" protocol="HTTP/1.1"
+ connectionTimeout="20000"
+ redirectPort="8443" />
+ <!-- A "Connector" using the shared thread pool-->
+ <!--
+ <Connector executor="tomcatThreadPool"
+ port="8080" protocol="HTTP/1.1"
+ connectionTimeout="20000"
+ redirectPort="8443" />
+ -->
+ <!-- Define an SSL/TLS HTTP/1.1 Connector on port 8443
+ This connector uses the NIO implementation. The default
+ SSLImplementation will depend on the presence of the APR/native
+ library and the useOpenSSL attribute of the
+ AprLifecycleListener.
+ Either JSSE or OpenSSL style configuration may be used regardless of
+ the SSLImplementation selected. JSSE style configuration is used below.
+ -->
+ <!--
+ <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
+ maxThreads="150" SSLEnabled="true">
+ <SSLHostConfig>
+ <Certificate certificateKeystoreFile="conf/localhost-rsa.jks"
+ type="RSA" />
+ </SSLHostConfig>
+ </Connector>
+ -->
+ <!-- Define an SSL/TLS HTTP/1.1 Connector on port 8443 with HTTP/2
+ This connector uses the APR/native implementation which always uses
+ OpenSSL for TLS.
+ Either JSSE or OpenSSL style configuration may be used. OpenSSL style
+ configuration is used below.
+ -->
+ <!--
+ <Connector port="8443" protocol="org.apache.coyote.http11.Http11AprProtocol"
+ maxThreads="150" SSLEnabled="true" >
+ <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />
+ <SSLHostConfig>
+ <Certificate certificateKeyFile="conf/localhost-rsa-key.pem"
+ certificateFile="conf/localhost-rsa-cert.pem"
+ certificateChainFile="conf/localhost-rsa-chain.pem"
+ type="RSA" />
+ </SSLHostConfig>
+ </Connector>
+ -->
+
+ <!-- Define an AJP 1.3 Connector on port 8009 -->
+<!-- <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />-->
+
+
+ <!-- An Engine represents the entry point (within Catalina) that processes
+ every request. The Engine implementation for Tomcat stand alone
+ analyzes the HTTP headers included with the request, and passes them
+ on to the appropriate Host (virtual host).
+ Documentation at /docs/config/engine.html -->
+
+ <!-- You should set jvmRoute to support load-balancing via AJP ie :
+ <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">
+ -->
+ <Engine name="Catalina" defaultHost="localhost">
+
+ <!--For clustering, please take a look at documentation at:
+ /docs/cluster-howto.html (simple how to)
+ /docs/config/cluster.html (reference documentation) -->
+ <!--
+ <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
+ -->
+
+ <!-- Use the LockOutRealm to prevent attempts to guess user passwords
+ via a brute-force attack -->
+<!-- <Realm className="org.apache.catalina.realm.LockOutRealm">-->
+ <!-- This Realm uses the UserDatabase configured in the global JNDI
+ resources under the key "UserDatabase". Any edits
+ that are performed against this UserDatabase are immediately
+ available for use by the Realm. -->
+<!-- <Realm className="org.apache.catalina.realm.UserDatabaseRealm"-->
+<!-- resourceName="UserDatabase"/>-->
+<!-- </Realm>-->
+
+ <Host name="localhost" appBase="webapps" autoDeploy="true">
+<!-- <Host name="localhost" appBase="webapps"-->
+<!-- unpackWARs="true" autoDeploy="true">-->
+
+ <!-- SingleSignOn valve, share authentication between web applications
+ Documentation at: /docs/config/valve.html -->
+ <!--
+ <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
+ -->
+
+ <!-- Access log processes all example.
+ Documentation at: /docs/config/valve.html
+ Note: The pattern used is equivalent to using pattern="common" -->
+ <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
+ prefix="localhost_access_log" suffix=".txt"
+ pattern="%h %l %u %t "%r" %s %b" />
+
+ </Host>
+ </Engine>
+ </Service>
+</Server>