Win10子系统Ubuntu安装Thingworx8.5--3.安装Tomcat
提取Tomcat压缩文件:tar -xf apache-tomcat-8.5.60.tar.gz
必须调整tomcat的文件夹位置,如果没有此文件夹,则必须创建:
sudo mkdir /usr/share/tomcat8.5
sudo mv apache-tomcat-8.5.60 /usr/share/tomcat8.5
更改/usr/share/tomcat8.5的所有者,并向系统添加用户和组:
sudo addgroup --system tomcat8.5 --quiet --force-badname
sudo adduser --system --home /usr/share/tomcat8.5/ --no-create-home --ingroup tomcat8.5 --disabled-password --force-badname --shell /bin/false tomcat8.5
sudo chown -R tomcat8.5:tomcat8.5 /usr/share/tomcat8.5
定义环境变量:
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_131/
export CATALINA_HOME=/usr/share/tomcat8.5/apache-tomcat-8.5.60/
【注:此处环境变量是临时的,如果需要永久有效,需要写入/etc/profile中.】
进入到$CATALINA_HOME目录:cd $CATALINA_HOME
更改bin/、lib/和webapps/的所i有者和访问权限:
sudo chown -Rh tomcat8.5:tomcat8.5 bin/ lib/ webapps/
sudo chmod 775 bin/ lib/ webapps/
更改/usr/share/tomcat8.5/apache-tomcat-8.5.60的所有者和访问权限:
sudo chown -R tomcat8.5:tomcat8.5 /usr/share/tomcat8.5/apache-tomcat-8.5.60
sudo chmod -R 775 /usr/share/tomcat8.5/apache-tomcat-8.5.60
更改conf/的所有者和访问权限:
sudo chown -Rh root:tomcat8.5 conf/
sudo chmod -R 650 conf/
更改logs/、temp/和work/的访问权限:
sudo chown -R tomcat8.5:adm logs/ temp/ work/
sudo chmod 760 logs/ temp/ work/
创建自签名证书:
sudo $JAVA_HOME/bin/keytool -genkey -alias tomcat8.5 -keyalg RSA -keystore $CATALINA_HOME/conf/.keystore
按照提示填写即可,注意把tomcat8.5 的用户密码设置相同的密钥库密码
sudo chown root:tomcat8.5 $CATALINA_HOME/conf/.keystore
sudo chmod 640 $CATALINA_HOME/conf/.keystore
修改$CATALINA_HOME/conf/context.xml文件,修改Manager元素:<Manager pathname="">
修改$CATALINA_HOME/conf/server.xml文件,注释掉<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
修改$CATALINA_HOME/conf/tomcat-users.xml文件,添加新定义用户【注意此处应和keystore密码保持一致】:
<user username="<Tomcat user name> " password="<Tomcat password> " roles="manager"/>
查看tomcat8.5用户的uid: $id -u tomcat8.5 【注意此UID下文使用,我查出来的是113】
新建UID文件:sudo touch /etc/authbind/byuid/113 【authbind是用来 绑定小于1024的端口的】
编辑113文件【tvi /etc/authbind/byuid/113】,并添加如下如下内容:
0.0.0.0/0:1,1023
修改113文件的所有者和访问权限:
sudo chown tomcat8.5:tomcat8.5 /etc/authbind/byuid/113
sudo chmod 700 /etc/authbind/byuid/113
修改$CATALINA_HOME/bin/startup.sh,获取authbind永久使用权限:
sudo vi $CATALINA_HOME/bin/startup.sh
将行:#exec "$PRGDIR"/"$EXECUTABLE" start "$@" 修改为:exec authbind --deep "$PRGDIR"/"$EXECUTABLE" start "$@"
在/etc/init.下创建tomcat8.5, sudo touch /etc/init.d/tomcat8.5
添加如下内容:
CATALINA_HOME=/usr/share/tomcat8.5/apache-tomcat-8.5.60
case $1 in
start)
/bin/su -p -s /bin/sh tomcat8.5 $CATALINA_HOME/bin/startup.sh
;;
stop)
/bin/su -p -s /bin/sh tomcat8.5 $CATALINA_HOME/bin/shutdown.sh
;;
restart)
/bin/su -p -s /bin/sh tomcat8.5 $CATALINA_HOME/bin/shutdown.sh
/bin/su -p -s /bin/sh tomcat8.5 $CATALINA_HOME/bin/startup.sh
;;
esac
exit 0
修改/etc/init.d/tomcat8.5的权限,并创建符号链接:
sudo chmod 755 /etc/init.d/tomcat8.5
sudo ln -s /etc/init.d/tomcat8.5 /etc/rc1.d/K99tomcat
sudo ln -s /etc/init.d/tomcat8.5 /etc/rc2.d/S99tomcat
安装JSVC,若已安装可跳过此步骤:
sudo apt-get install gcc
设置Tomcat启动服务:
cd /usr/share/tomcat8.5/apache-tomcat-8.5.60
sudo tar xvfz common-daemon-native.tart.gz
cd commons-daemon-*-native-src/unix
sudo ./configure --with-java=$JAVA_HOME
sudo apt-get install make
sudo make
sudo cp jsvc ../..
创建Tomcat服务文件:sudo touch /etc/systemd/system/tomcat8.5.service
编辑该服务文件:sudo vi /etc/systemd/system/tomcat8.5.service
[Unit]
Description=Apache Tomcat Web Application Container
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_131
Environment=CATALINA_HOME=/usr/share/tomcat8.5/apache-tomcat-8.5.60
Environment=CATALINA_BASE=/usr/share/tomcat8.5/apache-tomcat-8.5.60
Environment=CATALINA_OPTS=
ExecStart=/usr/share/tomcat8.5/apache-tomcat-8.5.60/bin/jsvc \
-Dcatalina.home=${CATALINA_HOME} \
-Dcatalina.base=${CATALINA_BASE} \
-Djava.awt.headless=true -Djava.net.
preferIPv4Stack=true -Dserver -Dd64 -XX:+UseNUMA \
-XX:+UseG1GC -Dfile.encoding=UTF-8 \
-Djava.library.path=${CATALINA_BASE}/webapps/
Thingworx/WEB-INF/extensions \
-cp ${CATALINA_HOME}/bin/commons-daemon.jar:
${CATALINA_HOME}/bin/bootstrap.jar:${CATALINA_HOME}/bin/tomcat-juli.jar \
-user tomcat8.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
在$CATALINA_HOME/bin文件中创建文件setenv.sh:
cd $CATALINA_HOME/bin
sudo touch setenv.sh
sudo vi setenv.sh
添加如下内容到该文件:
CATALINA_OPTS="$CATALINA_OPTS -Djava.library.path=/usr/share/tomcat8.5/apache-tomcat-8.5.60/webapps/Thingworx/WEB-INF/extensions"
修改$CATALINA_HOME/conf/web.xml文件,将以下内容置于web-app标记中,welcome-file-list之后
<error-page><exception-type>java.lang.Throwable</exception-type><location>/error.jsp</location></error-page>
修改$CATALINA_HOME/conf/server.xml文件,将以下内容添加到host标记中:
<Valve className="org.apache.catalina.valves.ErrorReportValve" showReport="false" showServerInfo="false" />
删除$CATALINA_HOME/webapps/examples的Tomcat示例
-------------Tomcat配置完毕--------------
此外PTC强烈建议在运行 ThingWorx 时使用 TLS,推荐使用TLS1.2,具体单独再写文章介绍... ...