Introduction
Apache Tomcat is an open-source, lightweight web server for running Java-based websites and applications. It's an implementation of the Jakarta EE platform which is the modification of the Java EE platform to accommodate distributed computing and web services. This article explains how to install Apache Tomcat on Ubuntu 20.04 server.
Prerequisites
- Deploy a fully updated Rcs Ubuntu 20.04 Server.
- Create a non-root user with sudo access.
1. Install Java
Update system packages.
$ sudo apt updateInstall Java runtime environment.
$ sudo apt install default-jdk -yVerify Java installation.
$ java -version2. Install Tomcat
Download the latest version of Apache Tomcat. To find the latest Tomcat version, visit the official download page.
$ wget https://archive.apache.org/dist/tomcat/tomcat-10/v10.0.8/bin/apache-tomcat-10.0.8.tar.gzExtract the downloaded archive.
$ sudo tar xzvf apache-tomcat-10.0.8.tar.gzCreate an installation directory /opt/tomcat/.
$ sudo mkdir /opt/tomcat/Move the extracted files to the installation directory.
$ sudo mv apache-tomcat-10.0.8/* /opt/tomcat/Change ownership of the installation directory.
$ sudo chown -R www-data:www-data /opt/tomcat/Change access permissions for the installation directory.
$ sudo chmod -R 755 /opt/tomcat/Edit conf/tomcat-users.xml file to configure an administrator and manager account for Apache Tomcat.
$ sudo nano /opt/tomcat/conf/tomcat-users.xmlAdd the code below within the <tomcat-users> tag. Change the password for administrator and manager access by changing the value StrongPassword below with a high secure password.
<!-- user manager can access only manager section -->
<role rolename="manager-gui" />
<user username="manager" password="StrongPassword" roles="manager-gui" />
<!-- user admin can access manager and admin section both -->
<role rolename="admin-gui" />
<user username="admin" password="StrongPassword" roles="manager-gui,admin-gui" />Enable remote access to Apache Tomcat by editing manager and host-manager configuration files. Edit manager application context.xml file:
$ sudo nano /opt/tomcat/webapps/manager/META-INF/context.xmlComment out the IP addresses section as shown below. Then, save and close the file.
<!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> -->Edit host manager application context.xml file:
$ sudo nano /opt/tomcat/webapps/host-manager/META-INF/context.xmlComment out the IP addresses section as shown below. Then, save and close the file.
<!--<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> -->Create a systemd unit file for Apache Tomcat.
$ sudo nano /etc/systemd/system/tomcat.serviceAdd the code below to the file. Then, save and close the file.
[Unit]
Description=Tomcat
After=network.target
[Service]
Type=forking
User=root
Group=root
Environment="JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"
Environment="CATALINA_BASE=/opt/tomcat"
Environment="CATALINA_HOME=/opt/tomcat"
Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
[Install]
WantedBy=multi-user.targetReload the systemd daemon service to apply changes.
$ sudo systemctl daemon-reloadStart Apache Tomcat service.
$ sudo systemctl start tomcatEnable the service to start up on system boot.
$ sudo systemctl enable tomcatCheck the status of the service.
$ sudo systemctl status tomcat3. Access Apache Tomcat Web Interface
Go to your browser address bar to access the web interface and type in http://ServerIPaddress:8080 for SuiteCRM to access the web install wizard. For example:
http://192.0.2.10:8080Conclusion
You have installed Apache Tomcat on your server. You can now access the main dashboard begin managing your Java applications.
More Information
For more information about Apache Tomcat, please see the official documentation.