This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
tomcat [2020/06/11 21:08] k2patel |
tomcat [2020/06/11 21:41] k2patel |
||
---|---|---|---|
Line 45: | Line 45: | ||
</security-constraint> | </security-constraint> | ||
</code> | </code> | ||
+ | |||
+ | ==== RHEL 8 / Tomcat 9==== | ||
+ | |||
+ | === Install Packages === | ||
+ | <code bash> | ||
+ | dnf install java-1.8.0-openjdk-devel tar apr-util-devel apr-util-openssl gcc openssl-devel | ||
+ | </code> | ||
+ | |||
+ | === Create User === | ||
+ | <code bash> | ||
+ | groupadd --system tomcat -g 91 // with group id 91 | ||
+ | useradd -u 91 -d /usr/share/tomcat -r -s /bin/false -g tomcat tomcat // with user id 91 | ||
+ | </code> | ||
+ | |||
+ | === Download Tomcat Package === | ||
+ | <code bash> | ||
+ | export TOM_VERSION="9.0.36" | ||
+ | wget "https://apache.osuosl.org/tomcat/tomcat-9/v${TOM_VERSION}/bin/apache-tomcat-${TOM_VERSION}.tar.gz" | ||
+ | </code> | ||
+ | |||
+ | === Extract Package === | ||
+ | <code bash> | ||
+ | tar -xvf apache-tomcat-${TOM_VERSION}.tar.gz -C /usr/share/ | ||
+ | ln -s /usr/share/apache-tomcat-${TOM_VERSION} /usr/share/tomcat | ||
+ | </code> | ||
+ | |||
+ | === Set Ownership === | ||
+ | <code bash> | ||
+ | chown -R tomcat:tomcat /usr/share/tomcat | ||
+ | chown -R tomcat:tomcat /usr/share/apache-tomcat-${TOM_VERSION} | ||
+ | </code> | ||
+ | |||
+ | === Systemd service === | ||
+ | <code bash | /etc/systemd/system/tomcat.service> | ||
+ | [Unit] | ||
+ | Description=Tomcat Server | ||
+ | After=syslog.target network.target | ||
+ | |||
+ | [Service] | ||
+ | Type=forking | ||
+ | User=tomcat | ||
+ | Group=tomcat | ||
+ | |||
+ | Environment=JAVA_HOME=/usr/lib/jvm/jre | ||
+ | Environment='JAVA_OPTS=-Djava.awt.headless=true' | ||
+ | Environment=CATALINA_HOME=/usr/share/tomcat | ||
+ | Environment=CATALINA_BASE=/usr/share/tomcat | ||
+ | Environment=CATALINA_PID=/usr/share/tomcat/temp/tomcat.pid | ||
+ | Environment='CATALINA_OPTS=-Xms512M -Xmx3072M' | ||
+ | ExecStart=/usr/share/tomcat/bin/catalina.sh start | ||
+ | ExecStop=/usr/share/tomcat/bin/catalina.sh stop | ||
+ | |||
+ | [Install] | ||
+ | WantedBy=multi-user.target | ||
+ | </code> | ||
+ | |||
+ | === Backup / Remove examples === | ||
+ | <code bash> | ||
+ | cp -Rp /usr/share/tomcat/webapps /usr/share/tomcat/webapps.bk | ||
+ | rm -rf /usr/share/tomcat/webapps/{docs,examples,ROOT} | ||
+ | </code> | ||
+ | |||
+ | === Set User === | ||
+ | <code xml | tomcat-users.xml> | ||
+ | <role rolename="manager-gui"/> | ||
+ | <role rolename="admin-gui"/> | ||
+ | <role rolename="admin-script"/> | ||
+ | <role rolename="manager-script"/> | ||
+ | <role rolename="manager-jmx"/> | ||
+ | <user username="admin" password="something" roles="admin-gui,manager-gui,manager-script,manager-jmx,admin-script"/> | ||
+ | </code> | ||
+ | |||
+ | === Tomcat Native === | ||
+ | <code bash> | ||
+ | cd /usr/share/tomcat/bin | ||
+ | tar -xvf tomcat-native.tar.gz | ||
+ | cd tomcat-native-1.2.24-src/native | ||
+ | ./configure --with-java-home=/usr/lib/jvm/java-openjdk --with-ssl=yes --prefix=/usr/share/tomcat | ||
+ | make && make install | ||
+ | </code> | ||
+ | |||
+ | <code bash | /usr/share/tomcat/bin/setenv.sh> | ||
+ | LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CATALINA_HOME/lib | ||
+ | export LD_LIBRARY_PATH | ||
+ | </code> | ||
+ | |||
+ | :!: Set SSL[[tomcat#tomcat_ssl|tomcat#tomcat_ssl]] \\ | ||
+ | :?: Set Auto redirect if needed [[tomcat#setting_up_redirect|tomcat#setting_up_redirect]] | ||
+ | |||
+ | === Start Service === | ||
+ | <code bash> | ||
+ | systemctl daemon-reload | ||
+ | systemctl enable tomcat | ||
+ | systemctl start tomcat | ||
+ | </code> | ||
+ | |||
+ | === Firewall === | ||
+ | <code bash> | ||
+ | firewall-cmd --permanent --add-port=8080/tcp | ||
+ | firewall-cmd --permanent --add-port=8443/tcp | ||
+ | firewall-cmd --reload | ||
+ | </code> | ||
+ | |||
+ | |||
+ | |||
+ |