[2] Tomcat 10 – Instalacja

3 lutego 2022 Wyłączono przez Adam [zicherka] Nogły

Zainstaluj Tomcat 10, aby skonfigurować serwer aplikacji Java.

[1] Zainstaluj środowisko Java Runtime Environment.

[2] Zainstaluj Tomcat 10. Upewnij się, że pobierania jest najnowsza wersja i źródłowy adres URL: Apache Tomcat® – Apache Tomcat 10 Software Downloads / https://tomcat.apache.org/download-10.cgi.

[root@vlsr01 ~]# curl -O https://dlcdn.apache.org/tomcat/tomcat-10/v10.0.16/bin/apache-tomcat-10.0.16.tar.gz
[root@vlsr01 ~]# tar zxvf apache-tomcat-10.0.16.tar.gz
[root@vlsr01 ~]# mv apache-tomcat-10.0.16 /usr/libexec/tomcat10
[root@vlsr01 ~]# useradd -M -d /usr/libexec/tomcat10 tomcat
[root@vlsr01 ~]# chown -R tomcat. /usr/libexec/tomcat10

[3] Stwórz plik konfiguracyjny Systemd.

[root@vlsr01 ~]# mcedit /usr/lib/systemd/system/tomcat10.service
#stworz nowy
[Unit]
Description=Apache Tomcat 10
After=network.target
[Service]
Type=oneshot
ExecStart=/usr/libexec/tomcat10/bin/startup.sh
ExecStop=/usr/libexec/tomcat10/bin/shutdown.sh
RemainAfterExit=yes
User=tomcat
Group=tomcat
[Install]
WantedBy=multi-user.target

#SELinux zablokuje wykonanie skryptu startowego więc wykonaj
[root@vlsr01 ~]# ausearch -c '(artup.sh)' --raw | audit2allow -M my-artupsh
[root@vlsr01 ~]# semodule -i my-artupsh.pp
# [root@vlsr01 ~]# semodule -X 300 -i my-artupsh.pp
[root@vlsr01 ~]# /sbin/restorecon -v /usr/libexec/tomcat10/bin/startup.sh
[root@vlsr01 ~]# systemctl enable --now tomcat10

[4] Jeżeli Firewalld jest uruchomiony należy odblokować port 8080/tcp dla dostępu do Tomcata z innych hostów.

[root@vlsr01 ~]# firewall-cmd --add-port=8080/tcp --permanent
[root@vlsr01 ~]# firewall-cmd –reload

[5] Uruchom przeglądarkę internetową na hoście lokalnym lub klientach w sieci i uzyskaj dostęp do [http://(nazwa hosta serwera lub adres IP):8080/], a następnie domyślna witryna Tomcat zostanie wyświetlona w następujący sposób.

[6] Utwórz testowy serwlet, który pokazuje aktualną datę i upewnij się, że działa normalnie.

[root@vlsr01 ~]# mkdir /usr/libexec/tomcat10/webapps/ROOT/WEB-INF/classes
[root@vlsr01 ~]# chown tomcat. /usr/libexec/tomcat10/webapps/ROOT/WEB-INF/classes
[root@vlsr01 ~]# cd /usr/libexec/tomcat10/webapps/ROOT/WEB-INF/classes
[root@vlsr01 classes]# mcedit daytime.java
#utwórz nowy plik
#od Tomcat10 jest dostępna Jakarta EE
#dlatego zamieniono [javax.*] na [jakarta.*]
import java.io.*;
import jakarta.servlet.*;
import jakarta.servlet.http.*;
import java.util.Calendar;
public class daytime extends HttpServlet {
    public void doGet(HttpServletRequest request
    ,HttpServletResponse response)
    throws IOException, ServletException{
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        Calendar cal = Calendar.getInstance();
        out.println("<html>\n<head>\n<title>DayTime</title>\n</head>\n<body>");
        out.println("<div style=\"font-size: 40px; text-align: center; font-weight: bold\">");
        out.println(cal.get(Calendar.YEAR) + "/" + (cal.get(Calendar.MONTH) + 1) + "/" +
        cal.get(Calendar.DATE) + " " + cal.get(Calendar.HOUR_OF_DAY) + ":" + cal.get(Calendar.MINUTE));
        out.println("</div>\n</body>\n</html>");
    }
}

[root@vlsr01 classes]# javac -classpath /usr/libexec/tomcat10/lib/servlet-api.jar daytime.java
[root@vlsr01 classes]# mcedit /usr/libexec/tomcat10/webapps/ROOT/WEB-INF/web.xml
#dodaj poniższy skrypt między <web-app> a </web-app>
<servlet>
     <servlet-name>daytime</servlet-name>
     <servlet-class>daytime</servlet-class>
  </servlet>
  <servlet-mapping>
     <servlet-name>daytime</servlet-name>
     <url-pattern>/daytime</url-pattern>
  </servlet-mapping>

[7] Uruchom przeglądarkę internetową na hoście lokalnym lub klientach w sieci i uzyskaj dostęp do [http://(nazwa hosta serwera lub adres IP):8080/daytime] i upewnij się, że wszystko działa poprawnie.