Created
November 18, 2019 14:20
-
-
Save linuxfemale/f67e0f1e072a99d41429c793e7a00f15 to your computer and use it in GitHub Desktop.
Apache Tomcat 9 on Ubuntu 18.04 LTS
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Apache Tomcat is an open-source implementation of the Java Servlet, JavaServer Pages, Java Expression Language, and Java WebSocket technologies. It is one of the most widely adopted applications and web servers in the world today. Tomcat is simple to use and has a robust ecosystem of add-ons. | |
sudo apt update | |
sudo apt install default-jdk | |
java -version | |
sudo useradd -r -m -U -d /opt/tomcat -s /bin/false tomcat | |
wget http://www-eu.apache.org/dist/tomcat/tomcat-9/v9.0.27/bin/apache-tomcat-9.0.27.tar.gz -P /tmp | |
sudo tar xf /tmp/apache-tomcat-9*.tar.gz -C /opt/tomcat | |
sudo ln -s /opt/tomcat/apache-tomcat-9.0.27 /opt/tomcat/latest | |
sudo chown -RH tomcat: /opt/tomcat/latest | |
sudo sh -c 'chmod +x /opt/tomcat/latest/bin/*.sh' | |
sudo nano /etc/systemd/system/tomcat.service | |
[Unit] | |
Description=Tomcat 9 servlet container | |
After=network.target | |
[Service] | |
Type=forking | |
User=tomcat | |
Group=tomcat | |
Environment="JAVA_HOME=/usr/lib/jvm/default-java" | |
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom -Djava.awt.headless=true" | |
Environment="CATALINA_BASE=/opt/tomcat/latest" | |
Environment="CATALINA_HOME=/opt/tomcat/latest" | |
Environment="CATALINA_PID=/opt/tomcat/latest/temp/tomcat.pid" | |
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC" | |
ExecStart=/opt/tomcat/latest/bin/startup.sh | |
ExecStop=/opt/tomcat/latest/bin/shutdown.sh | |
[Install] | |
WantedBy=multi-user.target | |
sudo systemctl daemon-reload | |
sudo systemctl start tomcat | |
sudo systemctl status tomcat | |
sudo systemctl enable tomcat | |
sudo ufw allow 8080/tcp | |
sudo nano /opt/tomcat/latest/conf/tomcat-users.xml | |
<tomcat-users> | |
<!-- | |
Comments | |
--> | |
<role rolename="admin-gui"/> | |
<role rolename="manager-gui"/> | |
<user username="admin" password="admin_password" roles="admin-gui,manager-gui"/> | |
</tomcat-users> | |
#To enable access to the web interface from anywhere open the following two files and comment or remove the lines highlighted in yellow. | |
#For the Manager app, open the following file: | |
sudo nano /opt/tomcat/latest/webapps/manager/META-INF/context.xml | |
#For the Host Manager app, open the following file: | |
sudo nano /opt/tomcat/latest/webapps/host-manager/META-INF/context.xml | |
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> | |
#Another option is to allow access to the to the Manager and Host Manager apps only from a specific IP. Instead of commenting the blocks you can simply add your IP address to the list. | |
#For example if your public IP is 45.45.45.45 you would make the following change: | |
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|45.45.45.45" /> | |
</Context> | |
#The list of allowed IP addresses is a list separated with vertical bar |. You can add single IP addresses or use a regular expressions. | |
Remember to restart the Tomcat service each time you edit Tomcat configuration files for changes to take effect: | |
sudo systemctl restart tomcat | |
http://localhost:8080 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment