نصب Apache Tomcat 9 در Centos 7



آموزش نصب Apache Tomcat 9

در این مقاله آموزش مرحله به مرحله نصب Apache Tomcat 9 در سیستم عامل CentOS 7 رو آموزش میدیم ، Apache Tomcat یکی از محبوبترین برنامه های جاوا در سرور است ، این وب سرور رایگان است که بر اساس برنامه های آپاچی پیاده سازی شده است که جاوا را در سرور راه اندازی میکند.تام کت تا کنون بیش از 10 میلیون بار دانلودشده ، نصب Tomcat 9 در Centos 7 بسیار آسان هست و نهایتا 10 دقیقه زمان میبرد.

Apache Tomcat 9 برای اجرا نیاز به Java EE 8 که دارای ویژگی های Servlet 4.0, EL 3.1, JSP 2.4 and WebSocket 1.2 هست نیاز دارد که همچنین در این نسخه باگ ها و ایرادات امینیتی زیر برطرف شده است.

– implements HTTP/2 (requires the APR/native library)
– supports TLS virtual hosting
– Allows OpenSSL performance with NIO/NIO2 APIs
– using OpenSSL for TLS with the JSSE connectors
– SNI and multiple certificates supported by all connectors
– OpenSSL engine option for NIO and NIO2

 

برای نصب ابتدا وارد SSH بشید و سرور رو آپدیت کنین

yum -y update

 

نصب Java 8

Apache Tomcat 9 نیاز به جاوا 8 یا نسخه جدیدتر رو داره  ، بسته های Java 8 بصورت پیش فرض روی repositories سیستم عامل Centos 7 آماده هستند  ، با دستور زیر Java 8 رو نصب میکنیم.

 

yum install java-1.8.0-openjdk.x86_64 java-1.8.0-openjdk-devel.x86_64

با دستور زیر  نسخه نصب شده نمایش داده میشه

java -version

و محتوایی مانند زیر خواهد داشت

openjdk version "1.8.0_161"
OpenJDK Runtime Environment (build 1.8.0_161-b14)
OpenJDK 64-Bit Server VM (build 25.161-b14, mixed mode)

نصب Tomcat 9

به سایت رسمی رسمی آپاچی تامکت 9 میریم و آخرین نتسخه اون رو دانلود میکنیم

wget 

سپس با دستور زیر از ZIP خارج میکنیم

unzip apache-tomcat-9.0.7.zip -d /opt

مراحل نصب Apache Tomcat 9 در Centos 7

با دستور بالا یک پوشه به اسم opt ایجاد شده  ، داخل پوشه میشیم و فایل هارو منتقل میکنیم به پوشه جدید

cd /opt
mv apache-tomcat-9.0.7/ tomcat

سپس دستور زیر رو برای CATALINA_HOME environment variable اعمال میکنیم

 

echo "export CATALINA_HOME='/opt/tomcat/'" >> ~/.bashrc
source ~/.bashrc

توصیه نمیکنیم که برای اجرای Apache Tomcat از یوزر root استفاده کنین به همین خاطر یک یوزر دیگه ایجاد میکنیم

useradd -r tomcat --shell /bin/false

و تنظیمات پرمیژن رو اعمال میکنیم

chown -R tomcat:tomcat /opt/tomcat/

نصب Apache Tomcat 9 در Centos 7

سپس یک فایل systemd با محتوای زیر ایجاد کنین

 

nano /etc/systemd/system/tomcat.service

[Unit]
Description=Apache Tomcat 9
After=syslog.target network.target

[Service]
User=tomcat
Group=tomcat
Type=forking
Environment=CATALINA_PID=/opt/tomcat/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
Restart=on-failure

[Install] 
WantedBy=multi-user.target

سپس تغییرات رو ذخیره کنین و دستور reload رو برای تنظیمات اعمال شده systemd انجام بدین.

systemctl daemon-reload

تنظیم Tomcat 9

با دستور زیر apache tomcat 9 رو میتونین برای اجرا شدن در زمان بوت سیستم عامل فعال کنین

systemctl start tomcat
systemctl enable tomcat

همچنین با دستور زیر وضعیت tomcat 9 رو بررسی کنین

systemctl status tomcat

که خروجی مانند زیر خواهد داشت

● tomcat.service - Apache Tomcat 9
Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: disabled)
Active: active (exited) since Wed 2018-04-11 05:59:13 CDT; 2min 31s ago
Process: 1091 ExecStart=/opt/tomcat/bin/startup.sh (code=exited, status=0/SUCCESS)
Main PID: 1091 (code=exited, status=0/SUCCESS)
CGroup: /system.slice/tomcat.service
└─1106 /usr/bin/java -Djava.util.logging.co

 

برای دسترسی و مشاهده وب سرور باید آدرس IP و پورت رو در مرورگر وارد کنین http://IP_address:8080

 

ایجاد Tomcat 9 user account

شما میتونین یک یوزر جدید tomcat برای دسترسی به Tomcat manager ایجاد کنین به همین خاطر فایل tomcat-users.xml رو باید ایجاد کنین و خطوط زیر رو در اون وارد کنین

nano /opt/tomcat/conf/tomcat-users.xml

<role rolename="admin-gui" />
<user username="admin" password="PASSWORD" roles="manager-gui,admin-gui"
</tomcat-users>

فراموش نکنین که به جای PASSWORD  باید رمز خودتون رو قرار بدین.

بصورت پیش فرض Tomcat Manager تنها از همان دستگاه قابل مشاهده هست برای حذف کردن این مورد باید فایل context.xml رو ویرایش کنین و کد زیر رو یا حذف کنین یا کامنت قرار بدین

 

nano /opt/tomcat/webapps/manager/META-INF/content.xml

<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />

 

سپس وب سرور تامکت را ریستارت کنین

systemctl restart tomcat

آمورش cloudflare و تنظیم dns