= Tomcat = Apache Tomcat is an open source software implementation of the Java Servlet and JavaServer Pages technologies. == Installation on Slackware == * cd ~/Downloads * wget http://mirrors.fe.up.pt/pub/apache/tomcat/tomcat-7/v7.0.53/bin/apache-tomcat-7.0.53.tar.gz * su * cp apache-tomcat-7.0.53.tar.gz /opt * cd /opt * tar xvzf apache-tomcat-7.0.53.tar.gz * chown vitor * -R * chgrp users * -R * exit == Start Tomcat == /opt/apache-tomcat-7.0.53/bin/ ./startup.sh http://localhost:8080/ == Add admin user == * cd /opt/apache-tomcat-7.0.53/conf Edit tomcat-users.xml {{{ <role rolename="admin"/> <role rolename="manager"/> <role rolename="manager-gui"/> <user username="admin" password="12345678" roles="admin,manager,manager-gui"/ }}} * ./shutdown.sh * ./startup.sh == WebApps location == * /opt/apache-tomcat-7.0.53/webapps A WAR file can be copied or exploded in the webapps folder. == Sample App == Download http://localhost:8080/docs/appdev/sample/sample.war and deploy in the webapps folder. After the deploy the WAR file is exploded. == Configuration values in web.xml for WAR file == Adapted from http://stackoverflow.com/questions/372686/how-can-i-specify-system-properties-in-tomcat-configuration-on-startup {{{#!highlight xml <env-entry> <env-entry-name>SMTP_PASSWORD</env-entry-name> <env-entry-type>java.lang.String</env-entry-type> <env-entry-value>abc123ftw</env-entry-value> </env-entry> }}} Get values in code: {{{#!highlight java // Obtain our environment naming context Context initCtx = new InitialContext(); Context envCtx = (Context) initCtx.lookup("java:comp/env"); // Look up our data source String s = (String)envCtx.lookup("SMTP_PASSWORD"); }}} == Change HTTP from port 8080 to port 8081 and AJP from 8009 to 8010== Edit file conf/server.xml Change the HTTP Connector from 8080 to 8081. Change AJP1.3 connector from 8009 to 8010. {{{#!highlight xml <Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> <!-- Define an AJP 1.3 Connector on port 8009 --> <Connector port="8010" protocol="AJP/1.3" redirectPort="8443" /> }}}