<exclude name="modules/**"/>
<exclude name="**/*.mdl"/>
<exclude name="**/*_2.xml"/>
- <exclude name="**/*_3.xml"/>
<exclude name="res/checkstyle/header-al2.txt"/>
<!-- Exclude auto-generated files -->
<exclude name="java/org/apache/el/parser/ELParser*.java" />
+++ /dev/null
-<?xml version='1.0' encoding='utf-8'?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<!-- Note: A "Server" is not itself a "Container", so you may not
- define subcomponents such as "Valves" at this level.
- Documentation at /docs/config/server.html
- -->
-<Server port="-1" shutdown="SHUTDOWN">
- <!-- Security Listener. Documentation at /docs/config/listeners.html
- <Listener className="org.apache.catalina.security.SecurityListener" />
- -->
- <!--APR library loader. Documentation at /docs/apr.html -->
- <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
- <!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html -->
- <Listener className="org.apache.catalina.core.JasperListener" />
- <!-- Prevent memory leaks due to use of particular java/javax APIs-->
- <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
- <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
- <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
-
- <!-- Global JNDI resources
- Documentation at /docs/jndi-resources-howto.html
- -->
- <GlobalNamingResources>
- <!-- Editable user database that can also be used by
- UserDatabaseRealm to authenticate users
- -->
- <Resource name="UserDatabase" auth="Container"
- type="org.apache.catalina.UserDatabase"
- description="User database that can be updated and saved"
- factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
- pathname="conf/tomcat-users.xml" />
- </GlobalNamingResources>
-
- <!-- A "Service" is a collection of one or more "Connectors" that share
- a single "Container" Note: A "Service" is not itself a "Container",
- so you may not define subcomponents such as "Valves" at this level.
- Documentation at /docs/config/service.html
- -->
- <Service name="Catalina">
-
- <!--The connectors can use a shared executor, you can define one or more named thread pools-->
- <!--
- <Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
- maxThreads="150" minSpareThreads="4"/>
- -->
-
-
- <!-- A "Connector" represents an endpoint by which requests are received
- and responses are returned. Documentation at :
- Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)
- Java AJP Connector: /docs/config/ajp.html
- APR (HTTP/AJP) Connector: /docs/apr.html
- Define a non-SSL HTTP/1.1 Connector on port 8080
- -->
- <Connector
\ No newline at end of file
+++ /dev/null
- protocol="HTTP/1.1"
- connectionTimeout="20000"
- redirectPort="8443" />
- <!-- A "Connector" using the shared thread pool-->
- <!--
- <Connector executor="tomcatThreadPool"
- port="8080" protocol="HTTP/1.1"
- connectionTimeout="20000"
- redirectPort="8443" />
- -->
- <!-- Define a SSL HTTP/1.1 Connector on port 8443
- This connector uses the JSSE configuration, when using APR, the
- connector should be using the OpenSSL style configuration
- described in the APR documentation -->
- <!--
- <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
- maxThreads="150" scheme="https" secure="true"
- clientAuth="false" sslProtocol="TLS" />
- -->
-
- <!-- Define an AJP 1.3 Connector on port 8009 -->
- <Connector
\ No newline at end of file
+++ /dev/null
- protocol="AJP/1.3" redirectPort="8443" />
-
-
- <!-- An Engine represents the entry point (within Catalina) that processes
- every request. The Engine implementation for Tomcat stand alone
- analyzes the HTTP headers included with the request, and passes them
- on to the appropriate Host (virtual host).
- Documentation at /docs/config/engine.html -->
-
- <!-- You should set jvmRoute to support load-balancing via AJP ie :
- <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">
- -->
- <Engine name="Catalina" defaultHost="localhost">
-
- <!--For clustering, please take a look at documentation at:
- /docs/cluster-howto.html (simple how to)
- /docs/config/cluster.html (reference documentation) -->
- <!--
- <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
- -->
-
- <!-- Use the LockOutRealm to prevent attempts to guess user passwords
- via a brute-force attack -->
- <Realm className="org.apache.catalina.realm.LockOutRealm">
- <!-- This Realm uses the UserDatabase configured in the global JNDI
- resources under the key "UserDatabase". Any edits
- that are performed against this UserDatabase are immediately
- available for use by the Realm. -->
- <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
- resourceName="UserDatabase"/>
- </Realm>
-
- <Host name="localhost" appBase="webapps"
- unpackWARs="true" autoDeploy="true">
-
- <!-- SingleSignOn valve, share authentication between web applications
- Documentation at: /docs/config/valve.html -->
- <!--
- <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
- -->
-
- <!-- Access log processes all example.
- Documentation at: /docs/config/valve.html
- Note: The pattern used is equivalent to using pattern="common" -->
- <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
- prefix="localhost_access_log." suffix=".txt"
- pattern="%h %l %u %t "%r" %s %b" resolveHosts="false"/>
-
- </Host>
- </Engine>
- </Service>
-</Server>
ReserveFile "${NSISDIR}\Plugins\System.dll"
ReserveFile "${NSISDIR}\Plugins\nsDialogs.dll"
- ReserveFile confinstall\server_1.xml
- ReserveFile confinstall\server_2.xml
- ReserveFile confinstall\server_3.xml
ReserveFile confinstall\tomcat-users_1.xml
ReserveFile confinstall\tomcat-users_2.xml
; Writes server.xml and tomcat-users.xml
;
Function configure
- StrCpy $R4 'port="$TomcatPortHttp"'
- StrCpy $R6 'port="$TomcatPortAjp"'
+ ; Build final server.xml
+ DetailPrint "Creating server.xml.new"
+
+ FileOpen $R1 "$INSTDIR\conf\server.xml" r
+ FileOpen $R2 "$INSTDIR\conf\server.xml.new" w
+
+ SERVER_XML_LOOP:
+ FileRead $R1 $R3
+ IfErrors SERVER_XML_LEAVELOOP
+ ${StrRep} $R4 $R3 "8080" "$TomcatPortHttp"
+ ${StrRep} $R3 $R4 "8009" "$TomcatPortAjp"
+ FileWrite $R2 $R3
+ Goto SERVER_XML_LOOP
+ SERVER_XML_LEAVELOOP:
+
+ FileClose $R1
+ FileClose $R2
+
+ ; Replace server.xml with server.xml.new
+ Delete "$INSTDIR\conf\server.xml"
+ FileOpen $R9 "$INSTDIR\conf\server.xml" w
+ Push "$INSTDIR\conf\server.xml.new"
+ Call copyFile
+ FileClose $R9
+ Delete "$INSTDIR\conf\server.xml.new"
+
+ DetailPrint 'HTTP/1.1 Connector configured on port "$TomcatPortHttp"'
+ DetailPrint 'AJP/1.3 Connector configured on port "$TomcatPortAjp"'
+ DetailPrint "server.xml written"
+
StrCpy $R5 ''
${If} $TomcatAdminEnable == "1"
DetailPrint 'Admin user added: "$TomcatAdminUsername"'
${EndIf}
- DetailPrint 'HTTP/1.1 Connector configured on port "$TomcatPortHttp"'
- DetailPrint 'AJP/1.3 Connector configured on port "$TomcatPortAjp"'
; Extract these fragments to $PLUGINSDIR. That is a temporary directory,
; that is automatically deleted when the installer exits.
InitPluginsDir
SetOutPath $PLUGINSDIR
- File confinstall\server_1.xml
- File confinstall\server_2.xml
- File confinstall\server_3.xml
File confinstall\tomcat-users_1.xml
File confinstall\tomcat-users_2.xml
- ; Build final server.xml
- Delete "$INSTDIR\conf\server.xml"
- DetailPrint "Writing server.xml"
- FileOpen $R9 "$INSTDIR\conf\server.xml" w
-
- Push "$PLUGINSDIR\server_1.xml"
- Call copyFile
- FileWrite $R9 $R4
- Push "$PLUGINSDIR\server_2.xml"
- Call copyFile
- FileWrite $R9 $R6
- Push "$PLUGINSDIR\server_3.xml"
- Call copyFile
-
- FileClose $R9
- DetailPrint "server.xml written"
-
; Build final tomcat-users.xml
Delete "$INSTDIR\conf\tomcat-users.xml"
DetailPrint "Writing tomcat-users.xml"
FileClose $R9
DetailPrint "tomcat-users.xml written"
- Delete "$PLUGINSDIR\server_1.xml"
- Delete "$PLUGINSDIR\server_2.xml"
- Delete "$PLUGINSDIR\server_3.xml"
Delete "$PLUGINSDIR\tomcat-users_1.xml"
Delete "$PLUGINSDIR\tomcat-users_2.xml"
FunctionEnd