Installs and configures Tomcat, Java servlet engine and webserver.
Platform:
- Debian, Ubuntu (OpenJDK, Oracle)
- CentOS 6+, Red Hat 6+, Fedora (OpenJDK, Oracle)
The following Opscode cookbooks are dependencies:
- java
- redis (if using redis session store)
- openssl
node["tomcat"]["base_version"]
- The version of tomcat to install, default6
.node["tomcat"]["port"]
- The network port used by Tomcat's HTTP connector, default8080
.node["tomcat"]["proxy_port"]
- if set, the network port used by Tomcat's Proxy HTTP connector, default nil.node["tomcat"]["ssl_port"]
- The network port used by Tomcat's SSL HTTP connector, default8443
.node["tomcat"]["ssl_proxy_port"]
- if set, the network port used by Tomcat's Proxy SSL HTTP connector, default nil.node["tomcat"]["ajp_port"]
- The network port used by Tomcat's AJP connector, default8009
.node["tomcat"]["catalina_options"]
- Extra options to pass to the JVM only during start and run commands, default "".node["tomcat"]["java_options"]
- Extra options to pass to the JVM, default-Xmx128M -Djava.awt.headless=true
.node["tomcat"]["use_security_manager"]
- Run Tomcat under the Java Security Manager, defaultfalse
.node["tomcat"]["loglevel"]
- Level for default Tomcat's logs, defaultINFO
.node["tomcat"]["deploy_manager_apps"]
- whether to deploy manager apps, defaulttrue
.node["tomcat"]["authbind"]
- whether to bind tomcat on lower port numbers, defaultno
.node["tomcat"]["tomcat_auth"]
-node["tomcat"]["user"]
-node["tomcat"]["group"]
-node["tomcat"]["home"]
-node["tomcat"]["base"]
-node["tomcat"]["config_dir"]
-node["tomcat"]["log_dir"]
-node["tomcat"]["tmp_dir"]
-node["tomcat"]["work_dir"]
-node["tomcat"]["context_dir"]
-node["tomcat"]["webapp_dir"]
-node["tomcat"]["endorsed_dir"]
-node["tomcat"]["redis"]
- Run Tomcat with redis session store, defaultfalse
. See https://github.com/jcoleman/tomcat-redis-session-manager for context configuration.
node["tomcat"]["ssl_cert_file"]
- SSL certificate filenode["tomcat"]["ssl_chain_files"]
- SSL CAcert chain files used for generating the SSL certificatesnode["tomcat"]["keystore_file"]
- Location of the file where the SSL keystore is locatednode["tomcat"]["keystore_password"]
- Generated by thesecure_password
method from the openssl cookbook; if you are using Chef Solo, set this attribute on the nodenode["tomcat"]["truststore_password"]
- Generated by thesecure_password
method from the openssl cookbook; if you are using Chef Solo, set this attribute on the nodenode["tomcat"]["truststore_file"]
- location of the file where the SSL truststore is locatednode["tomcat"]["certificate_dn"]
- DN for the certificatenode["tomcat"]["keytool"]
- path to keytool, used for generating the certificate, location varies by platform
Simply include the recipe where you want Tomcat installed.
Due to the ways that some system init scripts call the configuration,
you may wish to set the java options to include JAVA_OPTS
. As an
example for a java app server role:
name "java-app-server"
run_list("recipe[tomcat]")
override_attributes(
'tomcat' => {
'java_options' => "${JAVA_OPTS} -Xmx128M -Djava.awt.headless=true"
}
)
The recipe tomcat::users
included in this cookbook is used for managing Tomcat users. The recipe adds users and roles to the tomcat-users.xml
conf file.
Users are defined by creating a tomcat_users
data bag and placing Encrypted Data Bag Items in that data bag. Each encrypted data bag item requires an 'id', 'password', and a 'roles' field.
{
"id": "reset",
"password": "supersecret",
"roles": [
"manager",
"admin"
]
}
If you are a Chef Solo user the data bag items are not required to be encrypted and should not be.
- Author: Seth Chisamore ([email protected])
- Author: Jamie Winsor ([email protected])
- Author: Phillip Goldenburg ([email protected])
- Auther: Mariano Cortesi ([email protected])
- Author: Brendan O'Donnell ([email protected])
Copyright:: 2010-2013, Opscode, Inc
Licensed 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.