بهمن 5, 1398لینوکس
ابتدا apache-tomcat-8.5.13 و jdk1.8.0_192 را در opt سرور کپی کرده و از حالت فشرده خارج می کنیم و سپس تنظیمات جاوا را اعمال می کنیم.

برای این منظور دستورات زیر را بر روی سرور اجرا نمایید
cd /opt/
ls -la
unzip apache-tomcat-8.5.13.zip
tar -xvf jdk-8u192-linux-x64.tar.gz
install java:
java -version
alternatives --install /usr/bin/java java /opt/jdk1.8.0_192/bin/java 2
alternatives --config java
alternatives --install /usr/bin/javac javac /opt/jdk1.8.0_192/bin/javac 2
alternatives --install /usr/bin/jar jar /opt/jdk1.8.0_192/bin/jar 2
alternatives --set jar /opt/jdk1.8.0_192/bin/jar
alternatives --set javac /opt/jdk1.8.0_192/bin/javac
echo "export JAVA_HOME=/opt/jdk1.8.0_192/" >> /etc/bashrc
echo "export JRE_HOME=/opt/jdk1.8.0_192/jre" >> /etc/bashrc
echo "export PATH=$PATH:/opt/jdk1.8.0_192/bin:/opt/jdk1.8.0_192/jre/bin" >> /etc/bashrc
java -version
source /etc/bashrc
echo $JAVA_HOME

سپس بوسیله دستورات زیر keystore را تولید می نماییم
cd $JAVA_HOME/bin
keytool -genkey -alias svr1.linuxkade.ir/ -keyalg RSA -keystore /opt/keystore


حال باید تامکت را برای استفاده از keystore تولید شده تنظیم نماییم
cd /opt/apache-tomcat-8.5.13/conf/
cp server.xml server.xml.bak
vim server.xml
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" secure="true" scheme="https" clientAuth="false"
keystoreFile="/opt/keystore" keystorePass="123456" >
<!-- <SSLHostConfig>
<Certificate certificateKeystoreFile="conf/localhost-rsa.jks"
type="RSA" />
</SSLHostConfig-->
</Connector>
توجه : قبل از اعمال تغییرات بر روی فایل server.xml یک بک آپ از آن تهیه نمایید.

حال اگر تامکت را اجرا نمایید هم بر روی پورت 8080 که اتصال عادی و غیر https است و هم بر روی پورت 8443 که پورت اتصال https می باشد بالا می آید.
حال دو حالت پیش می آید :
1- شما می خواهید تامکت وقتی در حالت ناامن اجرا می شود ریدایرکت شود بر روی https ، که در این حالت باید خطوطی که در کادر پایین می بینید را به انتهای فایل web.xml اضافه نمایید.
vim /opt/apache-tomcat-8.5.13/conf/web.xml
...
...
...
<security-constraint>
<web-resource-collection>
<web-resource-name>securedapp</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
</web-app>

2- شما می خواهید تامکت فقط در حالت https و امن اجرا شود که در اینصورت فقط کافی است بخش زیر در فایل server.xml را کامنت نمایید
<!--
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
-->
ساخت سرویس برای تامکت: (این بخش اختیاری است و فقط جهت تسهیل استفاده از تامکت قرار داده شده است)
در مسیر زیر فایل tomcat.service را ایجاد نمایید
vim /etc/systemd/system/tomcat.service
و داخل فایل فوق دستورات زیر را قرار دهید
# Systemd unit file for tomcat
[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target
[Service]
Type=forking
#Environment=JAVA_HOME=/usr/lib/jvm/jre
#Environment=JAVA_HOME=/opt/jdk1.6.0_45
Environment=CATALINA_PID=/opt/apache-tomcat-8.5.13/temp/tomcat.pid
#Environment=CATALINA_HOME=/opt/Tomcat
#Environment=CATALINA_BASE=/opt/Tomcat
#Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
#Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -Djava.security.egd=file:/dev/./urandom' -Dorg.apache.catalina.connector.RECYCLE_FACADES=true
#ExecStart=/usr/bin/authbind --deep /opt/tomcat8/bin/startup.sh
ExecStart=/opt/apache-tomcat-8.5.13/bin/startup.sh
#ExecStart=/opt/Tomcat/bin/catalina.sh start -security
ExecStop=/opt/apache-tomcat-8.5.13/bin/shutdown.sh
#User=tomcat
#Group=tomcat
#UMask=0007
#RestartSec=10
#Restart=always
[Install]
WantedBy=multi-user.target
سپس برای اینکه سیستم عامل سرویس تامکتی که ایجاد نموده اید را بشناسد دستورات زیر را اجرا نمایید و سرویس تامکت را start نمایید.
systemctl daemon-reload
pkill -9 java
systemctl start tomcat

بوسیله ایجاد سرویس برای تامکت دیگر نیاز نیست برای اجرا شدن تامکت به مسیر زیر رفته و فایل catalina.sh را دستی اجرا نمایید و همچنین این قابلیت نیز وجود دارد که در زمان بوت سیستم عامل سرویس تامکت خودکار اجرا شود.
/opt/apache-tomcat-8.5.13/bin/catalina.sh run
لینک دانلود فایل تامکت ssl شده به همراه keystore
