From 8fd232f316bdf7880d972d1fac9b81b72b47b147 Mon Sep 17 00:00:00 2001 From: liuliquan Date: Thu, 1 Jun 2017 10:25:37 +0800 Subject: [PATCH 1/2] TC WEBSITE - MARATHON MATCH UPDATE --- docker/tc-website/README.md | 43 +- docker/tc-website/build/build.sh | 2 + .../tc-website/build/files/build_distui.xml | 241 --- docker/tc-website/build/files/build_mm.xml | 304 +++ docker/tc-website/build/files/build_tc.xml | 1727 ----------------- .../build/files/lib/ldap_sdk_interface.jar | Bin 25940 -> 0 bytes .../build/files/resources/LDAP.properties | 20 - .../build/files/resources/cache.properties | 33 - .../TC WEBSITE - MARATHON MATCH UPDATE.txt | 48 + .../apache-conf/extra/httpd-vhosts-tc.conf | 1 + .../tc-website/httpd/apache-conf/workers.conf | 6 +- docker/tc-website/run/Dockerfile | 2 +- .../run/apache-conf/extra/httpd-ssl.conf | 250 --- .../apache-conf/extra/httpd-vhosts-tc.conf | 62 - .../run/apache-conf/extra/httpd-vhosts.conf | 29 - docker/tc-website/run/apache-conf/httpd.conf | 527 ----- docker/tc-website/run/apache-conf/mime.types | 1588 --------------- .../tc-website/run/apache-conf/workers.conf | 8 - docker/tc-website/run/run.sh | 13 - docker/tc-website/test_files/mm_test_data.sql | 49 + .../tc-website/test_files/user_sso_login.sql | 12 + 21 files changed, 457 insertions(+), 4508 deletions(-) delete mode 100644 docker/tc-website/build/files/build_distui.xml create mode 100644 docker/tc-website/build/files/build_mm.xml delete mode 100644 docker/tc-website/build/files/build_tc.xml delete mode 100644 docker/tc-website/build/files/lib/ldap_sdk_interface.jar delete mode 100644 docker/tc-website/build/files/resources/LDAP.properties delete mode 100644 docker/tc-website/build/files/resources/cache.properties create mode 100644 docker/tc-website/docs/TC WEBSITE - MARATHON MATCH UPDATE.txt delete mode 100644 docker/tc-website/run/apache-conf/extra/httpd-ssl.conf delete mode 100644 docker/tc-website/run/apache-conf/extra/httpd-vhosts-tc.conf delete mode 100644 docker/tc-website/run/apache-conf/extra/httpd-vhosts.conf delete mode 100644 docker/tc-website/run/apache-conf/httpd.conf delete mode 100644 docker/tc-website/run/apache-conf/mime.types delete mode 100644 docker/tc-website/run/apache-conf/workers.conf delete mode 100644 docker/tc-website/run/run.sh create mode 100644 docker/tc-website/test_files/mm_test_data.sql create mode 100644 docker/tc-website/test_files/user_sso_login.sql diff --git a/docker/tc-website/README.md b/docker/tc-website/README.md index 0e8dcba..d870ae1 100644 --- a/docker/tc-website/README.md +++ b/docker/tc-website/README.md @@ -19,13 +19,12 @@ docker build -t appiriodevops/tc-website:httpd httpd ## Prepare tc-website Codebase Pull following repos into a directory (e.g. tc-platform): -- https://github.com/topcoder-platform/tc-website (with commit hash: f5e9ec2e9e7d99f012e308b530947ab034948ad6 branch: svn2git) -- https://github.com/topcoder-platform/tc-website-external-artifacts (with commit hash: 33100ff8b102ee8a386c4200d571b6c31c33fad1 branch: svn2git) -- https://github.com/topcoder-platform/tc-website-glue (with commit hash: 61849f3601a25efc40390a59eedd8d1dc92eb4ef branch: svn2git) -- https://github.com/topcoder-platform/tc-website-shared (with commit hash: fbbc0e49893bf972e46d7c73192a5592e39dab3b branch: svn2git) -- https://github.com/topcoder-platform/tc-website-static (with commit hash: fc26666a6ee3a323cdd8de9e849a2e576352a656) -- https://github.com/appirio-tech/temp-maven-repo (with commit hash: -ae8fe01f5b2f1aec9baa52dcff6d7bf02c5d93bf) +- https://github.com/topcoder-platform/tc-website +- https://github.com/topcoder-platform/tc-website-external-artifacts +- https://github.com/topcoder-platform/tc-website-glue +- https://github.com/topcoder-platform/tc-website-shared +- https://github.com/topcoder-platform/tc-website-static +- https://github.com/appirio-tech/temp-maven-repo ## Checkout tc-website and all other repo ``` @@ -66,8 +65,21 @@ Add the following entry to your hosts file: Where `` is the ip address of your docker box. It should be set to `127.0.0.1` on Linux or `192.168.99.100` on Windows/macOS if you are using Docker Toolbox. +## Test Data + +Insert some test data into informix database. Also currently the database misses *user_sso_login* table, it needs be created: + +```shell +docker cp test_files/mm_test_data.sql iif_innovator_c:/tmp +docker cp test_files/user_sso_login.sql iif_innovator_c:/tmp +docker exec -it iif_innovator_c bash +dbaccess informixoltp /tmp/mm_test_data.sql +dbaccess common_oltp /tmp/user_sso_login.sql +exit +``` ### Authentication + 1. Visit https://local.tc.cloud.topcoder.com/tc - accept the self-signed SSL certificate. See http://take.ms/r5A9U 2. Now visit https://local.tc.cloud.topcoder.com/tc?&module=Login - login with `heffan/password`. See http://take.ms/uxt4K 3. You will be redirected to an interstitial page then the main site (https://www.topcoder.com/my-dashboard/). See http://take.ms/O3AaE @@ -77,10 +89,25 @@ You can now try the following pages: TC WAR: * Open https://local.tc.cloud.topcoder.com/tc?module=MyHome, the page is like: http://take.ms/TYP9F * Open https://local.tc.cloud.topcoder.com/tc?module=EditTheme, change to use old theme, the page is like: http://take.ms/efKBr -* Open https://local.tc.cloud.topcoder.com/tc?module=ActiveContests&pt=39 (code active contests), the page is like: http://take.ms/RxSWZ Note that the links like https://local.tc.cloud.topcoder.com/challenges/design/active won't work. +Marathon Match WAR: + +- Open https://local.tc.cloud.topcoder.com/longcontest/?module=ViewActiveContests, the page is like: http://take.ms/18mww + +- Open https://local.tc.cloud.topcoder.com/longcontest/?module=ViewStandings&rd=13673, the page is like: http://take.ms/2TSYJ + +- Open https://local.tc.cloud.topcoder.com/longcontest/?module=ViewSubmissionHistory&cr=124834&rd=13673&compid=2020, the page is like: http://take.ms/Wp8cC + +- Open https://local.tc.cloud.topcoder.com/longcontest/?module=ViewExampleHistory&cr=124834&rd=13673&compid=2020, the page is like: http://take.ms/HjZES + +- Open https://local.tc.cloud.topcoder.com/longcontest/?module=ViewProblemStatement&compid=2020&rd=13673, the page is like: http://take.ms/JKUfg + +- Open https://local.tc.cloud.topcoder.com/longcontest/?module=ViewReg&rd=13673, the page is like: http://take.ms/2iCRu + +- Open https://local.tc.cloud.topcoder.com/longcontest/?module=ViewRegistrants&rd=13673, the page is like: http://take.ms/F9jit + Query WAR: * Open https://local.tc.cloud.topcoder.com/query/query, the page is like: http://take.ms/UvcrU diff --git a/docker/tc-website/build/build.sh b/docker/tc-website/build/build.sh index 46fcc71..2485c4c 100644 --- a/docker/tc-website/build/build.sh +++ b/docker/tc-website/build/build.sh @@ -15,10 +15,12 @@ cp -f /root/files/TC.prod.ldap.keystore $JBOSS_HOME/bin cp -f /root/files/resources/paymentRanges.xml $JBOSS_HOME/server/all/conf # init code +cp -f /root/files/build_mm.xml /root/tc-platform/tc-website cp -f /root/files/resources/ApplicationServer.properties /root/tc-platform/tc-website/resources cp -f /root/files/distui/jboss-web.xml /root/tc-platform/tc-website/resources/distui # deploy cd /root/tc-platform/tc-website +ant -f build_mm.xml deploy ant -f build_tc.xml clean deploy ant -f build_distui.xml clean deploy diff --git a/docker/tc-website/build/files/build_distui.xml b/docker/tc-website/build/files/build_distui.xml deleted file mode 100644 index 2891cd7..0000000 --- a/docker/tc-website/build/files/build_distui.xml +++ /dev/null @@ -1,241 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docker/tc-website/build/files/build_mm.xml b/docker/tc-website/build/files/build_mm.xml new file mode 100644 index 0000000..baca78c --- /dev/null +++ b/docker/tc-website/build/files/build_mm.xml @@ -0,0 +1,304 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docker/tc-website/build/files/build_tc.xml b/docker/tc-website/build/files/build_tc.xml deleted file mode 100644 index 99e73c7..0000000 --- a/docker/tc-website/build/files/build_tc.xml +++ /dev/null @@ -1,1727 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docker/tc-website/build/files/lib/ldap_sdk_interface.jar b/docker/tc-website/build/files/lib/ldap_sdk_interface.jar deleted file mode 100644 index 68ac38300d0ff26773931677b29963186f007527..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25940 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 diff --git a/docker/tc-website/build/files/resources/LDAP.properties b/docker/tc-website/build/files/resources/LDAP.properties deleted file mode 100644 index 703b6ee..0000000 --- a/docker/tc-website/build/files/resources/LDAP.properties +++ /dev/null @@ -1,20 +0,0 @@ -# -# Configuration for LDAP client. -# -# host - a hostname or IP-address for server hosting the LDAP server -# port - a port which LDAP server listens to -# bind_dn - a DN used for binding/authenticating to LDAP server -# bind_password - a password used for binding/authenticating to LDAP server -# topcoder_member_base_dn - a base DN for entries for TopCoder member accounts -# connection_factory - a fully-qualified name of class implementing -# com.topcoder.util.net.ldap.sdkinterface.LDAPSDKFactory interface -# topcoder_member_status_active - a value for 'status' attribute for active TopCoder member profiles - -host=tc-ldap -port=389 -topcoder_member_base_dn=ou=members,dc=topcoder,dc=com -bind_dn=cn=Manager,dc=topcoder,dc=com -bind_password=secret -#connection_factory=com.topcoder.security.ldap.NetscapeV3Factory -connection_factory=com.topcoder.security.ldap.JLDAPConnectionFactory -topcoder_member_status_active=A diff --git a/docker/tc-website/build/files/resources/cache.properties b/docker/tc-website/build/files/resources/cache.properties deleted file mode 100644 index 59c411e..0000000 --- a/docker/tc-website/build/files/resources/cache.properties +++ /dev/null @@ -1,33 +0,0 @@ -cache.primary = localhost:8501 -#cache.secondary = 63.118.154.182:8502 - -# allow at most 25000 items in the cache -cache.size = 25000 -# sync every 10 seconds -cache.synctime = 10000 - -# check every minute -cache.expirecheck = 60000 -# expire after 10 hours -cache.expiretime = 3600000 - -### Use the following configurations to use JBoss Cache as cache ### - -host_url = env.topcoder.com:2199 -jndi_name = TCCache -cache_admin_jndi_name = TCCacheAdmin -#cache_client_class=com.topcoder.web.common.cache.JbossCacheClient - -### Use the following configurations to use REDIS as cache ### -​ -cache_client_class=com.topcoder.web.common.cache.RedisCacheClient -tc_subject_cache_address_class=com.topcoder.web.common.cache.address.TCSubjectAddress -request_cache_address_class=com.topcoder.web.common.cache.address.RequestAddress -​ -#format: redis://username:password@my.host:6389 -redis.uri=redis://tc-cache:6379 -​ -​ -redis.maxTotalConnections=50 -redis.maxIdleConnections=30 -redis.minIdleConnections=1 diff --git a/docker/tc-website/docs/TC WEBSITE - MARATHON MATCH UPDATE.txt b/docker/tc-website/docs/TC WEBSITE - MARATHON MATCH UPDATE.txt new file mode 100644 index 0000000..445ee54 --- /dev/null +++ b/docker/tc-website/docs/TC WEBSITE - MARATHON MATCH UPDATE.txt @@ -0,0 +1,48 @@ +The submission is based on https://github.com/appirio-tech/tc-common-tutorials/tree/master/docker/tc-website (commit cc7f86e0d802ece315121a053849a8b8f7aba240) + +The used source code of tc website are: +- https://github.com/topcoder-platform/tc-website (with commit hash: 4708528c5e544f0061318c1b543662c0368790d9 branch: dev) +- https://github.com/topcoder-platform/tc-website-external-artifacts (with commit hash: 33100ff8b102ee8a386c4200d571b6c31c33fad1 branch: dev) +- https://github.com/topcoder-platform/tc-website-glue (with commit hash: 99f7878c36dabbd9e5a2d14a4d84a0380b148632 branch: dev) +- https://github.com/topcoder-platform/tc-website-shared (with commit hash: fbbc0e49893bf972e46d7c73192a5592e39dab3b branch: dev) +- https://github.com/topcoder-platform/tc-website-static (with commit hash: fc26666a6ee3a323cdd8de9e849a2e576352a656 branch:master) +- https://github.com/appirio-tech/temp-maven-repo (with commit hash: 6189c0eb6fbda77ea5eff6a15fb46af0705b89ae branch:master) + + +Docker Images +===================== + +The appiriodevops/tc-website:base image is not changed, so instead of building your own(there is error for downloading jdk, see https://apps.topcoder.com/forums//?module=Thread&threadID=901970&start=0), +you can directly pull the existing base image from docker repo: +docker pull appiriodevops/tc-website:base + +The other 3 images (appiriodevops/tc-website:build, appiriodevops/tc-website:run and appiriodevops/tc-website:httpd) are changed and need be rebuilt. + +Refer to README.md for details to build and run docker images. + + +Changed Files +===================== +build/build.sh: changed to build marathon match war +httpd/apache-conf/extra/httpd-vhosts-tc.conf: changed to mount /longcontest/* path +httpd/apache-conf/workers.conf: changed to add tomcat_mm worker +run/Dockerfile: changed to add "-Djava.net.preferIPv4Stack=true" java opt, required for some linux version +README.md: changed to provide screen shots demonstrating marathon match + + +Added Files +===================== +build/files/build_mm.xml: added to build marathon match war. The jboss-cache-jdk50.jar is no longer needed as we switch to use redis for cache, refer to https://github.com/topcoder-platform/tc-website/blob/dev/resources/cache.properties +test_files/mm_test_data.sql: sample marathon match test data +test_files/user_sso_login.sql: create the missing user_sso_login table + + +Deleted unused Files +===================== +build/files/build_distui.xml +build/files/build_tc.xml +build/files/lib +build/files/resources/cache.properties +build/files/resources/LDAP.properties +run/apache-conf +run/run.sh \ No newline at end of file diff --git a/docker/tc-website/httpd/apache-conf/extra/httpd-vhosts-tc.conf b/docker/tc-website/httpd/apache-conf/extra/httpd-vhosts-tc.conf index 40a3adb..5e1c19f 100644 --- a/docker/tc-website/httpd/apache-conf/extra/httpd-vhosts-tc.conf +++ b/docker/tc-website/httpd/apache-conf/extra/httpd-vhosts-tc.conf @@ -11,6 +11,7 @@ AccessFileName .htaccess JkMount /* tomcat_tc JkMount /distui/* tomcat_tc + JkMount /longcontest/* tomcat_mm diff --git a/docker/tc-website/httpd/apache-conf/workers.conf b/docker/tc-website/httpd/apache-conf/workers.conf index 7840ed8..abcf672 100644 --- a/docker/tc-website/httpd/apache-conf/workers.conf +++ b/docker/tc-website/httpd/apache-conf/workers.conf @@ -1,8 +1,12 @@ ps=/ -worker.list=tomcat_tc +worker.list=tomcat_tc, tomcat_mm worker.tomcat_tc.port=8009 worker.tomcat_tc.host=tc-website worker.tomcat_tc.type=ajp13 +worker.tomcat_mm.port=8009 +worker.tomcat_mm.host=tc-website +worker.tomcat_mm.type=ajp13 + diff --git a/docker/tc-website/run/Dockerfile b/docker/tc-website/run/Dockerfile index 67969ce..e3317b7 100644 --- a/docker/tc-website/run/Dockerfile +++ b/docker/tc-website/run/Dockerfile @@ -2,7 +2,7 @@ FROM appiriodevops/tc-website:base WORKDIR /root/deployment/jboss-4.0.4.GA/bin -ENV JAVA_OPTS '-Djavax.net.ssl.trustStore=TC.prod.ldap.keystore -Djavax.net.ssl.trustStorePassword=secret' +ENV JAVA_OPTS '-Djavax.net.ssl.trustStore=TC.prod.ldap.keystore -Djavax.net.ssl.trustStorePassword=secret -Djava.net.preferIPv4Stack=true' EXPOSE 8080 8009 diff --git a/docker/tc-website/run/apache-conf/extra/httpd-ssl.conf b/docker/tc-website/run/apache-conf/extra/httpd-ssl.conf deleted file mode 100644 index cefc67d..0000000 --- a/docker/tc-website/run/apache-conf/extra/httpd-ssl.conf +++ /dev/null @@ -1,250 +0,0 @@ -# -# This is the Apache server configuration file providing SSL support. -# It contains the configuration directives to instruct the server how to -# serve pages over an https connection. For detailed information about these -# directives see -# -# Do NOT simply read the instructions in here without understanding -# what they do. They're here only as hints or reminders. If you are unsure -# consult the online docs. You have been warned. -# - -# -# Pseudo Random Number Generator (PRNG): -# Configure one or more sources to seed the PRNG of the SSL library. -# The seed data should be of good random quality. -# WARNING! On some platforms /dev/random blocks if not enough entropy -# is available. This means you then cannot use the /dev/random device -# because it would lead to very long connection times (as long as -# it requires to make more entropy available). But usually those -# platforms additionally provide a /dev/urandom device which doesn't -# block. So, if available, use this one instead. Read the mod_ssl User -# Manual for more details. -# -#SSLRandomSeed startup file:/dev/random 512 -#SSLRandomSeed startup file:/dev/urandom 512 -#SSLRandomSeed connect file:/dev/random 512 -#SSLRandomSeed connect file:/dev/urandom 512 - - -# -# When we also provide SSL we have to listen to the -# standard HTTP port (see above) and to the HTTPS port -# -# Note: Configurations that use IPv6 but not IPv4-mapped addresses need two -# Listen directives: "Listen [::]:443" and "Listen 0.0.0.0:443" -# -Listen 443 - -## -## SSL Global Context -## -## All SSL configuration in this context applies both to -## the main server and all SSL-enabled virtual hosts. -## - -# -# Some MIME-types for downloading Certificates and CRLs -# -AddType application/x-x509-ca-cert .crt -AddType application/x-pkcs7-crl .crl - -# Pass Phrase Dialog: -# Configure the pass phrase gathering process. -# The filtering dialog program (`builtin' is a internal -# terminal dialog) has to provide the pass phrase on stdout. -SSLPassPhraseDialog builtin - -# Inter-Process Session Cache: -# Configure the SSL Session Cache: First the mechanism -# to use and second the expiring timeout (in seconds). -#SSLSessionCache "dbm:/etc/httpd/logs/ssl_scache" -SSLSessionCache "shmcb:/etc/httpd/logs/ssl_scache(512000)" -SSLSessionCacheTimeout 300 - -# Semaphore: -# Configure the path to the mutual exclusion semaphore the -# SSL engine uses internally for inter-process synchronization. -SSLMutex default - -## -## SSL Virtual Host Context -## - - - -# General setup for the virtual host -DocumentRoot "/var/www/html" -ServerName local.cloud.topcoder.com:443 -ServerAdmin admin@local.cloud.topcoder.com -ErrorLog "/etc/httpd/logs/error.log" -TransferLog "/etc/httpd/logs/access.log" - -# SSL Engine Switch: -# Enable/Disable SSL for this virtual host. -SSLEngine on - -# SSL Protocol support: -# List the protocol versions which clients are allowed to -# connect with. Disable SSLv2 by default (cf. RFC 6176). -SSLProtocol all -SSLv2 - -# SSL Cipher Suite: -# List the ciphers that the client is permitted to negotiate. -# See the mod_ssl documentation for a complete list. -SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5 - -# Speed-optimized SSL Cipher configuration: -# If speed is your main concern (on busy HTTPS servers e.g.), -# you might want to force clients to specific, performance -# optimized ciphers. In this case, prepend those ciphers -# to the SSLCipherSuite list, and enable SSLHonorCipherOrder. -# Caveat: by giving precedence to RC4-SHA and AES128-SHA -# (as in the example below), most connections will no longer -# have perfect forward secrecy - if the server's key is -# compromised, captures of past or future traffic must be -# considered compromised, too. -#SSLCipherSuite RC4-SHA:AES128-SHA:HIGH:MEDIUM:!aNULL:!MD5 -#SSLHonorCipherOrder on - -# Server Certificate: -# Point SSLCertificateFile at a PEM encoded certificate. If -# the certificate is encrypted, then you will be prompted for a -# pass phrase. Note that a kill -HUP will prompt again. Keep -# in mind that if you have both an RSA and a DSA certificate you -# can configure both in parallel (to also allow the use of DSA -# ciphers, etc.) -SSLCertificateFile "/etc/httpd/conf/server.crt" -#SSLCertificateFile "/etc/httpd/conf/server-dsa.crt" - -# Server Private Key: -# If the key is not combined with the certificate, use this -# directive to point at the key file. Keep in mind that if -# you've both a RSA and a DSA private key you can configure -# both in parallel (to also allow the use of DSA ciphers, etc.) -SSLCertificateKeyFile "/etc/httpd/conf/server.key" -#SSLCertificateKeyFile "/etc/httpd/conf/server-dsa.key" - -# Server Certificate Chain: -# Point SSLCertificateChainFile at a file containing the -# concatenation of PEM encoded CA certificates which form the -# certificate chain for the server certificate. Alternatively -# the referenced file can be the same as SSLCertificateFile -# when the CA certificates are directly appended to the server -# certificate for convenience. -#SSLCertificateChainFile "/etc/httpd/conf/server-ca.crt" - -# Certificate Authority (CA): -# Set the CA certificate verification path where to find CA -# certificates for client authentication or alternatively one -# huge file containing all of them (file must be PEM encoded) -# Note: Inside SSLCACertificatePath you need hash symlinks -# to point to the certificate files. Use the provided -# Makefile to update the hash symlinks after changes. -#SSLCACertificatePath "/etc/httpd/conf/ssl.crt" -#SSLCACertificateFile "/etc/httpd/conf/ssl.crt/ca-bundle.crt" - -# Certificate Revocation Lists (CRL): -# Set the CA revocation path where to find CA CRLs for client -# authentication or alternatively one huge file containing all -# of them (file must be PEM encoded) -# Note: Inside SSLCARevocationPath you need hash symlinks -# to point to the certificate files. Use the provided -# Makefile to update the hash symlinks after changes. -#SSLCARevocationPath "/etc/httpd/conf/ssl.crl" -#SSLCARevocationFile "/etc/httpd/conf/ssl.crl/ca-bundle.crl" - -# Client Authentication (Type): -# Client certificate verification type and depth. Types are -# none, optional, require and optional_no_ca. Depth is a -# number which specifies how deeply to verify the certificate -# issuer chain before deciding the certificate is not valid. -#SSLVerifyClient require -#SSLVerifyDepth 10 - -# Access Control: -# With SSLRequire you can do per-directory access control based -# on arbitrary complex boolean expressions containing server -# variable checks and other lookup directives. The syntax is a -# mixture between C and Perl. See the mod_ssl documentation -# for more details. -# -#SSLRequire ( %{SSL_CIPHER} !~ m/^(EXP|NULL)/ \ -# and %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd." \ -# and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"} \ -# and %{TIME_WDAY} >= 1 and %{TIME_WDAY} <= 5 \ -# and %{TIME_HOUR} >= 8 and %{TIME_HOUR} <= 20 ) \ -# or %{REMOTE_ADDR} =~ m/^192\.76\.162\.[0-9]+$/ -# - -# SSL Engine Options: -# Set various options for the SSL engine. -# o FakeBasicAuth: -# Translate the client X.509 into a Basic Authorisation. This means that -# the standard Auth/DBMAuth methods can be used for access control. The -# user name is the `one line' version of the client's X.509 certificate. -# Note that no password is obtained from the user. Every entry in the user -# file needs this password: `xxj31ZMTZzkVA'. -# o ExportCertData: -# This exports two additional environment variables: SSL_CLIENT_CERT and -# SSL_SERVER_CERT. These contain the PEM-encoded certificates of the -# server (always existing) and the client (only existing when client -# authentication is used). This can be used to import the certificates -# into CGI scripts. -# o StdEnvVars: -# This exports the standard SSL/TLS related `SSL_*' environment variables. -# Per default this exportation is switched off for performance reasons, -# because the extraction step is an expensive operation and is usually -# useless for serving static content. So one usually enables the -# exportation for CGI and SSI requests only. -# o StrictRequire: -# This denies access when "SSLRequireSSL" or "SSLRequire" applied even -# under a "Satisfy any" situation, i.e. when it applies access is denied -# and no other module can change it. -# o OptRenegotiate: -# This enables optimized SSL connection renegotiation handling when SSL -# directives are used in per-directory context. -#SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire - - SSLOptions +StdEnvVars - - - SSLOptions +StdEnvVars - - -# SSL Protocol Adjustments: -# The safe and default but still SSL/TLS standard compliant shutdown -# approach is that mod_ssl sends the close notify alert but doesn't wait for -# the close notify alert from client. When you need a different shutdown -# approach you can use one of the following variables: -# o ssl-unclean-shutdown: -# This forces an unclean shutdown when the connection is closed, i.e. no -# SSL close notify alert is sent or allowed to be received. This violates -# the SSL/TLS standard but is needed for some brain-dead browsers. Use -# this when you receive I/O errors because of the standard approach where -# mod_ssl sends the close notify alert. -# o ssl-accurate-shutdown: -# This forces an accurate shutdown when the connection is closed, i.e. a -# SSL close notify alert is send and mod_ssl waits for the close notify -# alert of the client. This is 100% SSL/TLS standard compliant, but in -# practice often causes hanging connections with brain-dead browsers. Use -# this only for browsers where you know that their SSL implementation -# works correctly. -# Notice: Most problems of broken clients are also related to the HTTP -# keep-alive facility, so you usually additionally want to disable -# keep-alive for those clients, too. Use variable "nokeepalive" for this. -# Similarly, one has to force some clients to use HTTP/1.0 to workaround -# their broken HTTP/1.1 implementation. Use variables "downgrade-1.0" and -# "force-response-1.0" for this. -BrowserMatch "MSIE [2-5]" \ - nokeepalive ssl-unclean-shutdown \ - downgrade-1.0 force-response-1.0 - -# Per-Server Logging: -# The home of a custom SSL log file. Use this when you want a -# compact non-error SSL logfile on a virtual host basis. -CustomLog "/etc/httpd/logs/ssl_request.log" \ - "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" - - Include conf/extra/httpd-vhosts-tc.conf - \ No newline at end of file diff --git a/docker/tc-website/run/apache-conf/extra/httpd-vhosts-tc.conf b/docker/tc-website/run/apache-conf/extra/httpd-vhosts-tc.conf deleted file mode 100644 index d1cff0c..0000000 --- a/docker/tc-website/run/apache-conf/extra/httpd-vhosts-tc.conf +++ /dev/null @@ -1,62 +0,0 @@ - ServerName local.tc.cloud.topcoder.com - HostnameLookups Off - ErrorLog logs/tc_error_log - LogLevel warn - CustomLog logs/tc_access_log combined - ServerSignature Off - DocumentRoot "/var/www/html" - - AddHandler server-parsed shtml - DirectoryIndex index.shtml - AccessFileName .htaccess - JkMount /* tomcat_tc - JkMount /distui/* tomcat_tc - - - - AddType text/html .php .phps - AddHandler application/x-httpd-php .php - AddHandler application/x-httpd-php-source .phps - DirectoryIndex index.php - - - - JkUnMount /coder/* tomcat_tc - JkUnMount /api/* tomcat_tc - JkUnMount /css/* tomcat_tc - JkUnMount /i/* tomcat_tc - JkUnMount /js/* tomcat_tc - JkUnMount /images/* tomcat_tc - JkUnMount /contest/* tomcat_tc - JkUnMount /download/* tomcat_tc - JkUnMount /tcs_tanacea/* tomcat_tc - JkUnMount /tc_sales/* tomcat_tc - JkUnMount /movies/* tomcat_tc - JkUnMount /audio/* tomcat_tc - JkUnMount /flash/* tomcat_tc - JkUnMount /pdfs/* tomcat_tc - JkUnMount /webiq/* tomcat_tc - JkUnMount /html/* tomcat_tc - JkUnMount /_vti_bin/* tomcat_tc - JkUnMount /_mem_bin/* tomcat_tc - JkUnMount /msadc/* tomcat_tc - JkUnMount /MSADC/* tomcat_tc - JkUnMount /scripts/* tomcat_tc - JkUnMount /c/* tomcat_tc - JkUnMount /d/* tomcat_tc - JkUnMount /demo/* tomcat_tc - JkUnMount /test/* tomcat_tc - JkUnMount /home/* tomcat_tc - JkUnMount /web-console/* tomcat_tc - JkUnMount /jmx-console/* tomcat_tc - - - Options Indexes FollowSymLinks Includes ExecCGI - AllowOverride All - Order deny,allow - Allow from all - - - - DirectoryIndex index.html - \ No newline at end of file diff --git a/docker/tc-website/run/apache-conf/extra/httpd-vhosts.conf b/docker/tc-website/run/apache-conf/extra/httpd-vhosts.conf deleted file mode 100644 index 5bb9f94..0000000 --- a/docker/tc-website/run/apache-conf/extra/httpd-vhosts.conf +++ /dev/null @@ -1,29 +0,0 @@ -# -# Virtual Hosts -# -# If you want to maintain multiple domains/hostnames on your -# machine you can setup VirtualHost containers for them. Most configurations -# use only name-based virtual hosts so the server doesn't need to worry about -# IP addresses. This is indicated by the asterisks in the directives below. -# -# Please see the documentation at -# -# for further details before you try to setup virtual hosts. -# -# You may use the command line option '-S' to verify your virtual host -# configuration. - -# -# Use name-based virtual hosting. -# -NameVirtualHost *:80 - -# -# VirtualHost example: -# Almost any Apache directive may go into a VirtualHost container. -# The first VirtualHost section is used for all requests that do not -# match a ServerName or ServerAlias in any block. - - - Include conf/extra/httpd-vhosts-tc.conf - diff --git a/docker/tc-website/run/apache-conf/httpd.conf b/docker/tc-website/run/apache-conf/httpd.conf deleted file mode 100644 index a264010..0000000 --- a/docker/tc-website/run/apache-conf/httpd.conf +++ /dev/null @@ -1,527 +0,0 @@ -# -# This is the main Apache HTTP server configuration file. It contains the -# configuration directives that give the server its instructions. -# See for detailed information. -# In particular, see -# -# for a discussion of each configuration directive. -# -# Do NOT simply read the instructions in here without understanding -# what they do. They're here only as hints or reminders. If you are unsure -# consult the online docs. You have been warned. -# -# Configuration and logfile names: If the filenames you specify for many -# of the server's control files begin with "/" (or "drive:/" for Win32), the -# server will use that explicit path. If the filenames do *not* begin -# with "/", the value of ServerRoot is prepended -- so 'log/access_log' -# with ServerRoot set to '/www' will be interpreted by the -# server as '/www/log/access_log', where as '/log/access_log' will be -# interpreted as '/log/access_log'. -# -# NOTE: Where filenames are specified, you must use forward slashes -# instead of backslashes (e.g., "c:/apache" instead of "c:\apache"). -# If a drive letter is omitted, the drive on which httpd.exe is located -# will be used by default. It is recommended that you always supply -# an explicit drive letter in absolute paths to avoid confusion. - -# -# ServerRoot: The top of the directory tree under which the server's -# configuration, error, and log files are kept. -# -# Do not add a slash at the end of the directory path. If you point -# ServerRoot at a non-local disk, be sure to point the LockFile directive -# at a local disk. If you wish to share the same ServerRoot for multiple -# httpd daemons, you will need to change at least LockFile and PidFile. -# -ServerRoot "/etc/httpd" - -# -# PidFile: The file in which the server should record its process -# identification number when it starts. Note the PIDFILE variable in -# /etc/sysconfig/httpd must be set appropriately if this location is -# changed. -# -PidFile run/httpd.pid - -# -# Timeout: The number of seconds before receives and sends time out. -# -Timeout 60 - -# -# KeepAlive: Whether or not to allow persistent connections (more than -# one request per connection). Set to "Off" to deactivate. -# -KeepAlive Off - -# -# MaxKeepAliveRequests: The maximum number of requests to allow -# during a persistent connection. Set to 0 to allow an unlimited amount. -# We recommend you leave this number high, for maximum performance. -# -MaxKeepAliveRequests 100 - -# -# KeepAliveTimeout: Number of seconds to wait for the next request from the -# same client on the same connection. -# -KeepAliveTimeout 15 - -## -## Server-Pool Size Regulation (MPM specific) -## - -# prefork MPM -# StartServers: number of server processes to start -# MinSpareServers: minimum number of server processes which are kept spare -# MaxSpareServers: maximum number of server processes which are kept spare -# ServerLimit: maximum value for MaxClients for the lifetime of the server -# MaxClients: maximum number of server processes allowed to start -# MaxRequestsPerChild: maximum number of requests a server process serves - -StartServers 8 -MinSpareServers 5 -MaxSpareServers 20 -ServerLimit 256 -MaxClients 256 -MaxRequestsPerChild 4000 - - -# worker MPM -# StartServers: initial number of server processes to start -# MaxClients: maximum number of simultaneous client connections -# MinSpareThreads: minimum number of worker threads which are kept spare -# MaxSpareThreads: maximum number of worker threads which are kept spare -# ThreadsPerChild: constant number of worker threads in each server process -# MaxRequestsPerChild: maximum number of requests a server process serves - -StartServers 4 -MaxClients 300 -MinSpareThreads 25 -MaxSpareThreads 75 -ThreadsPerChild 25 -MaxRequestsPerChild 0 - - -# -# Listen: Allows you to bind Apache to specific IP addresses and/or -# ports, instead of the default. See also the -# directive. -# -# Change this to Listen on specific IP addresses as shown below to -# prevent Apache from glomming onto all bound IP addresses. -# -#Listen 12.34.56.78:80 -Listen 80 - -# -# Dynamic Shared Object (DSO) Support -# -# To be able to use the functionality of a module which was built as a DSO you -# have to place corresponding `LoadModule' lines at this location so the -# directives contained in it are actually available _before_ they are used. -# Statically compiled modules (those listed by `httpd -l') do not need -# to be loaded here. -# -# Example: -# LoadModule foo_module modules/mod_foo.so -# -LoadModule asis_module modules/mod_asis.so -LoadModule auth_basic_module modules/mod_auth_basic.so -LoadModule authn_file_module modules/mod_authn_file.so -LoadModule authn_default_module modules/mod_authn_default.so -LoadModule authz_host_module modules/mod_authz_host.so -LoadModule authz_user_module modules/mod_authz_user.so -LoadModule authz_groupfile_module modules/mod_authz_groupfile.so -LoadModule authz_default_module modules/mod_authz_default.so -LoadModule include_module modules/mod_include.so -LoadModule log_config_module modules/mod_log_config.so -LoadModule env_module modules/mod_env.so -LoadModule setenvif_module modules/mod_setenvif.so -LoadModule mime_module modules/mod_mime.so -LoadModule autoindex_module modules/mod_autoindex.so -LoadModule negotiation_module modules/mod_negotiation.so -LoadModule dir_module modules/mod_dir.so -LoadModule actions_module modules/mod_actions.so -LoadModule alias_module modules/mod_alias.so -LoadModule suexec_module modules/mod_suexec.so -LoadModule cgi_module modules/mod_cgi.so -LoadModule ssl_module modules/mod_ssl.so - -LoadModule jk_module modules/mod_jk.so -JkWorkersFile conf/workers.conf -JkLogFile logs/mod_jk.log -JkLogLevel warn - - - - -# -# If you wish httpd to run as a different user or group, you must run -# httpd as root initially and it will switch. -# -# User/Group: The name (or #number) of the user/group to run httpd as. -# It is usually good practice to create a dedicated user and group for -# running httpd, as with most system services. -# -User apache -Group apache - - - - -# 'Main' server configuration -# -# The directives in this section set up the values used by the 'main' -# server, which responds to any requests that aren't handled by a -# definition. These values also provide defaults for -# any containers you may define later in the file. -# -# All of these directives may appear inside containers, -# in which case these default settings will be overridden for the -# virtual host being defined. -# - -# -# ServerAdmin: Your address, where problems with the server should be -# e-mailed. This address appears on some server-generated pages, such -# as error documents. e.g. admin@your-domain.com -# -ServerAdmin admin@local.cloud.topcoder.com - -# -# ServerName gives the name and port that the server uses to identify itself. -# This can often be determined automatically, but we recommend you specify -# it explicitly to prevent problems during startup. -# -# If your host doesn't have a registered DNS name, enter its IP address here. -# -#ServerName local.cloud.topcoder.com:80 - -# -# UseCanonicalName: Determines how Apache constructs self-referencing -# URLs and the SERVER_NAME and SERVER_PORT variables. -# When set "Off", Apache will use the Hostname and Port supplied -# by the client. When set "On", Apache will use the value of the -# ServerName directive. -# -UseCanonicalName Off - -# -# DocumentRoot: The directory out of which you will serve your -# documents. By default, all requests are taken from this directory, but -# symbolic links and aliases may be used to point to other locations. -# -DocumentRoot "/var/www/html" - -# -# Each directory to which Apache has access can be configured with respect -# to which services and features are allowed and/or disabled in that -# directory (and its subdirectories). -# -# First, we configure the "default" to be a very restrictive set of -# features. -# - - Options FollowSymLinks - AllowOverride None - Order deny,allow - Deny from all - - -# -# Note that from this point forward you must specifically allow -# particular features to be enabled - so if something's not working as -# you might expect, make sure that you have specifically enabled it -# below. -# - -# -# This should be changed to whatever you set DocumentRoot to. -# - - # - # Possible values for the Options directive are "None", "All", - # or any combination of: - # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews - # - # Note that "MultiViews" must be named *explicitly* --- "Options All" - # doesn't give it to you. - # - # The Options directive is both complicated and important. Please see - # http://httpd.apache.org/docs/2.2/mod/core.html#options - # for more information. - # - Options Indexes FollowSymLinks - - # - # AllowOverride controls what directives may be placed in .htaccess files. - # It can be "All", "None", or any combination of the keywords: - # Options FileInfo AuthConfig Limit - # - AllowOverride None - - # - # Controls who can get stuff from this server. - # - Order allow,deny - Allow from all - - - -# -# DirectoryIndex: sets the file that Apache will serve if a directory -# is requested. -# - - DirectoryIndex index.html - - -# -# The following lines prevent .htaccess and .htpasswd files from being -# viewed by Web clients. -# - - Order allow,deny - Deny from all - Satisfy All - - -# -# ErrorLog: The location of the error log file. -# If you do not specify an ErrorLog directive within a -# container, error messages relating to that virtual host will be -# logged here. If you *do* define an error logfile for a -# container, that host's errors will be logged there and not here. -# -ErrorLog "logs/error.log" - -# -# LogLevel: Control the number of messages logged to the error_log. -# Possible values include: debug, info, notice, warn, error, crit, -# alert, emerg. -# -LogLevel warn - - - # - # The following directives define some format nicknames for use with - # a CustomLog directive (see below). - # - LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined - LogFormat "%h %l %u %t \"%r\" %>s %b" common - - - # You need to enable mod_logio.c to use %I and %O - LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio - - - # - # The location and format of the access logfile (Common Logfile Format). - # If you do not define any access logfiles within a - # container, they will be logged here. Contrariwise, if you *do* - # define per- access logfiles, transactions will be - # logged therein and *not* in this file. - # - CustomLog "logs/access.log" common - - # - # If you prefer a logfile with access, agent, and referer information - # (Combined Logfile Format) you can use the following directive. - # - #CustomLog "logs/access.log" combined - - - - # - # Redirect: Allows you to tell clients about documents that used to - # exist in your server's namespace, but do not anymore. The client - # will make a new request for the document at its new location. - # Example: - # Redirect permanent /foo http://local.cloud.topcoder.com/bar - - # - # Alias: Maps web paths into filesystem paths and is used to - # access content that does not live under the DocumentRoot. - # Example: - # Alias /webpath /full/filesystem/path - # - # If you include a trailing / on /webpath then the server will - # require it to be present in the URL. You will also likely - # need to provide a section to allow access to - # the filesystem path. - - # - # ScriptAlias: This controls which directories contain server scripts. - # ScriptAliases are essentially the same as Aliases, except that - # documents in the target directory are treated as applications and - # run by the server when requested rather than as documents sent to the - # client. The same rules about trailing "/" apply to ScriptAlias - # directives as to Alias. - # - ScriptAlias /cgi-bin/ "/var/www/cgi-bin/" - - - - - # - # ScriptSock: On threaded servers, designate the path to the UNIX - # socket used to communicate with the CGI daemon of mod_cgid. - # - #Scriptsock logs/cgisock - - -# -# "/var/www/cgi-bin" should be changed to whatever your ScriptAliased -# CGI directory exists, if you have that configured. -# - - AllowOverride None - Options None - Order allow,deny - Allow from all - - -# -# DefaultType: the default MIME type the server will use for a document -# if it cannot otherwise determine one, such as from filename extensions. -# If your server contains mostly text or HTML documents, "text/plain" is -# a good value. If most of your content is binary, such as applications -# or images, you may want to use "application/octet-stream" instead to -# keep browsers from trying to display binary files as though they are -# text. -# -DefaultType text/plain - - - # - # TypesConfig points to the file containing the list of mappings from - # filename extension to MIME-type. - # - TypesConfig conf/mime.types - - # - # AddType allows you to add to or override the MIME configuration - # file specified in TypesConfig for specific file types. - # - #AddType application/x-gzip .tgz - # - # AddEncoding allows you to have certain browsers uncompress - # information on the fly. Note: Not all browsers support this. - # - #AddEncoding x-compress .Z - #AddEncoding x-gzip .gz .tgz - # - # If the AddEncoding directives above are commented-out, then you - # probably should define those extensions to indicate media types: - # - AddType application/x-compress .Z - AddType application/x-gzip .gz .tgz - - # - # AddHandler allows you to map certain file extensions to "handlers": - # actions unrelated to filetype. These can be either built into the server - # or added with the Action directive (see below) - # - # To use CGI scripts outside of ScriptAliased directories: - # (You will also need to add "ExecCGI" to the "Options" directive.) - # - #AddHandler cgi-script .cgi - - # For type maps (negotiated resources): - #AddHandler type-map var - - # - # Filters allow you to process content before it is sent to the client. - # - # To parse .shtml files for server-side includes (SSI): - # (You will also need to add "Includes" to the "Options" directive.) - # - #AddType text/html .shtml - #AddOutputFilter INCLUDES .shtml - - -# -# The mod_mime_magic module allows the server to use various hints from the -# contents of the file itself to determine its type. The MIMEMagicFile -# directive tells the module where the hint definitions are located. -# -#MIMEMagicFile conf/magic - -# -# Customizable error responses come in three flavors: -# 1) plain text 2) local redirects 3) external redirects -# -# Some examples: -#ErrorDocument 500 "The server made a boo boo." -#ErrorDocument 404 /missing.html -#ErrorDocument 404 "/cgi-bin/missing_handler.pl" -#ErrorDocument 402 http://local.cloud.topcoder.com/subscription_info.html -# - -# -# MaxRanges: Maximum number of Ranges in a request before -# returning the entire resource, or one of the special -# values 'default', 'none' or 'unlimited'. -# Default setting is to accept 200 Ranges. -#MaxRanges unlimited - -# -# EnableMMAP and EnableSendfile: On systems that support it, -# memory-mapping or the sendfile syscall is used to deliver -# files. This usually improves server performance, but must -# be turned off when serving from networked-mounted -# filesystems or if support for these functions is otherwise -# broken on your system. -# -#EnableMMAP off -#EnableSendfile off - -# Supplemental configuration -# -# The configuration files in the conf/extra/ directory can be -# included to add extra features or to modify the default configuration of -# the server, or you may simply copy their contents here and change as -# necessary. - -# Server-pool management (MPM specific) -#Include conf/extra/httpd-mpm.conf - -# Multi-language error messages -#Include conf/extra/httpd-multilang-errordoc.conf - -# Fancy directory listings -#Include conf/extra/httpd-autoindex.conf - -# Language settings -#Include conf/extra/httpd-languages.conf - -# User home directories -#Include conf/extra/httpd-userdir.conf - -# Real-time info on requests and configuration -#Include conf/extra/httpd-info.conf - -# Virtual hosts -Include conf/extra/httpd-vhosts.conf - -# Local access to the Apache HTTP Server Manual -#Include conf/extra/httpd-manual.conf - -# Distributed authoring and versioning (WebDAV) -#Include conf/extra/httpd-dav.conf - -# Various default settings -#Include conf/extra/httpd-default.conf - -# Secure (SSL/TLS) connections -Include conf/extra/httpd-ssl.conf -# -# Note: The following must must be present to support -# starting without SSL on platforms with no /dev/random equivalent -# but a statically compiled-in mod_ssl. -# - -SSLRandomSeed startup builtin -SSLRandomSeed connect builtin - \ No newline at end of file diff --git a/docker/tc-website/run/apache-conf/mime.types b/docker/tc-website/run/apache-conf/mime.types deleted file mode 100644 index b90b165..0000000 --- a/docker/tc-website/run/apache-conf/mime.types +++ /dev/null @@ -1,1588 +0,0 @@ -# This file maps Internet media types to unique file extension(s). -# Although created for httpd, this file is used by many software systems -# and has been placed in the public domain for unlimited redisribution. -# -# The table below contains both registered and (common) unregistered types. -# A type that has no unique extension can be ignored -- they are listed -# here to guide configurations toward known types and to make it easier to -# identify "new" types. File extensions are also commonly used to indicate -# content languages and encodings, so choose them carefully. -# -# Internet media types should be registered as described in RFC 4288. -# The registry is at . -# -# MIME type (lowercased) Extensions -# ============================================ ========== -# application/1d-interleaved-parityfec -# application/3gpp-ims+xml -# application/activemessage -application/andrew-inset ez -# application/applefile -application/applixware aw -application/atom+xml atom -application/atomcat+xml atomcat -# application/atomicmail -application/atomsvc+xml atomsvc -# application/auth-policy+xml -# application/batch-smtp -# application/beep+xml -# application/calendar+xml -# application/cals-1840 -# application/ccmp+xml -application/ccxml+xml ccxml -application/cdmi-capability cdmia -application/cdmi-container cdmic -application/cdmi-domain cdmid -application/cdmi-object cdmio -application/cdmi-queue cdmiq -# application/cea-2018+xml -# application/cellml+xml -# application/cfw -# application/cnrp+xml -# application/commonground -# application/conference-info+xml -# application/cpl+xml -# application/csta+xml -# application/cstadata+xml -application/cu-seeme cu -# application/cybercash -application/davmount+xml davmount -# application/dca-rft -# application/dec-dx -# application/dialog-info+xml -# application/dicom -# application/dns -application/docbook+xml dbk -# application/dskpp+xml -application/dssc+der dssc -application/dssc+xml xdssc -# application/dvcs -application/ecmascript ecma -# application/edi-consent -# application/edi-x12 -# application/edifact -application/emma+xml emma -# application/epp+xml -application/epub+zip epub -# application/eshop -# application/example -application/exi exi -# application/fastinfoset -# application/fastsoap -# application/fits -application/font-tdpfr pfr -# application/framework-attributes+xml -application/gml+xml gml -application/gpx+xml gpx -application/gxf gxf -# application/h224 -# application/held+xml -# application/http -application/hyperstudio stk -# application/ibe-key-request+xml -# application/ibe-pkg-reply+xml -# application/ibe-pp-data -# application/iges -# application/im-iscomposing+xml -# application/index -# application/index.cmd -# application/index.obj -# application/index.response -# application/index.vnd -application/inkml+xml ink inkml -# application/iotp -application/ipfix ipfix -# application/ipp -# application/isup -application/java-archive jar -application/java-serialized-object ser -application/java-vm class -application/javascript js -application/json json -application/jsonml+json jsonml -# application/kpml-request+xml -# application/kpml-response+xml -application/lost+xml lostxml -application/mac-binhex40 hqx -application/mac-compactpro cpt -# application/macwriteii -application/mads+xml mads -application/marc mrc -application/marcxml+xml mrcx -application/mathematica ma nb mb -# application/mathml-content+xml -# application/mathml-presentation+xml -application/mathml+xml mathml -# application/mbms-associated-procedure-description+xml -# application/mbms-deregister+xml -# application/mbms-envelope+xml -# application/mbms-msk+xml -# application/mbms-msk-response+xml -# application/mbms-protection-description+xml -# application/mbms-reception-report+xml -# application/mbms-register+xml -# application/mbms-register-response+xml -# application/mbms-user-service-description+xml -application/mbox mbox -# application/media_control+xml -application/mediaservercontrol+xml mscml -application/metalink+xml metalink -application/metalink4+xml meta4 -application/mets+xml mets -# application/mikey -application/mods+xml mods -# application/moss-keys -# application/moss-signature -# application/mosskey-data -# application/mosskey-request -application/mp21 m21 mp21 -application/mp4 mp4s -# application/mpeg4-generic -# application/mpeg4-iod -# application/mpeg4-iod-xmt -# application/msc-ivr+xml -# application/msc-mixer+xml -application/msword doc dot -application/mxf mxf -# application/nasdata -# application/news-checkgroups -# application/news-groupinfo -# application/news-transmission -# application/nss -# application/ocsp-request -# application/ocsp-response -application/octet-stream bin dms lrf mar so dist distz pkg bpk dump elc deploy -application/oda oda -application/oebps-package+xml opf -application/ogg ogx -application/omdoc+xml omdoc -application/onenote onetoc onetoc2 onetmp onepkg -application/oxps oxps -# application/parityfec -application/patch-ops-error+xml xer -application/pdf pdf -application/pgp-encrypted pgp -# application/pgp-keys -application/pgp-signature asc sig -application/pics-rules prf -# application/pidf+xml -# application/pidf-diff+xml -application/pkcs10 p10 -application/pkcs7-mime p7m p7c -application/pkcs7-signature p7s -application/pkcs8 p8 -application/pkix-attr-cert ac -application/pkix-cert cer -application/pkix-crl crl -application/pkix-pkipath pkipath -application/pkixcmp pki -application/pls+xml pls -# application/poc-settings+xml -application/postscript ai eps ps -# application/prs.alvestrand.titrax-sheet -application/prs.cww cww -# application/prs.nprend -# application/prs.plucker -# application/prs.rdf-xml-crypt -# application/prs.xsf+xml -application/pskc+xml pskcxml -# application/qsig -application/rdf+xml rdf -application/reginfo+xml rif -application/relax-ng-compact-syntax rnc -# application/remote-printing -application/resource-lists+xml rl -application/resource-lists-diff+xml rld -# application/riscos -# application/rlmi+xml -application/rls-services+xml rs -application/rpki-ghostbusters gbr -application/rpki-manifest mft -application/rpki-roa roa -# application/rpki-updown -application/rsd+xml rsd -application/rss+xml rss -application/rtf rtf -# application/rtx -# application/samlassertion+xml -# application/samlmetadata+xml -application/sbml+xml sbml -application/scvp-cv-request scq -application/scvp-cv-response scs -application/scvp-vp-request spq -application/scvp-vp-response spp -application/sdp sdp -# application/set-payment -application/set-payment-initiation setpay -# application/set-registration -application/set-registration-initiation setreg -# application/sgml -# application/sgml-open-catalog -application/shf+xml shf -# application/sieve -# application/simple-filter+xml -# application/simple-message-summary -# application/simplesymbolcontainer -# application/slate -# application/smil -application/smil+xml smi smil -# application/soap+fastinfoset -# application/soap+xml -application/sparql-query rq -application/sparql-results+xml srx -# application/spirits-event+xml -application/srgs gram -application/srgs+xml grxml -application/sru+xml sru -application/ssdl+xml ssdl -application/ssml+xml ssml -# application/tamp-apex-update -# application/tamp-apex-update-confirm -# application/tamp-community-update -# application/tamp-community-update-confirm -# application/tamp-error -# application/tamp-sequence-adjust -# application/tamp-sequence-adjust-confirm -# application/tamp-status-query -# application/tamp-status-response -# application/tamp-update -# application/tamp-update-confirm -application/tei+xml tei teicorpus -application/thraud+xml tfi -# application/timestamp-query -# application/timestamp-reply -application/timestamped-data tsd -# application/tve-trigger -# application/ulpfec -# application/vcard+xml -# application/vemmi -# application/vividence.scriptfile -# application/vnd.3gpp.bsf+xml -application/vnd.3gpp.pic-bw-large plb -application/vnd.3gpp.pic-bw-small psb -application/vnd.3gpp.pic-bw-var pvb -# application/vnd.3gpp.sms -# application/vnd.3gpp2.bcmcsinfo+xml -# application/vnd.3gpp2.sms -application/vnd.3gpp2.tcap tcap -application/vnd.3m.post-it-notes pwn -application/vnd.accpac.simply.aso aso -application/vnd.accpac.simply.imp imp -application/vnd.acucobol acu -application/vnd.acucorp atc acutc -application/vnd.adobe.air-application-installer-package+zip air -application/vnd.adobe.formscentral.fcdt fcdt -application/vnd.adobe.fxp fxp fxpl -# application/vnd.adobe.partial-upload -application/vnd.adobe.xdp+xml xdp -application/vnd.adobe.xfdf xfdf -# application/vnd.aether.imp -# application/vnd.ah-barcode -application/vnd.ahead.space ahead -application/vnd.airzip.filesecure.azf azf -application/vnd.airzip.filesecure.azs azs -application/vnd.amazon.ebook azw -application/vnd.americandynamics.acc acc -application/vnd.amiga.ami ami -# application/vnd.amundsen.maze+xml -application/vnd.android.package-archive apk -application/vnd.anser-web-certificate-issue-initiation cii -application/vnd.anser-web-funds-transfer-initiation fti -application/vnd.antix.game-component atx -application/vnd.apple.installer+xml mpkg -application/vnd.apple.mpegurl m3u8 -# application/vnd.arastra.swi -application/vnd.aristanetworks.swi swi -application/vnd.astraea-software.iota iota -application/vnd.audiograph aep -# application/vnd.autopackage -# application/vnd.avistar+xml -application/vnd.blueice.multipass mpm -# application/vnd.bluetooth.ep.oob -application/vnd.bmi bmi -application/vnd.businessobjects rep -# application/vnd.cab-jscript -# application/vnd.canon-cpdl -# application/vnd.canon-lips -# application/vnd.cendio.thinlinc.clientconf -application/vnd.chemdraw+xml cdxml -application/vnd.chipnuts.karaoke-mmd mmd -application/vnd.cinderella cdy -# application/vnd.cirpack.isdn-ext -application/vnd.claymore cla -application/vnd.cloanto.rp9 rp9 -application/vnd.clonk.c4group c4g c4d c4f c4p c4u -application/vnd.cluetrust.cartomobile-config c11amc -application/vnd.cluetrust.cartomobile-config-pkg c11amz -# application/vnd.collection+json -# application/vnd.commerce-battelle -application/vnd.commonspace csp -application/vnd.contact.cmsg cdbcmsg -application/vnd.cosmocaller cmc -application/vnd.crick.clicker clkx -application/vnd.crick.clicker.keyboard clkk -application/vnd.crick.clicker.palette clkp -application/vnd.crick.clicker.template clkt -application/vnd.crick.clicker.wordbank clkw -application/vnd.criticaltools.wbs+xml wbs -application/vnd.ctc-posml pml -# application/vnd.ctct.ws+xml -# application/vnd.cups-pdf -# application/vnd.cups-postscript -application/vnd.cups-ppd ppd -# application/vnd.cups-raster -# application/vnd.cups-raw -# application/vnd.curl -application/vnd.curl.car car -application/vnd.curl.pcurl pcurl -# application/vnd.cybank -application/vnd.dart dart -application/vnd.data-vision.rdz rdz -application/vnd.dece.data uvf uvvf uvd uvvd -application/vnd.dece.ttml+xml uvt uvvt -application/vnd.dece.unspecified uvx uvvx -application/vnd.dece.zip uvz uvvz -application/vnd.denovo.fcselayout-link fe_launch -# application/vnd.dir-bi.plate-dl-nosuffix -application/vnd.dna dna -application/vnd.dolby.mlp mlp -# application/vnd.dolby.mobile.1 -# application/vnd.dolby.mobile.2 -application/vnd.dpgraph dpg -application/vnd.dreamfactory dfac -application/vnd.ds-keypoint kpxx -application/vnd.dvb.ait ait -# application/vnd.dvb.dvbj -# application/vnd.dvb.esgcontainer -# application/vnd.dvb.ipdcdftnotifaccess -# application/vnd.dvb.ipdcesgaccess -# application/vnd.dvb.ipdcesgaccess2 -# application/vnd.dvb.ipdcesgpdd -# application/vnd.dvb.ipdcroaming -# application/vnd.dvb.iptv.alfec-base -# application/vnd.dvb.iptv.alfec-enhancement -# application/vnd.dvb.notif-aggregate-root+xml -# application/vnd.dvb.notif-container+xml -# application/vnd.dvb.notif-generic+xml -# application/vnd.dvb.notif-ia-msglist+xml -# application/vnd.dvb.notif-ia-registration-request+xml -# application/vnd.dvb.notif-ia-registration-response+xml -# application/vnd.dvb.notif-init+xml -# application/vnd.dvb.pfr -application/vnd.dvb.service svc -# application/vnd.dxr -application/vnd.dynageo geo -# application/vnd.easykaraoke.cdgdownload -# application/vnd.ecdis-update -application/vnd.ecowin.chart mag -# application/vnd.ecowin.filerequest -# application/vnd.ecowin.fileupdate -# application/vnd.ecowin.series -# application/vnd.ecowin.seriesrequest -# application/vnd.ecowin.seriesupdate -# application/vnd.emclient.accessrequest+xml -application/vnd.enliven nml -# application/vnd.eprints.data+xml -application/vnd.epson.esf esf -application/vnd.epson.msf msf -application/vnd.epson.quickanime qam -application/vnd.epson.salt slt -application/vnd.epson.ssf ssf -# application/vnd.ericsson.quickcall -application/vnd.eszigno3+xml es3 et3 -# application/vnd.etsi.aoc+xml -# application/vnd.etsi.cug+xml -# application/vnd.etsi.iptvcommand+xml -# application/vnd.etsi.iptvdiscovery+xml -# application/vnd.etsi.iptvprofile+xml -# application/vnd.etsi.iptvsad-bc+xml -# application/vnd.etsi.iptvsad-cod+xml -# application/vnd.etsi.iptvsad-npvr+xml -# application/vnd.etsi.iptvservice+xml -# application/vnd.etsi.iptvsync+xml -# application/vnd.etsi.iptvueprofile+xml -# application/vnd.etsi.mcid+xml -# application/vnd.etsi.overload-control-policy-dataset+xml -# application/vnd.etsi.sci+xml -# application/vnd.etsi.simservs+xml -# application/vnd.etsi.tsl+xml -# application/vnd.etsi.tsl.der -# application/vnd.eudora.data -application/vnd.ezpix-album ez2 -application/vnd.ezpix-package ez3 -# application/vnd.f-secure.mobile -application/vnd.fdf fdf -application/vnd.fdsn.mseed mseed -application/vnd.fdsn.seed seed dataless -# application/vnd.ffsns -# application/vnd.fints -application/vnd.flographit gph -application/vnd.fluxtime.clip ftc -# application/vnd.font-fontforge-sfd -application/vnd.framemaker fm frame maker book -application/vnd.frogans.fnc fnc -application/vnd.frogans.ltf ltf -application/vnd.fsc.weblaunch fsc -application/vnd.fujitsu.oasys oas -application/vnd.fujitsu.oasys2 oa2 -application/vnd.fujitsu.oasys3 oa3 -application/vnd.fujitsu.oasysgp fg5 -application/vnd.fujitsu.oasysprs bh2 -# application/vnd.fujixerox.art-ex -# application/vnd.fujixerox.art4 -# application/vnd.fujixerox.hbpl -application/vnd.fujixerox.ddd ddd -application/vnd.fujixerox.docuworks xdw -application/vnd.fujixerox.docuworks.binder xbd -# application/vnd.fut-misnet -application/vnd.fuzzysheet fzs -application/vnd.genomatix.tuxedo txd -# application/vnd.geocube+xml -application/vnd.geogebra.file ggb -application/vnd.geogebra.tool ggt -application/vnd.geometry-explorer gex gre -application/vnd.geonext gxt -application/vnd.geoplan g2w -application/vnd.geospace g3w -# application/vnd.globalplatform.card-content-mgt -# application/vnd.globalplatform.card-content-mgt-response -application/vnd.gmx gmx -application/vnd.google-earth.kml+xml kml -application/vnd.google-earth.kmz kmz -application/vnd.grafeq gqf gqs -# application/vnd.gridmp -application/vnd.groove-account gac -application/vnd.groove-help ghf -application/vnd.groove-identity-message gim -application/vnd.groove-injector grv -application/vnd.groove-tool-message gtm -application/vnd.groove-tool-template tpl -application/vnd.groove-vcard vcg -# application/vnd.hal+json -application/vnd.hal+xml hal -application/vnd.handheld-entertainment+xml zmm -application/vnd.hbci hbci -# application/vnd.hcl-bireports -application/vnd.hhe.lesson-player les -application/vnd.hp-hpgl hpgl -application/vnd.hp-hpid hpid -application/vnd.hp-hps hps -application/vnd.hp-jlyt jlt -application/vnd.hp-pcl pcl -application/vnd.hp-pclxl pclxl -# application/vnd.httphone -application/vnd.hydrostatix.sof-data sfd-hdstx -# application/vnd.hzn-3d-crossword -# application/vnd.ibm.afplinedata -# application/vnd.ibm.electronic-media -application/vnd.ibm.minipay mpy -application/vnd.ibm.modcap afp listafp list3820 -application/vnd.ibm.rights-management irm -application/vnd.ibm.secure-container sc -application/vnd.iccprofile icc icm -application/vnd.igloader igl -application/vnd.immervision-ivp ivp -application/vnd.immervision-ivu ivu -# application/vnd.informedcontrol.rms+xml -# application/vnd.informix-visionary -# application/vnd.infotech.project -# application/vnd.infotech.project+xml -# application/vnd.innopath.wamp.notification -application/vnd.insors.igm igm -application/vnd.intercon.formnet xpw xpx -application/vnd.intergeo i2g -# application/vnd.intertrust.digibox -# application/vnd.intertrust.nncp -application/vnd.intu.qbo qbo -application/vnd.intu.qfx qfx -# application/vnd.iptc.g2.conceptitem+xml -# application/vnd.iptc.g2.knowledgeitem+xml -# application/vnd.iptc.g2.newsitem+xml -# application/vnd.iptc.g2.newsmessage+xml -# application/vnd.iptc.g2.packageitem+xml -# application/vnd.iptc.g2.planningitem+xml -application/vnd.ipunplugged.rcprofile rcprofile -application/vnd.irepository.package+xml irp -application/vnd.is-xpr xpr -application/vnd.isac.fcs fcs -application/vnd.jam jam -# application/vnd.japannet-directory-service -# application/vnd.japannet-jpnstore-wakeup -# application/vnd.japannet-payment-wakeup -# application/vnd.japannet-registration -# application/vnd.japannet-registration-wakeup -# application/vnd.japannet-setstore-wakeup -# application/vnd.japannet-verification -# application/vnd.japannet-verification-wakeup -application/vnd.jcp.javame.midlet-rms rms -application/vnd.jisp jisp -application/vnd.joost.joda-archive joda -application/vnd.kahootz ktz ktr -application/vnd.kde.karbon karbon -application/vnd.kde.kchart chrt -application/vnd.kde.kformula kfo -application/vnd.kde.kivio flw -application/vnd.kde.kontour kon -application/vnd.kde.kpresenter kpr kpt -application/vnd.kde.kspread ksp -application/vnd.kde.kword kwd kwt -application/vnd.kenameaapp htke -application/vnd.kidspiration kia -application/vnd.kinar kne knp -application/vnd.koan skp skd skt skm -application/vnd.kodak-descriptor sse -application/vnd.las.las+xml lasxml -# application/vnd.liberty-request+xml -application/vnd.llamagraphics.life-balance.desktop lbd -application/vnd.llamagraphics.life-balance.exchange+xml lbe -application/vnd.lotus-1-2-3 123 -application/vnd.lotus-approach apr -application/vnd.lotus-freelance pre -application/vnd.lotus-notes nsf -application/vnd.lotus-organizer org -application/vnd.lotus-screencam scm -application/vnd.lotus-wordpro lwp -application/vnd.macports.portpkg portpkg -# application/vnd.marlin.drm.actiontoken+xml -# application/vnd.marlin.drm.conftoken+xml -# application/vnd.marlin.drm.license+xml -# application/vnd.marlin.drm.mdcf -application/vnd.mcd mcd -application/vnd.medcalcdata mc1 -application/vnd.mediastation.cdkey cdkey -# application/vnd.meridian-slingshot -application/vnd.mfer mwf -application/vnd.mfmp mfm -application/vnd.micrografx.flo flo -application/vnd.micrografx.igx igx -application/vnd.mif mif -# application/vnd.minisoft-hp3000-save -# application/vnd.mitsubishi.misty-guard.trustweb -application/vnd.mobius.daf daf -application/vnd.mobius.dis dis -application/vnd.mobius.mbk mbk -application/vnd.mobius.mqy mqy -application/vnd.mobius.msl msl -application/vnd.mobius.plc plc -application/vnd.mobius.txf txf -application/vnd.mophun.application mpn -application/vnd.mophun.certificate mpc -# application/vnd.motorola.flexsuite -# application/vnd.motorola.flexsuite.adsi -# application/vnd.motorola.flexsuite.fis -# application/vnd.motorola.flexsuite.gotap -# application/vnd.motorola.flexsuite.kmr -# application/vnd.motorola.flexsuite.ttc -# application/vnd.motorola.flexsuite.wem -# application/vnd.motorola.iprm -application/vnd.mozilla.xul+xml xul -application/vnd.ms-artgalry cil -# application/vnd.ms-asf -application/vnd.ms-cab-compressed cab -# application/vnd.ms-color.iccprofile -application/vnd.ms-excel xls xlm xla xlc xlt xlw -application/vnd.ms-excel.addin.macroenabled.12 xlam -application/vnd.ms-excel.sheet.binary.macroenabled.12 xlsb -application/vnd.ms-excel.sheet.macroenabled.12 xlsm -application/vnd.ms-excel.template.macroenabled.12 xltm -application/vnd.ms-fontobject eot -application/vnd.ms-htmlhelp chm -application/vnd.ms-ims ims -application/vnd.ms-lrm lrm -# application/vnd.ms-office.activex+xml -application/vnd.ms-officetheme thmx -# application/vnd.ms-opentype -# application/vnd.ms-package.obfuscated-opentype -application/vnd.ms-pki.seccat cat -application/vnd.ms-pki.stl stl -# application/vnd.ms-playready.initiator+xml -application/vnd.ms-powerpoint ppt pps pot -application/vnd.ms-powerpoint.addin.macroenabled.12 ppam -application/vnd.ms-powerpoint.presentation.macroenabled.12 pptm -application/vnd.ms-powerpoint.slide.macroenabled.12 sldm -application/vnd.ms-powerpoint.slideshow.macroenabled.12 ppsm -application/vnd.ms-powerpoint.template.macroenabled.12 potm -# application/vnd.ms-printing.printticket+xml -application/vnd.ms-project mpp mpt -# application/vnd.ms-tnef -# application/vnd.ms-wmdrm.lic-chlg-req -# application/vnd.ms-wmdrm.lic-resp -# application/vnd.ms-wmdrm.meter-chlg-req -# application/vnd.ms-wmdrm.meter-resp -application/vnd.ms-word.document.macroenabled.12 docm -application/vnd.ms-word.template.macroenabled.12 dotm -application/vnd.ms-works wps wks wcm wdb -application/vnd.ms-wpl wpl -application/vnd.ms-xpsdocument xps -application/vnd.mseq mseq -# application/vnd.msign -# application/vnd.multiad.creator -# application/vnd.multiad.creator.cif -# application/vnd.music-niff -application/vnd.musician mus -application/vnd.muvee.style msty -application/vnd.mynfc taglet -# application/vnd.ncd.control -# application/vnd.ncd.reference -# application/vnd.nervana -# application/vnd.netfpx -application/vnd.neurolanguage.nlu nlu -application/vnd.nitf ntf nitf -application/vnd.noblenet-directory nnd -application/vnd.noblenet-sealer nns -application/vnd.noblenet-web nnw -# application/vnd.nokia.catalogs -# application/vnd.nokia.conml+wbxml -# application/vnd.nokia.conml+xml -# application/vnd.nokia.isds-radio-presets -# application/vnd.nokia.iptv.config+xml -# application/vnd.nokia.landmark+wbxml -# application/vnd.nokia.landmark+xml -# application/vnd.nokia.landmarkcollection+xml -# application/vnd.nokia.n-gage.ac+xml -application/vnd.nokia.n-gage.data ngdat -application/vnd.nokia.n-gage.symbian.install n-gage -# application/vnd.nokia.ncd -# application/vnd.nokia.pcd+wbxml -# application/vnd.nokia.pcd+xml -application/vnd.nokia.radio-preset rpst -application/vnd.nokia.radio-presets rpss -application/vnd.novadigm.edm edm -application/vnd.novadigm.edx edx -application/vnd.novadigm.ext ext -# application/vnd.ntt-local.file-transfer -# application/vnd.ntt-local.sip-ta_remote -# application/vnd.ntt-local.sip-ta_tcp_stream -application/vnd.oasis.opendocument.chart odc -application/vnd.oasis.opendocument.chart-template otc -application/vnd.oasis.opendocument.database odb -application/vnd.oasis.opendocument.formula odf -application/vnd.oasis.opendocument.formula-template odft -application/vnd.oasis.opendocument.graphics odg -application/vnd.oasis.opendocument.graphics-template otg -application/vnd.oasis.opendocument.image odi -application/vnd.oasis.opendocument.image-template oti -application/vnd.oasis.opendocument.presentation odp -application/vnd.oasis.opendocument.presentation-template otp -application/vnd.oasis.opendocument.spreadsheet ods -application/vnd.oasis.opendocument.spreadsheet-template ots -application/vnd.oasis.opendocument.text odt -application/vnd.oasis.opendocument.text-master odm -application/vnd.oasis.opendocument.text-template ott -application/vnd.oasis.opendocument.text-web oth -# application/vnd.obn -# application/vnd.oftn.l10n+json -# application/vnd.oipf.contentaccessdownload+xml -# application/vnd.oipf.contentaccessstreaming+xml -# application/vnd.oipf.cspg-hexbinary -# application/vnd.oipf.dae.svg+xml -# application/vnd.oipf.dae.xhtml+xml -# application/vnd.oipf.mippvcontrolmessage+xml -# application/vnd.oipf.pae.gem -# application/vnd.oipf.spdiscovery+xml -# application/vnd.oipf.spdlist+xml -# application/vnd.oipf.ueprofile+xml -# application/vnd.oipf.userprofile+xml -application/vnd.olpc-sugar xo -# application/vnd.oma-scws-config -# application/vnd.oma-scws-http-request -# application/vnd.oma-scws-http-response -# application/vnd.oma.bcast.associated-procedure-parameter+xml -# application/vnd.oma.bcast.drm-trigger+xml -# application/vnd.oma.bcast.imd+xml -# application/vnd.oma.bcast.ltkm -# application/vnd.oma.bcast.notification+xml -# application/vnd.oma.bcast.provisioningtrigger -# application/vnd.oma.bcast.sgboot -# application/vnd.oma.bcast.sgdd+xml -# application/vnd.oma.bcast.sgdu -# application/vnd.oma.bcast.simple-symbol-container -# application/vnd.oma.bcast.smartcard-trigger+xml -# application/vnd.oma.bcast.sprov+xml -# application/vnd.oma.bcast.stkm -# application/vnd.oma.cab-address-book+xml -# application/vnd.oma.cab-feature-handler+xml -# application/vnd.oma.cab-pcc+xml -# application/vnd.oma.cab-user-prefs+xml -# application/vnd.oma.dcd -# application/vnd.oma.dcdc -application/vnd.oma.dd2+xml dd2 -# application/vnd.oma.drm.risd+xml -# application/vnd.oma.group-usage-list+xml -# application/vnd.oma.pal+xml -# application/vnd.oma.poc.detailed-progress-report+xml -# application/vnd.oma.poc.final-report+xml -# application/vnd.oma.poc.groups+xml -# application/vnd.oma.poc.invocation-descriptor+xml -# application/vnd.oma.poc.optimized-progress-report+xml -# application/vnd.oma.push -# application/vnd.oma.scidm.messages+xml -# application/vnd.oma.xcap-directory+xml -# application/vnd.omads-email+xml -# application/vnd.omads-file+xml -# application/vnd.omads-folder+xml -# application/vnd.omaloc-supl-init -application/vnd.openofficeorg.extension oxt -# application/vnd.openxmlformats-officedocument.custom-properties+xml -# application/vnd.openxmlformats-officedocument.customxmlproperties+xml -# application/vnd.openxmlformats-officedocument.drawing+xml -# application/vnd.openxmlformats-officedocument.drawingml.chart+xml -# application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml -# application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml -# application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml -# application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml -# application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml -# application/vnd.openxmlformats-officedocument.extended-properties+xml -# application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml -# application/vnd.openxmlformats-officedocument.presentationml.comments+xml -# application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml -# application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml -# application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml -application/vnd.openxmlformats-officedocument.presentationml.presentation pptx -# application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml -# application/vnd.openxmlformats-officedocument.presentationml.presprops+xml -application/vnd.openxmlformats-officedocument.presentationml.slide sldx -# application/vnd.openxmlformats-officedocument.presentationml.slide+xml -# application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml -# application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml -application/vnd.openxmlformats-officedocument.presentationml.slideshow ppsx -# application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml -# application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml -# application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml -# application/vnd.openxmlformats-officedocument.presentationml.tags+xml -application/vnd.openxmlformats-officedocument.presentationml.template potx -# application/vnd.openxmlformats-officedocument.presentationml.template.main+xml -# application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml -# application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml -# application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml -# application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml -# application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml -# application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml -# application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml -# application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml -# application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml -# application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml -# application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml -# application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml -# application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml -# application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml -application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx -# application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml -# application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml -# application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml -# application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml -# application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml -application/vnd.openxmlformats-officedocument.spreadsheetml.template xltx -# application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml -# application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml -# application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml -# application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml -# application/vnd.openxmlformats-officedocument.theme+xml -# application/vnd.openxmlformats-officedocument.themeoverride+xml -# application/vnd.openxmlformats-officedocument.vmldrawing -# application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml -application/vnd.openxmlformats-officedocument.wordprocessingml.document docx -# application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml -# application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml -# application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml -# application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml -# application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml -# application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml -# application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml -# application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml -# application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml -application/vnd.openxmlformats-officedocument.wordprocessingml.template dotx -# application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml -# application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml -# application/vnd.openxmlformats-package.core-properties+xml -# application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml -# application/vnd.openxmlformats-package.relationships+xml -# application/vnd.quobject-quoxdocument -# application/vnd.osa.netdeploy -application/vnd.osgeo.mapguide.package mgp -# application/vnd.osgi.bundle -application/vnd.osgi.dp dp -application/vnd.osgi.subsystem esa -# application/vnd.otps.ct-kip+xml -application/vnd.palm pdb pqa oprc -# application/vnd.paos.xml -application/vnd.pawaafile paw -application/vnd.pg.format str -application/vnd.pg.osasli ei6 -# application/vnd.piaccess.application-licence -application/vnd.picsel efif -application/vnd.pmi.widget wg -# application/vnd.poc.group-advertisement+xml -application/vnd.pocketlearn plf -application/vnd.powerbuilder6 pbd -# application/vnd.powerbuilder6-s -# application/vnd.powerbuilder7 -# application/vnd.powerbuilder7-s -# application/vnd.powerbuilder75 -# application/vnd.powerbuilder75-s -# application/vnd.preminet -application/vnd.previewsystems.box box -application/vnd.proteus.magazine mgz -application/vnd.publishare-delta-tree qps -application/vnd.pvi.ptid1 ptid -# application/vnd.pwg-multiplexed -# application/vnd.pwg-xhtml-print+xml -# application/vnd.qualcomm.brew-app-res -application/vnd.quark.quarkxpress qxd qxt qwd qwt qxl qxb -# application/vnd.radisys.moml+xml -# application/vnd.radisys.msml+xml -# application/vnd.radisys.msml-audit+xml -# application/vnd.radisys.msml-audit-conf+xml -# application/vnd.radisys.msml-audit-conn+xml -# application/vnd.radisys.msml-audit-dialog+xml -# application/vnd.radisys.msml-audit-stream+xml -# application/vnd.radisys.msml-conf+xml -# application/vnd.radisys.msml-dialog+xml -# application/vnd.radisys.msml-dialog-base+xml -# application/vnd.radisys.msml-dialog-fax-detect+xml -# application/vnd.radisys.msml-dialog-fax-sendrecv+xml -# application/vnd.radisys.msml-dialog-group+xml -# application/vnd.radisys.msml-dialog-speech+xml -# application/vnd.radisys.msml-dialog-transform+xml -# application/vnd.rainstor.data -# application/vnd.rapid -application/vnd.realvnc.bed bed -application/vnd.recordare.musicxml mxl -application/vnd.recordare.musicxml+xml musicxml -# application/vnd.renlearn.rlprint -application/vnd.rig.cryptonote cryptonote -application/vnd.rim.cod cod -application/vnd.rn-realmedia rm -application/vnd.rn-realmedia-vbr rmvb -application/vnd.route66.link66+xml link66 -# application/vnd.rs-274x -# application/vnd.ruckus.download -# application/vnd.s3sms -application/vnd.sailingtracker.track st -# application/vnd.sbm.cid -# application/vnd.sbm.mid2 -# application/vnd.scribus -# application/vnd.sealed.3df -# application/vnd.sealed.csf -# application/vnd.sealed.doc -# application/vnd.sealed.eml -# application/vnd.sealed.mht -# application/vnd.sealed.net -# application/vnd.sealed.ppt -# application/vnd.sealed.tiff -# application/vnd.sealed.xls -# application/vnd.sealedmedia.softseal.html -# application/vnd.sealedmedia.softseal.pdf -application/vnd.seemail see -application/vnd.sema sema -application/vnd.semd semd -application/vnd.semf semf -application/vnd.shana.informed.formdata ifm -application/vnd.shana.informed.formtemplate itp -application/vnd.shana.informed.interchange iif -application/vnd.shana.informed.package ipk -application/vnd.simtech-mindmapper twd twds -application/vnd.smaf mmf -# application/vnd.smart.notebook -application/vnd.smart.teacher teacher -# application/vnd.software602.filler.form+xml -# application/vnd.software602.filler.form-xml-zip -application/vnd.solent.sdkm+xml sdkm sdkd -application/vnd.spotfire.dxp dxp -application/vnd.spotfire.sfs sfs -# application/vnd.sss-cod -# application/vnd.sss-dtf -# application/vnd.sss-ntf -application/vnd.stardivision.calc sdc -application/vnd.stardivision.draw sda -application/vnd.stardivision.impress sdd -application/vnd.stardivision.math smf -application/vnd.stardivision.writer sdw vor -application/vnd.stardivision.writer-global sgl -application/vnd.stepmania.package smzip -application/vnd.stepmania.stepchart sm -# application/vnd.street-stream -application/vnd.sun.xml.calc sxc -application/vnd.sun.xml.calc.template stc -application/vnd.sun.xml.draw sxd -application/vnd.sun.xml.draw.template std -application/vnd.sun.xml.impress sxi -application/vnd.sun.xml.impress.template sti -application/vnd.sun.xml.math sxm -application/vnd.sun.xml.writer sxw -application/vnd.sun.xml.writer.global sxg -application/vnd.sun.xml.writer.template stw -# application/vnd.sun.wadl+xml -application/vnd.sus-calendar sus susp -application/vnd.svd svd -# application/vnd.swiftview-ics -application/vnd.symbian.install sis sisx -application/vnd.syncml+xml xsm -application/vnd.syncml.dm+wbxml bdm -application/vnd.syncml.dm+xml xdm -# application/vnd.syncml.dm.notification -# application/vnd.syncml.ds.notification -application/vnd.tao.intent-module-archive tao -application/vnd.tcpdump.pcap pcap cap dmp -application/vnd.tmobile-livetv tmo -application/vnd.trid.tpt tpt -application/vnd.triscape.mxs mxs -application/vnd.trueapp tra -# application/vnd.truedoc -# application/vnd.ubisoft.webplayer -application/vnd.ufdl ufd ufdl -application/vnd.uiq.theme utz -application/vnd.umajin umj -application/vnd.unity unityweb -application/vnd.uoml+xml uoml -# application/vnd.uplanet.alert -# application/vnd.uplanet.alert-wbxml -# application/vnd.uplanet.bearer-choice -# application/vnd.uplanet.bearer-choice-wbxml -# application/vnd.uplanet.cacheop -# application/vnd.uplanet.cacheop-wbxml -# application/vnd.uplanet.channel -# application/vnd.uplanet.channel-wbxml -# application/vnd.uplanet.list -# application/vnd.uplanet.list-wbxml -# application/vnd.uplanet.listcmd -# application/vnd.uplanet.listcmd-wbxml -# application/vnd.uplanet.signal -application/vnd.vcx vcx -# application/vnd.vd-study -# application/vnd.vectorworks -# application/vnd.verimatrix.vcas -# application/vnd.vidsoft.vidconference -application/vnd.visio vsd vst vss vsw -application/vnd.visionary vis -# application/vnd.vividence.scriptfile -application/vnd.vsf vsf -# application/vnd.wap.sic -# application/vnd.wap.slc -application/vnd.wap.wbxml wbxml -application/vnd.wap.wmlc wmlc -application/vnd.wap.wmlscriptc wmlsc -application/vnd.webturbo wtb -# application/vnd.wfa.wsc -# application/vnd.wmc -# application/vnd.wmf.bootstrap -# application/vnd.wolfram.mathematica -# application/vnd.wolfram.mathematica.package -application/vnd.wolfram.player nbp -application/vnd.wordperfect wpd -application/vnd.wqd wqd -# application/vnd.wrq-hp3000-labelled -application/vnd.wt.stf stf -# application/vnd.wv.csp+wbxml -# application/vnd.wv.csp+xml -# application/vnd.wv.ssp+xml -application/vnd.xara xar -application/vnd.xfdl xfdl -# application/vnd.xfdl.webform -# application/vnd.xmi+xml -# application/vnd.xmpie.cpkg -# application/vnd.xmpie.dpkg -# application/vnd.xmpie.plan -# application/vnd.xmpie.ppkg -# application/vnd.xmpie.xlim -application/vnd.yamaha.hv-dic hvd -application/vnd.yamaha.hv-script hvs -application/vnd.yamaha.hv-voice hvp -application/vnd.yamaha.openscoreformat osf -application/vnd.yamaha.openscoreformat.osfpvg+xml osfpvg -# application/vnd.yamaha.remote-setup -application/vnd.yamaha.smaf-audio saf -application/vnd.yamaha.smaf-phrase spf -# application/vnd.yamaha.through-ngn -# application/vnd.yamaha.tunnel-udpencap -application/vnd.yellowriver-custom-menu cmp -application/vnd.zul zir zirz -application/vnd.zzazz.deck+xml zaz -application/voicexml+xml vxml -# application/vq-rtcpxr -# application/watcherinfo+xml -# application/whoispp-query -# application/whoispp-response -application/widget wgt -application/winhlp hlp -# application/wita -# application/wordperfect5.1 -application/wsdl+xml wsdl -application/wspolicy+xml wspolicy -application/x-7z-compressed 7z -application/x-abiword abw -application/x-ace-compressed ace -# application/x-amf -application/x-apple-diskimage dmg -application/x-authorware-bin aab x32 u32 vox -application/x-authorware-map aam -application/x-authorware-seg aas -application/x-bcpio bcpio -application/x-bittorrent torrent -application/x-blorb blb blorb -application/x-bzip bz -application/x-bzip2 bz2 boz -application/x-cbr cbr cba cbt cbz cb7 -application/x-cdlink vcd -application/x-cfs-compressed cfs -application/x-chat chat -application/x-chess-pgn pgn -application/x-conference nsc -# application/x-compress -application/x-cpio cpio -application/x-csh csh -application/x-debian-package deb udeb -application/x-dgc-compressed dgc -application/x-director dir dcr dxr cst cct cxt w3d fgd swa -application/x-doom wad -application/x-dtbncx+xml ncx -application/x-dtbook+xml dtb -application/x-dtbresource+xml res -application/x-dvi dvi -application/x-envoy evy -application/x-eva eva -application/x-font-bdf bdf -# application/x-font-dos -# application/x-font-framemaker -application/x-font-ghostscript gsf -# application/x-font-libgrx -application/x-font-linux-psf psf -application/x-font-otf otf -application/x-font-pcf pcf -application/x-font-snf snf -# application/x-font-speedo -# application/x-font-sunos-news -application/x-font-ttf ttf ttc -application/x-font-type1 pfa pfb pfm afm -application/x-font-woff woff -# application/x-font-vfont -application/x-freearc arc -application/x-futuresplash spl -application/x-gca-compressed gca -application/x-glulx ulx -application/x-gnumeric gnumeric -application/x-gramps-xml gramps -application/x-gtar gtar -# application/x-gzip -application/x-hdf hdf -application/x-install-instructions install -application/x-iso9660-image iso -application/x-java-jnlp-file jnlp -application/x-latex latex -application/x-lzh-compressed lzh lha -application/x-mie mie -application/x-mobipocket-ebook prc mobi -application/x-ms-application application -application/x-ms-shortcut lnk -application/x-ms-wmd wmd -application/x-ms-wmz wmz -application/x-ms-xbap xbap -application/x-msaccess mdb -application/x-msbinder obd -application/x-mscardfile crd -application/x-msclip clp -application/x-msdownload exe dll com bat msi -application/x-msmediaview mvb m13 m14 -application/x-msmetafile wmf wmz emf emz -application/x-msmoney mny -application/x-mspublisher pub -application/x-msschedule scd -application/x-msterminal trm -application/x-mswrite wri -application/x-netcdf nc cdf -application/x-nzb nzb -application/x-pkcs12 p12 pfx -application/x-pkcs7-certificates p7b spc -application/x-pkcs7-certreqresp p7r -application/x-rar-compressed rar -application/x-research-info-systems ris -application/x-sh sh -application/x-shar shar -application/x-shockwave-flash swf -application/x-silverlight-app xap -application/x-sql sql -application/x-stuffit sit -application/x-stuffitx sitx -application/x-subrip srt -application/x-sv4cpio sv4cpio -application/x-sv4crc sv4crc -application/x-t3vm-image t3 -application/x-tads gam -application/x-tar tar -application/x-tcl tcl -application/x-tex tex -application/x-tex-tfm tfm -application/x-texinfo texinfo texi -application/x-tgif obj -application/x-ustar ustar -application/x-wais-source src -application/x-x509-ca-cert der crt -application/x-xfig fig -application/x-xliff+xml xlf -application/x-xpinstall xpi -application/x-xz xz -application/x-zmachine z1 z2 z3 z4 z5 z6 z7 z8 -# application/x400-bp -application/xaml+xml xaml -# application/xcap-att+xml -# application/xcap-caps+xml -application/xcap-diff+xml xdf -# application/xcap-el+xml -# application/xcap-error+xml -# application/xcap-ns+xml -# application/xcon-conference-info-diff+xml -# application/xcon-conference-info+xml -application/xenc+xml xenc -application/xhtml+xml xhtml xht -# application/xhtml-voice+xml -application/xml xml xsl -application/xml-dtd dtd -# application/xml-external-parsed-entity -# application/xmpp+xml -application/xop+xml xop -application/xproc+xml xpl -application/xslt+xml xslt -application/xspf+xml xspf -application/xv+xml mxml xhvml xvml xvm -application/yang yang -application/yin+xml yin -application/zip zip -# audio/1d-interleaved-parityfec -# audio/32kadpcm -# audio/3gpp -# audio/3gpp2 -# audio/ac3 -audio/adpcm adp -# audio/amr -# audio/amr-wb -# audio/amr-wb+ -# audio/asc -# audio/atrac-advanced-lossless -# audio/atrac-x -# audio/atrac3 -audio/basic au snd -# audio/bv16 -# audio/bv32 -# audio/clearmode -# audio/cn -# audio/dat12 -# audio/dls -# audio/dsr-es201108 -# audio/dsr-es202050 -# audio/dsr-es202211 -# audio/dsr-es202212 -# audio/dv -# audio/dvi4 -# audio/eac3 -# audio/evrc -# audio/evrc-qcp -# audio/evrc0 -# audio/evrc1 -# audio/evrcb -# audio/evrcb0 -# audio/evrcb1 -# audio/evrcwb -# audio/evrcwb0 -# audio/evrcwb1 -# audio/example -# audio/fwdred -# audio/g719 -# audio/g722 -# audio/g7221 -# audio/g723 -# audio/g726-16 -# audio/g726-24 -# audio/g726-32 -# audio/g726-40 -# audio/g728 -# audio/g729 -# audio/g7291 -# audio/g729d -# audio/g729e -# audio/gsm -# audio/gsm-efr -# audio/gsm-hr-08 -# audio/ilbc -# audio/ip-mr_v2.5 -# audio/isac -# audio/l16 -# audio/l20 -# audio/l24 -# audio/l8 -# audio/lpc -audio/midi mid midi kar rmi -# audio/mobile-xmf -audio/mp4 mp4a -# audio/mp4a-latm -# audio/mpa -# audio/mpa-robust -audio/mpeg mpga mp2 mp2a mp3 m2a m3a -# audio/mpeg4-generic -# audio/musepack -audio/ogg oga ogg spx -# audio/opus -# audio/parityfec -# audio/pcma -# audio/pcma-wb -# audio/pcmu-wb -# audio/pcmu -# audio/prs.sid -# audio/qcelp -# audio/red -# audio/rtp-enc-aescm128 -# audio/rtp-midi -# audio/rtx -audio/s3m s3m -audio/silk sil -# audio/smv -# audio/smv0 -# audio/smv-qcp -# audio/sp-midi -# audio/speex -# audio/t140c -# audio/t38 -# audio/telephone-event -# audio/tone -# audio/uemclip -# audio/ulpfec -# audio/vdvi -# audio/vmr-wb -# audio/vnd.3gpp.iufp -# audio/vnd.4sb -# audio/vnd.audiokoz -# audio/vnd.celp -# audio/vnd.cisco.nse -# audio/vnd.cmles.radio-events -# audio/vnd.cns.anp1 -# audio/vnd.cns.inf1 -audio/vnd.dece.audio uva uvva -audio/vnd.digital-winds eol -# audio/vnd.dlna.adts -# audio/vnd.dolby.heaac.1 -# audio/vnd.dolby.heaac.2 -# audio/vnd.dolby.mlp -# audio/vnd.dolby.mps -# audio/vnd.dolby.pl2 -# audio/vnd.dolby.pl2x -# audio/vnd.dolby.pl2z -# audio/vnd.dolby.pulse.1 -audio/vnd.dra dra -audio/vnd.dts dts -audio/vnd.dts.hd dtshd -# audio/vnd.dvb.file -# audio/vnd.everad.plj -# audio/vnd.hns.audio -audio/vnd.lucent.voice lvp -audio/vnd.ms-playready.media.pya pya -# audio/vnd.nokia.mobile-xmf -# audio/vnd.nortel.vbk -audio/vnd.nuera.ecelp4800 ecelp4800 -audio/vnd.nuera.ecelp7470 ecelp7470 -audio/vnd.nuera.ecelp9600 ecelp9600 -# audio/vnd.octel.sbc -# audio/vnd.qcelp -# audio/vnd.rhetorex.32kadpcm -audio/vnd.rip rip -# audio/vnd.sealedmedia.softseal.mpeg -# audio/vnd.vmx.cvsd -# audio/vorbis -# audio/vorbis-config -audio/webm weba -audio/x-aac aac -audio/x-aiff aif aiff aifc -audio/x-caf caf -audio/x-flac flac -audio/x-matroska mka -audio/x-mpegurl m3u -audio/x-ms-wax wax -audio/x-ms-wma wma -audio/x-pn-realaudio ram ra -audio/x-pn-realaudio-plugin rmp -# audio/x-tta -audio/x-wav wav -audio/xm xm -chemical/x-cdx cdx -chemical/x-cif cif -chemical/x-cmdf cmdf -chemical/x-cml cml -chemical/x-csml csml -# chemical/x-pdb -chemical/x-xyz xyz -image/bmp bmp -image/cgm cgm -# image/example -# image/fits -image/g3fax g3 -image/gif gif -image/ief ief -# image/jp2 -image/jpeg jpeg jpg jpe -# image/jpm -# image/jpx -image/ktx ktx -# image/naplps -image/png png -image/prs.btif btif -# image/prs.pti -image/sgi sgi -image/svg+xml svg svgz -# image/t38 -image/tiff tiff tif -# image/tiff-fx -image/vnd.adobe.photoshop psd -# image/vnd.cns.inf2 -image/vnd.dece.graphic uvi uvvi uvg uvvg -image/vnd.dvb.subtitle sub -image/vnd.djvu djvu djv -image/vnd.dwg dwg -image/vnd.dxf dxf -image/vnd.fastbidsheet fbs -image/vnd.fpx fpx -image/vnd.fst fst -image/vnd.fujixerox.edmics-mmr mmr -image/vnd.fujixerox.edmics-rlc rlc -# image/vnd.globalgraphics.pgb -# image/vnd.microsoft.icon -# image/vnd.mix -image/vnd.ms-modi mdi -image/vnd.ms-photo wdp -image/vnd.net-fpx npx -# image/vnd.radiance -# image/vnd.sealed.png -# image/vnd.sealedmedia.softseal.gif -# image/vnd.sealedmedia.softseal.jpg -# image/vnd.svf -image/vnd.wap.wbmp wbmp -image/vnd.xiff xif -image/webp webp -image/x-3ds 3ds -image/x-cmu-raster ras -image/x-cmx cmx -image/x-freehand fh fhc fh4 fh5 fh7 -image/x-icon ico -image/x-mrsid-image sid -image/x-pcx pcx -image/x-pict pic pct -image/x-portable-anymap pnm -image/x-portable-bitmap pbm -image/x-portable-graymap pgm -image/x-portable-pixmap ppm -image/x-rgb rgb -image/x-tga tga -image/x-xbitmap xbm -image/x-xpixmap xpm -image/x-xwindowdump xwd -# message/cpim -# message/delivery-status -# message/disposition-notification -# message/example -# message/external-body -# message/feedback-report -# message/global -# message/global-delivery-status -# message/global-disposition-notification -# message/global-headers -# message/http -# message/imdn+xml -# message/news -# message/partial -message/rfc822 eml mime -# message/s-http -# message/sip -# message/sipfrag -# message/tracking-status -# message/vnd.si.simp -# model/example -model/iges igs iges -model/mesh msh mesh silo -model/vnd.collada+xml dae -model/vnd.dwf dwf -# model/vnd.flatland.3dml -model/vnd.gdl gdl -# model/vnd.gs-gdl -# model/vnd.gs.gdl -model/vnd.gtw gtw -# model/vnd.moml+xml -model/vnd.mts mts -# model/vnd.parasolid.transmit.binary -# model/vnd.parasolid.transmit.text -model/vnd.vtu vtu -model/vrml wrl vrml -model/x3d+binary x3db x3dbz -model/x3d+vrml x3dv x3dvz -model/x3d+xml x3d x3dz -# multipart/alternative -# multipart/appledouble -# multipart/byteranges -# multipart/digest -# multipart/encrypted -# multipart/example -# multipart/form-data -# multipart/header-set -# multipart/mixed -# multipart/parallel -# multipart/related -# multipart/report -# multipart/signed -# multipart/voice-message -# text/1d-interleaved-parityfec -text/cache-manifest appcache -text/calendar ics ifb -text/css css -text/csv csv -# text/directory -# text/dns -# text/ecmascript -# text/enriched -# text/example -# text/fwdred -text/html html htm -# text/javascript -text/n3 n3 -# text/parityfec -text/plain txt text conf def list log in -# text/prs.fallenstein.rst -text/prs.lines.tag dsc -# text/vnd.radisys.msml-basic-layout -# text/red -# text/rfc822-headers -text/richtext rtx -# text/rtf -# text/rtp-enc-aescm128 -# text/rtx -text/sgml sgml sgm -# text/t140 -text/tab-separated-values tsv -text/troff t tr roff man me ms -text/turtle ttl -# text/ulpfec -text/uri-list uri uris urls -text/vcard vcard -# text/vnd.abc -text/vnd.curl curl -text/vnd.curl.dcurl dcurl -text/vnd.curl.scurl scurl -text/vnd.curl.mcurl mcurl -# text/vnd.dmclientscript -text/vnd.dvb.subtitle sub -# text/vnd.esmertec.theme-descriptor -text/vnd.fly fly -text/vnd.fmi.flexstor flx -text/vnd.graphviz gv -text/vnd.in3d.3dml 3dml -text/vnd.in3d.spot spot -# text/vnd.iptc.newsml -# text/vnd.iptc.nitf -# text/vnd.latex-z -# text/vnd.motorola.reflex -# text/vnd.ms-mediapackage -# text/vnd.net2phone.commcenter.command -# text/vnd.si.uricatalogue -text/vnd.sun.j2me.app-descriptor jad -# text/vnd.trolltech.linguist -# text/vnd.wap.si -# text/vnd.wap.sl -text/vnd.wap.wml wml -text/vnd.wap.wmlscript wmls -text/x-asm s asm -text/x-c c cc cxx cpp h hh dic -text/x-fortran f for f77 f90 -text/x-java-source java -text/x-opml opml -text/x-pascal p pas -text/x-nfo nfo -text/x-setext etx -text/x-sfv sfv -text/x-uuencode uu -text/x-vcalendar vcs -text/x-vcard vcf -# text/xml -# text/xml-external-parsed-entity -# video/1d-interleaved-parityfec -video/3gpp 3gp -# video/3gpp-tt -video/3gpp2 3g2 -# video/bmpeg -# video/bt656 -# video/celb -# video/dv -# video/example -video/h261 h261 -video/h263 h263 -# video/h263-1998 -# video/h263-2000 -video/h264 h264 -# video/h264-rcdo -# video/h264-svc -video/jpeg jpgv -# video/jpeg2000 -video/jpm jpm jpgm -video/mj2 mj2 mjp2 -# video/mp1s -# video/mp2p -# video/mp2t -video/mp4 mp4 mp4v mpg4 -# video/mp4v-es -video/mpeg mpeg mpg mpe m1v m2v -# video/mpeg4-generic -# video/mpv -# video/nv -video/ogg ogv -# video/parityfec -# video/pointer -video/quicktime qt mov -# video/raw -# video/rtp-enc-aescm128 -# video/rtx -# video/smpte292m -# video/ulpfec -# video/vc1 -# video/vnd.cctv -video/vnd.dece.hd uvh uvvh -video/vnd.dece.mobile uvm uvvm -# video/vnd.dece.mp4 -video/vnd.dece.pd uvp uvvp -video/vnd.dece.sd uvs uvvs -video/vnd.dece.video uvv uvvv -# video/vnd.directv.mpeg -# video/vnd.directv.mpeg-tts -# video/vnd.dlna.mpeg-tts -video/vnd.dvb.file dvb -video/vnd.fvt fvt -# video/vnd.hns.video -# video/vnd.iptvforum.1dparityfec-1010 -# video/vnd.iptvforum.1dparityfec-2005 -# video/vnd.iptvforum.2dparityfec-1010 -# video/vnd.iptvforum.2dparityfec-2005 -# video/vnd.iptvforum.ttsavc -# video/vnd.iptvforum.ttsmpeg2 -# video/vnd.motorola.video -# video/vnd.motorola.videop -video/vnd.mpegurl mxu m4u -video/vnd.ms-playready.media.pyv pyv -# video/vnd.nokia.interleaved-multimedia -# video/vnd.nokia.videovoip -# video/vnd.objectvideo -# video/vnd.sealed.mpeg1 -# video/vnd.sealed.mpeg4 -# video/vnd.sealed.swf -# video/vnd.sealedmedia.softseal.mov -video/vnd.uvvu.mp4 uvu uvvu -video/vnd.vivo viv -video/webm webm -video/x-f4v f4v -video/x-fli fli -video/x-flv flv -video/x-m4v m4v -video/x-matroska mkv mk3d mks -video/x-mng mng -video/x-ms-asf asf asx -video/x-ms-vob vob -video/x-ms-wm wm -video/x-ms-wmv wmv -video/x-ms-wmx wmx -video/x-ms-wvx wvx -video/x-msvideo avi -video/x-sgi-movie movie -video/x-smv smv -x-conference/x-cooltalk ice diff --git a/docker/tc-website/run/apache-conf/workers.conf b/docker/tc-website/run/apache-conf/workers.conf deleted file mode 100644 index 8b08b58..0000000 --- a/docker/tc-website/run/apache-conf/workers.conf +++ /dev/null @@ -1,8 +0,0 @@ -ps=/ - -worker.list=tomcat_tc - -worker.tomcat_tc.port=8009 -worker.tomcat_tc.host=127.0.0.1 -worker.tomcat_tc.type=ajp13 - diff --git a/docker/tc-website/run/run.sh b/docker/tc-website/run/run.sh deleted file mode 100644 index e07fe90..0000000 --- a/docker/tc-website/run/run.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/bash - -echo '127.0.0.1 local.tc.cloud.topcoder.com local.studio.cloud.topcoder.com local.tcs.cloud.topcoder.com' >> /etc/hosts - -# start apache2 -apachectl start - -# copy static files to httpd -cp -rf /root/tc-platform/tc-website-static/* /var/www/html - -# run jboss -cd /root/deployment/jboss-4.0.4.GA/bin -./run.sh -c all -b 0.0.0.0 -Dbind.address=127.0.0.1 diff --git a/docker/tc-website/test_files/mm_test_data.sql b/docker/tc-website/test_files/mm_test_data.sql new file mode 100644 index 0000000..1933373 --- /dev/null +++ b/docker/tc-website/test_files/mm_test_data.sql @@ -0,0 +1,49 @@ +delete from long_submission; +delete from long_component_state; +delete from long_comp_result; +delete from round_registration; + +insert into round_registration(round_id ,coder_id ,timestamp) +values ( 13673, 124766, current); +insert into round_registration(round_id ,coder_id ,timestamp) +values ( 13673, 124834, current); +insert into long_comp_result(round_id ,coder_id ,point_total ,attended ,placed ,system_point_total ,old_rating ,new_rating) +values ( 13673, 124766, 200, 'Y', 1, 200, 11, 22); +insert into long_comp_result(round_id ,coder_id ,point_total ,attended ,placed ,system_point_total ,old_rating ,new_rating) +values ( 13673, 124834, 120, 'Y', 2, 120, 11, 22); +insert into long_component_state(long_component_state_id ,round_id ,coder_id ,component_id ,points ,status_id ,submission_number,example_submission_number) +values ( 1, 13673, 124766, 2020, 200, 150, 1, 0); +insert into long_component_state(long_component_state_id ,round_id ,coder_id ,component_id ,points ,status_id ,submission_number,example_submission_number) +values ( 2, 13673, 124834, 2020, 120, 150, 2, 2); +insert into long_submission(long_component_state_id ,submission_number ,example ,open_time ,submit_time ,submission_points, language_id) +values ( 1, 1, 0, dbinfo('utc_current')*1000, dbinfo('utc_current')*1000, 200, 1); +insert into long_submission(long_component_state_id ,submission_number ,example ,open_time ,submit_time ,submission_points, language_id) +values ( 2, 1, 0, dbinfo('utc_current')*1000, dbinfo('utc_current')*1000, 110, 3); +insert into long_submission(long_component_state_id ,submission_number ,example ,open_time ,submit_time ,submission_points, language_id) +values ( 2, 2, 0, dbinfo('utc_current')*1000, dbinfo('utc_current')*1000, 120, 3); +insert into long_submission(long_component_state_id ,submission_number ,example ,open_time ,submit_time ,submission_points, language_id) +values ( 2, 1, 1, dbinfo('utc_current')*1000, dbinfo('utc_current')*1000, 110, 3); +insert into long_submission(long_component_state_id ,submission_number ,example ,open_time ,submit_time ,submission_points, language_id) +values ( 2, 2, 1, dbinfo('utc_current')*1000, dbinfo('utc_current')*1000, 120, 3); + + +insert into round_registration(round_id ,coder_id ,timestamp) +values ( 13675, 124764, current); +insert into round_registration(round_id ,coder_id ,timestamp) +values ( 13675, 124772, current); +insert into round_registration(round_id ,coder_id ,timestamp) +values ( 13675, 124776, current); +insert into long_comp_result(round_id ,coder_id ,point_total ,attended ,placed ,system_point_total ,old_rating ,new_rating) +values ( 13675, 124764, 200, 'Y', 1, 220, 11, 22); +insert into long_comp_result(round_id ,coder_id ,point_total ,attended ,placed ,system_point_total ,old_rating ,new_rating) +values ( 13675, 124772, 120, 'Y', 2, 130, 11, 22); +insert into long_component_state(long_component_state_id ,round_id ,coder_id ,component_id ,points ,status_id ,submission_number,example_submission_number) +values ( 3, 13675, 124764, 2041, 220, 150, 1, 0); +insert into long_component_state(long_component_state_id ,round_id ,coder_id ,component_id ,points ,status_id ,submission_number,example_submission_number) +values ( 4, 13675, 124772, 2041, 130, 150, 2, 0); +insert into long_submission(long_component_state_id ,submission_number ,example ,open_time ,submit_time ,submission_points, language_id) +values ( 3, 1, 0, dbinfo('utc_current')*1000, dbinfo('utc_current')*1000, 220, 4); +insert into long_submission(long_component_state_id ,submission_number ,example ,open_time ,submit_time ,submission_points, language_id) +values ( 4, 1, 0, dbinfo('utc_current')*1000, dbinfo('utc_current')*1000, 120, 6); +insert into long_submission(long_component_state_id ,submission_number ,example ,open_time ,submit_time ,submission_points, language_id) +values ( 4, 2, 0, dbinfo('utc_current')*1000, dbinfo('utc_current')*1000, 130, 6); \ No newline at end of file diff --git a/docker/tc-website/test_files/user_sso_login.sql b/docker/tc-website/test_files/user_sso_login.sql new file mode 100644 index 0000000..6ed44fe --- /dev/null +++ b/docker/tc-website/test_files/user_sso_login.sql @@ -0,0 +1,12 @@ +create table user_sso_login ( + user_id DECIMAL(10,0), + provider_id DECIMAL(10,0), + sso_user_name VARCHAR(254), + email VARCHAR(254), + sso_user_id VARCHAR(254), + create_date DATETIME YEAR TO FRACTION default CURRENT YEAR TO FRACTION, + modify_date DATETIME YEAR TO FRACTION default CURRENT YEAR TO FRACTION +); + +alter table user_sso_login add constraint primary key + (user_id, provider_id); \ No newline at end of file From 7dd1e3d5fb630541dc49df1c7b20ed11cbd76e1a Mon Sep 17 00:00:00 2001 From: Liquan Liu Date: Sat, 3 Jun 2017 19:40:23 +0800 Subject: [PATCH 2/2] TC WEBSITE - MARATHON MATCH UPDATE - Review --- docker/tc-website/README.md | 1 + docker/tc-website/build/files/build_mm.xml | 304 ------------------ .../TC WEBSITE - MARATHON MATCH UPDATE.txt | 1 - 3 files changed, 1 insertion(+), 305 deletions(-) delete mode 100644 docker/tc-website/build/files/build_mm.xml diff --git a/docker/tc-website/README.md b/docker/tc-website/README.md index d870ae1..f2a5587 100644 --- a/docker/tc-website/README.md +++ b/docker/tc-website/README.md @@ -89,6 +89,7 @@ You can now try the following pages: TC WAR: * Open https://local.tc.cloud.topcoder.com/tc?module=MyHome, the page is like: http://take.ms/TYP9F * Open https://local.tc.cloud.topcoder.com/tc?module=EditTheme, change to use old theme, the page is like: http://take.ms/efKBr +* Open https://local.tc.cloud.topcoder.com/tc?module=ActiveContests&pt=39 (code active contests), the page is like: http://take.ms/RxSWZ Note that the links like https://local.tc.cloud.topcoder.com/challenges/design/active won't work. diff --git a/docker/tc-website/build/files/build_mm.xml b/docker/tc-website/build/files/build_mm.xml deleted file mode 100644 index baca78c..0000000 --- a/docker/tc-website/build/files/build_mm.xml +++ /dev/null @@ -1,304 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docker/tc-website/docs/TC WEBSITE - MARATHON MATCH UPDATE.txt b/docker/tc-website/docs/TC WEBSITE - MARATHON MATCH UPDATE.txt index 445ee54..ff9f497 100644 --- a/docker/tc-website/docs/TC WEBSITE - MARATHON MATCH UPDATE.txt +++ b/docker/tc-website/docs/TC WEBSITE - MARATHON MATCH UPDATE.txt @@ -32,7 +32,6 @@ README.md: changed to provide screen shots demonstrating marathon match Added Files ===================== -build/files/build_mm.xml: added to build marathon match war. The jboss-cache-jdk50.jar is no longer needed as we switch to use redis for cache, refer to https://github.com/topcoder-platform/tc-website/blob/dev/resources/cache.properties test_files/mm_test_data.sql: sample marathon match test data test_files/user_sso_login.sql: create the missing user_sso_login table