安裝Java 與Apache Tomcat (RHEL) - PTC Support

文章推薦指數: 80 %
投票人數:10人

Java HotSpot(TM) 64-Bit Server VM (build 25.45-bxx, mixed mode). 11. 安裝Tomcat。

下載Tomcat 安裝程式。

此流程中的此步驟使用Tomcat 8.5.xx,其中xx 會被取代為您 ... 安裝Java與ApacheTomcat(RHEL) 在下面的步驟中,使用您所使用的版次編號取代xx或xxx。

1.如果您要針對您的資料庫使用AzureSQL,請轉至 使用AzureSQLServer作為持續性提供者。

執行該部份中的步驟來設定資料庫,並返回此部份。

2.如果使用MSSQL作為資料庫,請轉至 將MSSQL用作持續性提供者。

執行該部份中的步驟來設定資料庫,並返回此部份。

3.從 Oracle的網站下載Java(JDK)RPM檔案。

4.執行Java安裝程式: $sudorpm-ijdk-8uxxx-linux-x64.rpm 5.建立目錄並移動JDK: $sudomkdir-p/usr/lib/jvm$sudomv/usr/java/jdk1.8.0_xxx//usr/lib/jvm/ 6.設定Java替代選項: $sudoalternatives--install/usr/bin/javajava/usr/lib/jvm/jdk1.8.0_xxx/bin/java1$sudoalternatives--install/usr/bin/keytoolkeytool/usr/lib/jvm/jdk1.8.0_xxx/bin/keytool1 7.變更存取權限: $sudochmoda+x/usr/bin/java$sudochmoda+x/usr/bin/keytool   如果您收到錯誤,請使用下列方法: $sudochmod-fa+x/usr/bin/keytool 8.變更擁有者: $sudochown-Rroot:root/usr/lib/jvm/jdk1.8.0_xxx/ 9.配置主物件連結: $sudoalternatives--configjava   選取包含/usr/lib/jvm/jdk1.8.0_xxx/bin/java的選項 $sudorm/usr/java/latest$sudoln-s/usr/lib/jvm/jdk1.8.0_xxx/usr/java/latest$sudoln-s/usr/lib/jvm/jdk1.8.0_xxx/bin/keytool/usr/bin/keytool   這可能會傳回FileExists錯誤。

如果是這樣,請略過並繼續。

$sudoalternatives--configkeytool 10.核對Java版本:版次版本可能會有所不同。

$java-versionjavaversion"1.8.0_xxx"Java(TM)SERuntimeEnvironment(build1.8.0_xxx-bxx)JavaHotSpot(TM)64-BitServerVM(build25.45-bxx,mixedmode) 11.安裝Tomcat。

下載Tomcat安裝程式。

此流程中的此步驟使用Tomcat8.5.xx,其中xx會被取代為您正在使用的版本。

$wgethttps://archive.apache.org/dist/tomcat/tomcat-8/v8.5.xx/bin/apache-tomcat-8.5.xx.tar.gz   最佳作法包括對每個發行版本使用簽名或加總核對碼來核對Tomcat檔案的完整性。

如需詳細資訊,請參閱 Apache的文件。

12.萃取內容: $tar-xfapache-tomcat-8.5.xx.tar.gz 13.將Tomcat移至/usr/share/tomcat8.5: $sudomkdir-p/usr/share/tomcat8.5$sudomvapache-tomcat-8.5.xx/usr/share/tomcat8.5/8.5.xx 14.在/etc/environment中定義環境變數: $exportJAVA_HOME=/usr/lib/jvm/jdk1.8.0_xxx$exportCATALINA_HOME=/usr/share/tomcat8.5/8.5.xx 15.將目錄變更為/usr/share/tomcat8.5/8.5.xx: $cd/usr/share/tomcat8.5/8.5.xx 16.將使用者和群組新增至系統: $sudogroupadd-rtomcat8.5$sudouseradd-r-d/usr/share/tomcat8.5-gtomcat8.5-s/bin/falsetomcat8.5$sudochown-Rtomcat8.5:tomcat8.5/usr/share/tomcat8.5 17.變更bin/、lib/與webapps/的擁有者及存取權限: $sudochown-Rhtomcat8.5:tomcat8.5bin/lib/webapps/$sudochmod775bin/lib/webapps/ 18.變更usr/share/tomcat8.5/8.5xx的擁有者與存取權限: sudochown-Rtomcat8.5:tomcat8.5/usr/share/tomcat8.5/8.5.xxsudochmod-R775/usr/share/tomcat8.5/8.5.xx 19.變更conf/的擁有者及存取權限。

若要使生產系統增加作業系統層級上的安全性,應重新檢閱權限及擁有權。

$sudochown-Rhroot:tomcat8.5conf/$sudochmod-R640confsudochown-Rtomcat8.5:tomcat8.5/usr/share/tomcat8.5/8.5.xxsudochmod-R777/usr/share/tomcat8.5/8.5.xx 20.變更logs/、temp/與work/的存取權限: $sudochown-Rtomcat8.5:admlogs/temp/work/$sudochmod760logs/temp/work/ 21.建立自我簽署的憑證: $/usr/lib/jvm/jdk1.8.0_xxx/jre/bin/keytool-genkey-aliastomcat8.5-keyalgRSA 22.請遵循指示來完成憑證建立流程。

◦設定金鑰庫密碼。

◦請遵照提示來設定您的安全性憑證。

◦將tomcat8.5使用者密碼設定為與金鑰庫密碼相同。

$sudocp~/.keystore/usr/share/tomcat8.5/8.5.xx/conf/$sudochownroot:tomcat8.5/usr/share/tomcat8.5/8.5.xx/conf/.keystore$sudochmod640/usr/share/tomcat8.5/8.5.xx/conf/.keystore 23.為context.xml中的Manager元素取消註解,以防止工作階段持續重新啟動。

在文字編輯器中開啟/usr/share/tomcat8.5/8.5.xx/conf/context.xml(作為根),並移除‘’前的‘’。

24.儲存檔案。

25.在tomcat-users.xml中定義Apache管理員使用者。

在文字編輯器中開啟/usr/share/tomcat8.5/8.5.xx/conf/tomcat-users.xml(作為根)。

在最後一行()的正上方添加以下行: "password=""roles="manager,manager-gui"/> 26.儲存檔案。

  包括的角色是為了簡化測試,如果關注安全性,則可以將其移除。

  基於安全性原因,如果預設未禁用AJP連接器,透過執行下列步驟完成此操作很重要。

27.在Tomcat安裝位置,開啟conf/server.xml,然後搜尋以下這行程式碼。

如果找到,請為其加上註解並儲存檔案:   在ApacheTomcat9.0及更新版本中,rejectIllegalHeader屬性預設為true。

PTC不建議或支援手動修改conf/web.xml檔案,以將此屬性設定為false。

28.將Tomcat設定為在開機時啟動的服務。

首先,如果您的系統尚未安裝JSVC,請先建構。

$sudoyuminstallgcc $cd/usr/share/tomcat8.5/8.5.xx/bin/$sudotarxvfzcommons-daemon-native.tar.gz$cdcommons-daemon-*-native-src/unix$sudo./configure--with-java=$JAVA_HOME$sudoyuminstallmake$sudomake$sudocpjsvc../.. 29.建立Tomcat服務檔案: $sudotouch/usr/lib/systemd/system/tomcat.service 30.在文字編輯器中開啟/usr/lib/systemd/system/tomcat.service(作為根)並貼上下列內容:   在以下範例中,將-Xms和-Xmx的值設定為可用OS記憶體的75%(例如,16GBRAM的系統為12GB)。

如需其他資訊,請參閱 JVM調整。

[Unit] Description=ApacheTomcatWebApplicationContainer After=network.target [Service] Type=forking PIDFile=/var/run/tomcat.pid Environment=CATALINA_PID=/var/run/tomcat.pid Environment=JAVA_HOME=/usr/lib/jvm/jdk1.8.0_xxx Environment=CATALINA_HOME=/usr/share/tomcat8.5/8.5.xx Environment=CATALINA_BASE=/usr/share/tomcat8.5/8.5.xx Environment=CATALINA_OPTS= ExecStart=/usr/share/tomcat8.5/8.5.xx/bin/jsvc\-Dcatalina.home=${CATALINA_HOME}\-Dcatalina.base=${CATALINA_BASE}\-Djava.awt.headless=true-Djava.net.preferIPv4Stack=true-Dserver-XX:+UseNUMA\-XX:+UseG1GC-Dfile.encoding=UTF-8\-Djava.library.path=${CATALINA_BASE}/webapps/Thingworx/WEB-INF/extensions\-Xms=<75%ofavailableOSmemory>\-Xmx=<75%ofavailableOSmemory>\-cp${CATALINA_HOME}/bin/commons-daemon.jar:${CATALINA_HOME}/bin/bootstrap.jar:${CATALINA_HOME}/bin/tomcat-juli.jar\-usertomcat8.5\-java-home${JAVA_HOME}\-pidfile/var/run/tomcat.pid\-errfile${CATALINA_HOME}/logs/catalina.out\-outfile${CATALINA_HOME}/logs/catalina.out\$CATALINA_OPTS\org.apache.catalina.startup.Bootstrap [Install] WantedBy=multi-user.target 31.在名為setenv.sh的Tomcatusr/share/tomcat8.5/8.5.xx/bin檔案中建立新檔案: CATALINA_OPTS="$CATALINA_OPTS-Djava.library.path=/usr/share/tomcat8.5/8.5.xx/webapps/Thingworx/WEB-INF/extensions" 32.將Tomcat設定為在系統啟動時執行,並允許使用者控制Tomcat服務: $sudosystemctlenabletomcat.service sudosystemctlstarttomcatsudosystemctlstoptomcatsudosystemctlrestarttomcatsudosystemctlstatustomcat 33.在Tomcat安裝位置,開啟CATALINA_HOME/conf/web.xml。

將以下內容新增到web.xml檔案來取代預設錯誤頁(預設為堆疊追蹤)。

將以下內容放到web-app標籤內(在welcome-file-list標籤之後)。

正確配置的web應用程式將會在CATALINA_HOME/webapps/APP_NAME/WEB-INF/web.xml中覆寫此預設,以防導致發生問題。

java.lang.Throwable/error.jsp 34.在Tomcat安裝位置,開啟CATALINA_HOME/conf/server.xml。

標籤內新增下列項目: 35.移除位於//webapps/中的所有Tomcatwebapps。

移除這些應用程式可防非必要存取Tomcat,特別是在允許使用者檢視其他使用者cookie的前後關聯中。

36.PTC強烈建議在執行ThingWorx時使用TLS。

如需有關設定TLS的詳細指示,請參閱此 技術支援文章。

37.如果您的應用程式需要特定加密套件,請參閱下列文件集以取得組態資訊: ◦ https://www.jamf.com/jamf-nation/articles/384/configuring-supported-ciphers-for-tomcat-https-connections 配置Ulimit設定 以"root"使用者身分執行Tomcat應用程式伺服器處理程序會影響整體系統安全性,違反業界標準最佳作法。

欲避免這一點,PTC建議您修改/etc/security/limits.d/80-nofiles.conf檔案以包括用以執行應用程式伺服器之使用者的專屬設定。

組態檔案範例 下列組態是預設Redhat7.1OS組態的範例,該預設組態位於/etc/security/limits.d/80-nofiles.conf,且內含所需變更。

在下列範例中,thingworx是應用程式伺服器的使用者名稱。

thingworxsoftnofile30720thingworxhardnofile30720 欲執行此變更,請登出然後再登入您的系統。

安裝ThingWorx/PostgreSQL 1.H2:轉至 安裝ThingWorx(Ubuntu/RHEL) 2.PostgreSQL:請轉至 安裝並配置PostgreSQL。



請為這篇文章評分?