CentOS 6
Sponsored Link

Tomcat 8 : Install2015/03/15

 
Install Tomcat 8 to configure JAVA Application Server.
[1]
[2] Install Tomcat 8. Make sure the latest one and download it from the site below.
⇒ http://ftp.riken.jp/net/apache/tomcat/tomcat-8/
[root@dlp ~]#
wget http://ftp.riken.jp/net/apache/tomcat/tomcat-8/v8.0.20/bin/apache-tomcat-8.0.20.tar.gz

[root@dlp ~]#
tar zxvf apache-tomcat-8.0.20.tar.gz

[root@dlp ~]#
mv apache-tomcat-8.0.20 /usr/tomcat8

[root@dlp ~]#
useradd -M -d /usr/tomcat8 tomcat8

[root@dlp ~]#
chown -R tomcat8. /usr/tomcat8
[3] Create an init script.
[root@dlp ~]#
vi /etc/rc.d/init.d/tomcat8
#!/bin/bash

# Tomcat8: Start/Stop Tomcat 8
#
# chkconfig: - 90 10
# description: Tomcat is a Java application Server.

. /etc/init.d/functions
. /etc/sysconfig/network

CATALINA_HOME=/usr/tomcat8
TOMCAT_USER=tomcat8

LOCKFILE=/var/lock/subsys/tomcat8

RETVAL=0
start(){
    echo "Starting Tomcat8: "
    su - $TOMCAT_USER -c "$CATALINA_HOME/bin/startup.sh"
    RETVAL=$?
    echo
    [ $RETVAL -eq 0 ] && touch $LOCKFILE
    return $RETVAL
}

stop(){
    echo "Shutting down Tomcat8: "
    $CATALINA_HOME/bin/shutdown.sh
    RETVAL=$?
    echo
    [ $RETVAL -eq 0 ] && rm -f $LOCKFILE
    return $RETVAL
}

case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart)
        stop
        start
        ;;
    *)
        echo $"Usage: $0 {start|stop|restart}"
        exit 1
        ;;
esac
exit $?

[root@dlp ~]#
chmod 755 /etc/rc.d/init.d/tomcat8

[root@dlp ~]#
/etc/rc.d/init.d/tomcat8 start

Starting Tomcat8:
Using CATALINA_BASE:   /usr/tomcat8
Using CATALINA_HOME:   /usr/tomcat8
Using CATALINA_TMPDIR: /usr/tomcat8/temp
Using JRE_HOME:        /usr/java/default
Using CLASSPATH:       /usr/tomcat8/bin/bootstrap.jar:/usr/tomcat8/bin/tomcat-juli.jar
Tomcat started.

[root@dlp ~]#
chkconfig --add tomcat8

[root@dlp ~]#
chkconfig tomcat8 on
[4] Start a Web browser on localhost or clients on the network and access to "http://(server's hostname or IP address):8080/", then Tomcat default site is displayed like follows.
[5] Create a test servlet that shows current day and time and make sure if it works normally.
[root@dlp ~]#
mkdir /usr/tomcat8/webapps/ROOT/WEB-INF/classes

[root@dlp ~]#
chown tomcat8. /usr/tomcat8/webapps/ROOT/WEB-INF/classes

[root@dlp ~]#
cd /usr/tomcat8/webapps/ROOT/WEB-INF/classes

[root@dlp classes]#
vi daytime.java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.Calendar;

public class daytime extends HttpServlet {
    public void doGet(HttpServletRequest request
    ,HttpServletResponse response)

    throws IOException, ServletException{
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        Calendar cal = Calendar.getInstance();
        out.println("<html>\n<head>\n<title>DayTime</title>\n</head>\n<body>");
        out.println("<div style=\"font-size: 40px; text-align: center; font-weight: bold\">");
        out.println(cal.get(Calendar.YEAR) + "/" + (cal.get(Calendar.MONTH) + 1) + "/" + 
        cal.get(Calendar.DATE) + " " + cal.get(Calendar.HOUR_OF_DAY) + ":" + cal.get(Calendar.MINUTE));
        out.println("</div>\n</body>\n</html>");
    }
}

[root@dlp classes]#
javac -classpath /usr/tomcat8/lib/servlet-api.jar daytime.java

[root@dlp classes]#
vi /usr/tomcat8/webapps/ROOT/WEB-INF/web.xml
# add follows between <web-app> - </web-app>

  <servlet>
     <servlet-name>daytime</servlet-name>
     <servlet-class>daytime</servlet-class>
  </servlet>
  <servlet-mapping>
     <servlet-name>daytime</servlet-name>
     <url-pattern>/daytime</url-pattern>
  </servlet-mapping>
[6] Access to "http://(server's hostname or IP address):8080/daytime" to make sure it works normally.
[7] If you'd like to access without specifying 8080, configure with Apache http server liek follows. Therefore, Install and start Apache http server first.
[root@dlp ~]#
vi /etc/httpd/conf.d/proxy_ajp.conf
# add follows to the end

ProxyPass /tomcat8/ ajp://localhost:8009/
[root@dlp ~]#
/etc/rc.d/init.d/httpd restart
[8] Access to "http://(server's hostname or IP address)/tomcat8/" and make sure it works normally.
Matched Content