Apache Tomcat is one of the oldest & most widely used open-source web server that is used to serve java-based web-pages, it executes Java servlets and renders Web pages that include Java Server Page coding. It has been used by a number of organizations for serving java web pages. It generally runs JSP, Servlet, etc.
Recommended Read: Install MongoDB on Ubuntu 16.04
Also Read: Introduction to Bash Scripting Tutorial
In this tutorial, we will learn to install Tomcat 9 on Ubuntu Let’s start with the pre-requisites for tomcat installation.
Pre-Requisites
We need to have JAVA installed on the system before we can install tomcat on our systems. To install java 9 on ubuntu, use the following command,
# sudo apt-get install default-jdk
You can refer to this tutorial for detailed instructions on installing java.
Install Tomcat 9 on Ubuntu
Let’s first create a home directory for apache tomcat first,
$ mkdir /data/tomcat
Next, to install tomcat on Ubuntu, we will have to download the tar packages for apache tomcat 8. Use the following command to install
$ wget http://apachemirror.wuchna.com/tomcat/tomcat-9/v9.0.30/bin/apache-tomcat-9.0.30.tar.gz
Now extract the package to tomcat directory,
$ tar -xvzf apache-tomcat-9.0.30.tar.gz -C /data/tomcat
Our tomcat installation is ready & we can now start tomcat by running the startup script,
$ sh /data/tomcat/bin/startup.sh
But we will create a service script to start & stop tomcat,
# sudo vi /etc/systemd/system/tomcat.service
[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target
[Service]
Type=forking
Environment=JAVA_HOME=/usr/lib/jvm/jre
Environment=CATALINA_PID=/data/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/data/tomcat
Environment=CATALINA_BASE=/data/tomcat
Environment=’CATALINA_dataS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC’
Environment=’JAVA_dataS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom’
ExecStart=/data/tomcat/bin/startup.sh
ExecStop=/bin/kill -15 $MAINPID
User=tomcat
Group=tomcat
[Install]
WantedBy=multi-user.target
Now save the file & exit. Load the newly created service into systemd with this command,
# sudo systemctl daemon-reload
We can now start & stop service using the systemctl,
# sudo systemctl start tomcat
You can now check the tomcat installation by opening the following URL on web browser,
http://127.0.0.1:8080
The next, step would be to configure users for the management interface of tomcat.
Configuring Tomcat
Apache tomcat is now ready to be started but before we do that we need to assign credentials to access ‘Manager’ & ‘GUI’ page of tomcat, as by default no user name and pasword is setup. To asisgn the credentials, we will use the ‘/opt/tomcat/conf/tomcat-users.xml ‘ file,
$ sudo vim /opt/tomcat/conf/tomcat-users.xml
& make the following entries to the file,
<role rolename=”manager-gui” />
<user username=”manager” password=”Password@123″ roles=”manager-gui” />
<role rolename=”admin-gui” />
<user username=”admin” password=”Password@123″ roles=”admin-gui” />
& make the following entries to the file, Make sure that you make these entries before the tag ‘tomcat-users’, i.e. make above entries before the below mentioned lines,
<tomcat-users xmlns=”http://tomcat.apache.org/xml”
xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
xsi:schemaLocation=”http://tomcat.apache.org/xml tomcat-users.xsd”
version=”1.0″>
Once done, save the file & exit.
We need to make another change, though this is completely optional & completely depends on how you will access the manager page.We can only access the manager page from the browser on localhost but it we to access it on some other remote machines, we need to modify the ‘context.html’ for manager to comment the lines which disables the remote login,
$ sudo vim /opt/tomcat/webapps/manager/META-INF/context.xml
<Context antiResourceLocking=”false” privileged=”true” >
<!– <Valve className=”org.apache.catalina.valves.RemoteAddrValve”
allow=”127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1″ /> –>
</Context>
Same is to be for host-manager’s context file as well,
$ sudo vi /opt/tomcat/webapps/host-manager/META-INF/context.xml
<Context antiResourceLocking=”false” privileged=”true” >
<!– <Valve className=”org.apache.catalina.valves.RemoteAddrValve”
allow=”127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1″ /> –>
</Context>
Now save the file & exit. We can now enter the management interface for tomcat but first we need to restart the apache tomcat,
# sudo systemctl stop tomcat
# sudo systemctl start tomcat
We can now access the management page with the credentials that we have provided above in the configuration.
That’s it, we now end this tutorial on how to install Tomcat 9 on Ubuntu. Please feel free to send in any questions, queries or suggestions using the comment box below.