Adoptable Cookbooks List

Looking for a cookbook to adopt? You can now see a list of cookbooks available for adoption!
List of Adoptable Cookbooks

Supermarket Belongs to the Community

Supermarket belongs to the community. While Chef has the responsibility to keep it running and be stewards of its functionality, what it does and how it works is driven by the community. The chef/supermarket repository will continue to be where development of the Supermarket application takes place. Come be part of shaping the direction of Supermarket by opening issues and pull requests or by joining us on the Chef Mailing List.

Select Badges

Select Supported Platforms

Select Status


tomcat (85) Versions 0.14.4

Installs Apache Tomcat and manages the service

cookbook 'tomcat', '= 0.14.4', :supermarket
cookbook 'tomcat', '= 0.14.4'
knife supermarket install tomcat
knife supermarket download tomcat
Quality -%

tomcat Cookbook

Installs and configures Tomcat, Java servlet engine and webserver.



  • Debian, Ubuntu (OpenJDK, Oracle)
  • CentOS 6+, Red Hat 6+, Fedora (OpenJDK, Oracle)


  • java
  • openssl


  • node["tomcat"]["base_version"] - The version of tomcat to install, default 6.
  • node["tomcat"]["port"] - The network port used by Tomcat's HTTP connector, default 8080.
  • 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, default 8443.
  • 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, default 8009.
  • 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, default false.
  • node["tomcat"]["loglevel"] - Level for default Tomcat's logs, default INFO.
  • node["tomcat"]["deploy_manager_apps"] - whether to deploy manager apps, default true.
  • node["tomcat"]["authbind"] - whether to bind tomcat on lower port numbers, default no.
  • 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"]["lib_dir"] -
  • node["tomcat"]["endorsed_dir"] -

Attributes for SSL

  • node["tomcat"]["ssl_cert_file"] - SSL certificate file
  • node["tomcat"]["ssl_chain_files"] - SSL CAcert chain files used for generating the SSL certificates
  • node["tomcat"]["keystore_file"] - Location of the file where the SSL keystore is located
  • node["tomcat"]["keystore_password"] - Generated by the secure_password method from the openssl cookbook; if you are using Chef Solo, set this attribute on the node
  • node["tomcat"]["truststore_password"] - Generated by the secure_password method from the openssl cookbook; if you are using Chef Solo, set this attribute on the node
  • node["tomcat"]["truststore_file"] - location of the file where the SSL truststore is located
  • node["tomcat"]["certificate_dn"] - DN for the certificate
  • node["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"
  'tomcat' => {
    'java_options' => "${JAVA_OPTS} -Xmx128M -Djava.awt.headless=true"

Managing Tomcat Users

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": [

If you are a Chef Solo user the data bag items are not required to be encrypted and should not be.

License & Authors

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

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
See the License for the specific language governing permissions and
limitations under the License.

Dependent cookbooks

java >= 0.0.0
openssl >= 0.0.0

Contingent cookbooks

alfresco Applicable Versions
application Applicable Versions
application_java Applicable Versions
asgard Applicable Versions
bigdata Applicable Versions
bonita Applicable Versions
cassandra-priam Applicable Versions
chef-solr Applicable Versions
configure_and_deploy_ssc Applicable Versions
esri-tomcat Applicable Versions
eulipion-cleanspeak Applicable Versions
gantbox Applicable Versions
ice Applicable Versions
jahia Applicable Versions
jetbrains_license_server Applicable Versions
liferay Applicable Versions
mrpapp Applicable Versions
ohmage Applicable Versions
opengrok Applicable Versions
railo Applicable Versions
rest2ldap Applicable Versions
seyren Applicable Versions
solr_app Applicable Versions
typo3_solr Applicable Versions
webgoat Applicable Versions

No quality metric results found