Apache Tomcat is another product released by the Apache Software Foundation. It is an open source implementation of the Java Servlet and JavaServer Pages (JSP) technologies. Tomcat is a web server used for hosting the Java-based web application.
Apache Tomcat team has announced its latest Tomcat 9.0.6 release on Jan 18, 2018. This article helps you to Install Tomcat 9 on Ubuntu 18.04/16.04 systems.
Step 1 – Java Installation
You must have Java installed on the system before installing Apache Tomcat on a Linux VPS. Tomcat 9 required Java 8 or later version to work. You can check and verify that Java is installed with the right version.
java -version java version "1.8.0_144" Java(TM) SE Runtime Environment (build 1.8.0_144-b01) Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)
If you don’t have Java installed on your system or installed a lower version, run below commands to satisfy requirements.
sudo apt-get update sudo apt-get install default-jdk
Step 2 – Download Tomcat Archive
You need to download the Tomcat archive from its official download website or mirrors. Download Apache Tomcat 9 archive file using following commands or you can visit Tomcat 9 official download page for download most recent available version.
cd /usr/local wget http://www-us.apache.org/dist/tomcat/tomcat-9/v9.0.6/bin/apache-tomcat-9.0.6.tar.gz tar xzf apache-tomcat-9.0.6.tar.gzmv apache-tomcat-9.0.6 apache-tomcat9
Step 3 – Configure Environment Variables
Now configure the required environment variables for the Tomcat. Set CATALINA_HOME to the extracted tomcat directory. Also set Java environment variables as per Java installed on your system.
echo "export CATALINA_HOME="/usr/local/apache-tomcat9"" >> ~/.bashrc echo "export JAVA_HOME="/usr/lib/jvm/java-8-oracle"" >> ~/.bashrc echo "export JRE_HOME="/usr/lib/jvm/java-8-oracle/jre"" >> ~/.bashrc source ~/.bashrc
Step 4 – Setup Tomcat User Accounts
Finally we need to create user accounts to secure and access admin/manager pages. Edit conf/tomcat-users.xml file in your editor and paste inside <tomcat-users> </tomcat-users> tags.
<!-- user manager can access only manager section --> <role rolename="manager-gui " /> <user username="manager " password="_SECRET_PASSWORD_ " roles="manager-gui " /><!-- user admin can access manager and admin section both --> <role rolename="admin-gui " /> <user username="admin " password="_SECRET_PASSWORD_ " roles="manager-gui,admin-gui " />
Step 5 – Enable Host/Manager for Remote IP
The default manager and host-manager web pages are enabled to access from localhost only. To access these pages from the remote system, you have to allow your IP or IP range in application-specific context.xml file.
Manager File: ./webapps/manager/META-INF/context.xml
Host Manager File: ./webapps/host-manager/META-INF/context.xml
Edit above files and add your IP address like the screenshot. After making changes restart Tomcat service.
Step 6 – Starting Tomcat Service
Tomcat is very easy to use, There is no need to compile its source. You simply extract the archive and start the tomcat server. Tomcat by default start on port 8080, So make sure no other application using the same port.
cd /usr/local/apache-tomcat9 chmod +x ./bin/startup.sh ./bin/startup.sh
[Sample Output]
Using CATALINA_BASE: /usr/local/apache-tomcat9 Using CATALINA_HOME: /usr/local/apache-tomcat9 Using CATALINA_TMPDIR: /usr/local/apache-tomcat9/temp Using JRE_HOME: /usr/lib/jvm/java-8-oracle/jre Using CLASSPATH: /usr/local/apache-tomcat9/bin/bootstrap.jar:/usr/local/apache-tomcat9/bin/tomcat-juli.jar Tomcat started.
Step 7 – Access Tomcat in Browser
Tomcat server default works on port 8080. Access tomcat in the web browser by connecting your server on port 8080.
http://localhost.com:8080
http://example.com:8080/manager/html
http://example.com:8080/host-manager/html
Hello I stuck on step 6, When
./bin/startup.sh
I get
-bash: ./bin/startup.sh: Permission denied
How can I solve this?
Run this command to set execute permissions: (Also updated tutorial)
chmod +x ./bin/startup.sh
Tank you, it worked but I can’t access tomcat from the browser in step 7. I installed tommcat on a virtual server in my shool and I have access on it with openvpn. What can I do now?
What is showing on screen?
It’s showing : Tomcat started and on the browser : the computer 192.168.6.54 refused connection
Which ip I must put on step 5?
This is IP from where you need to access Host Manager dashboard. Generally, it will be your public IP, LAN IP or LAN network.
Thanks
Thank you. It is really good.
Thank you very much!
You are awesome man!! I wasted a whole damn day to install tomcat 9, but this helps me in the end.
Just one thing to add for new Ubuntu users: type this command in terminal to configure CATALINA_HOME environment variable;
$ sudo su –
thank you very much
Hi
thank you, thank you… thank you..very much : )
Thanks it works for me
Love the tutorial! Just curious how I would get Tomcat9 to startup on machine reboot though. Otherwise this tutorial worked wonders for me!
https://www.rosehosting.com/blog/install-tomcat-9-on-an-ubuntu-16-04-vps/
tells you how to set it up for machine reboot