نحوه نصب Tomcat 9 در CentOS 8

نحوه نصب Tomcat 9 در CentOS 8

سعیده مهاجری

Apache Tomcat یک اجرا کننده اپن سورس از فناوری های Java Servlet ، JavaServer Pages ، Java Expression Language و Java WebSocket است. این یکی از پر کاربردترین برنامه ها و وب سرورهای امروزه در جهان است. استفاده از Tomcat ساده است و دارای اکوسیستم قوی از افزودنی ها است. در این آموزش نحوه نصب Tomcat 9.0 در CentOS 8 را به شما عزیزان توضیح خواهیم داد.

نصب جاوا :

این وب سرور برای نصب بر روی سیستم نیاز به Java SE 8 یا بالاتر دارد.. ما OpenJDK 11 را نصب خواهیم کرد. برای نصب جاوا دستور زیر را به عنوان root یا user با امتیاز sudo اجرا کنید:

sudo dnf install java-11-openjdk-devel

پس از اتمام نصب ، با بررسی نسخه جاوا ، آن را تأیید کنید:

java -version

خروجی باید چیزی شبیه به دستور زیر باشد:

openjdk version "11.0.5" 2019-10-15 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.5+10-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.5+10-LTS, mixed mode, sharing)

ایجاد کاربر سیستم :

اجرای Tomcat در زیر کاربر root یک خطر امنیتی است. ما یک کاربر و گروه سیستم جدید با دایرکتوری home / opt / tomcat ایجاد خواهیم کرد که سرویس Tomcat را اجرا کند. برای انجام این کار ، دستور زیر را وارد کنید:

sudo useradd -m -U -d /opt/tomcat -s /bin/false tomcat

دانلود Tomcat :

توزیع باینری Tomcat از صفحه دانلود Tomcat ، برای دانلود در دسترس است. در زمان نوشتن ، آخرین نسخه Tomcat 9.0.30 است. قبل از ادامه مرحله بعدی ، صفحه دانلود Tomcat 9 را بررسی کنید ، ممکن است نسخه جدیدتری در دسترس باشد. فایل زیپ Tomcat را با wget در دایرکتوری / tmp دانلود کنید:

VERSION=9.0.30wget https://www-eu.apache.org/dist/tomcat/tomcat-9/v${VERSION}/bin/apache-tomcat-${VERSION}.tar.gz -P /tmp

پس از اتمام دانلود ، فایل tar را به دایرکتوری / opt / tomcat اکسترکت کنید:

sudo tar -xf /tmp/apache-tomcat-${VERSION}.tar.gz -C /opt/tomcat/

Tomcat به طور منظم به روز می شود. برای کنترل بیشتر بر روی نسخه ها و به روزرسانی ها ، یک لینک سمبولیک به نام latest ایجاد خواهیم کرد که به دایرکتوری نصب Tomcat اشاره می کند:

sudo ln -s /opt/tomcat/apache-tomcat-${VERSION} /opt/tomcat/latest

کاربر سیستمی که قبلاً ایجاد شده است ، باید به دایرکتوری نصب Tomcat دسترسی داشته باشد. مالکیت دایرکتوری را به tomcat کاربر و گروه تغییر دهید:

sudo chown -R tomcat: /opt/tomcat

اسکریپتهای shell داخل پوشه bin را قابل اجرا کنید:

sudo sh -c 'chmod +x /opt/tomcat/latest/bin/*.sh'

از این اسکریپت ها برای شروع و توقف Tomcat استفاده می شود.

ایجاد یک فایل Systemd Unit :

به جای شروع دستی و متوقف کردن سرور Tomcat ، ما آن را تنظیم می کنیم تا به عنوان یک سرویس اجرا شود. ویرایشگر متن خود را باز کنید و یک فایل tomcat.service unit را در دایرکتوری/ etc / systemd / system / ایجاد کنید:

sudo nano /etc/systemd/system/tomcat.service

محتوای زیر را در فایل قرار دهید:

[Unit]
Description=Tomcat 9 servlet container
After=network.target

[Service]
Type=forking

User=tomcat
Group=tomcat

Environment="JAVA_HOME=/usr/lib/jvm/jre"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"

Environment="CATALINA_BASE=/opt/tomcat/latest"
Environment="CATALINA_HOME=/opt/tomcat/latest"
Environment="CATALINA_PID=/opt/tomcat/latest/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"

ExecStart=/opt/tomcat/latest/bin/startup.sh
ExecStop=/opt/tomcat/latest/bin/shutdown.sh

[Install]
WantedBy=multi-user.target

ذخیره کنید و فایل را ببندید. با تایپ کردن دستور  ، به سیستم اطلاع دهید که یک سرویس جدید وجود دارد:

sudo systemctl daemon-reload

سرویس Tomcat را فعال و شروع کنید:

sudo systemctl enable --now tomcat
وضعیت سرویس را بررسی کنید:
sudo systemctl status tomcat

خروجی باید نشان دهد که سرور Tomcat فعال و در حال اجرا است:

tomcat.service - Tomcat 9 servlet container
   Loaded: loaded (/etc/systemd/system/tomcat.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2020-01-15 20:38:07 UTC; 30s ago
  Process: 3957 ExecStart=/opt/tomcat/latest/bin/startup.sh (code=exited, status=0/SUCCESS)

کانفیگ فایروال :

اگر سرور شما توسط فایروال محافظت می شود و می خواهید از خارج از شبکه local به رابط tomcat دسترسی پیدا کنید ، باید پورت ۸۰۸۰ را باز کنید. برای باز کردن پورت لازم است از دستورات زیر استفاده کنید:
sudo firewall-cmd --permanent --zone=public --add-port=8080/tcpsudo firewall-cmd --reload

کانفیگ رابط مدیریت وب Tomcat :

در این مرحله ، باید بتوانید با یک مرورگر وب در پورت ۸۰۸۰ ، به Tomcat دسترسی پیدا کنید. رابط مدیریت وب قابل دسترسی نیست زیرا ما هنوز کاربری ایجاد نکرده ایم. کاربران و نقش های Tomcat در فایل tomcat-users.xml تعریف شده اند. اگر فایل را باز کنید ، متوجه خواهید شد که پر از نظرات و مثالهایی است که نحوه کانفیگ فایل را توصیف می کند:

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

برای ایجاد یک کاربر جدید که بتواند به رابط وب Tomcat (manager-gui and admin-gui) دسترسی پیدا کند ، فایل را مطابق دستور زیر ویرایش کنید. اطمینان حاصل کنید که نام کاربری و گذرواژه را به چیزی امن تر تغییر دهید:

<tomcat-users>
<!--
    Comments
-->
<role rolename="admin-gui"/><role rolename="manager-gui"/><user username="admin" password="admin_password" roles="admin-gui,manager-gui"/></tomcat-users>
به طور پیش فرض رابط مدیریت وب Tomcat به گونه ای کانفیگ شده است که فقط از طریق localhost اجازه دسترسی دارد. اگر می خواهید از هرجایی به رابط وب دسترسی پیدا کنید ، فایل های زیر را باز کنید و دستورات زرد رنگ را تغییر دهید یا حذف کنید:
<Context antiResourceLocking="false" privileged="true" >
<!--
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
-->
</Context>
<Context antiResourceLocking="false" privileged="true" >
<!--
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
-->
</Context>
لطفا توجه داشته باشید ، اجازه دسترسی از هرجایی توصیه نمی شود زیرا این یک خطر امنیتی است. اگر می خواهید فقط از طریق یک IP خاص به رابط وب دسترسی پیدا کنید ، IP عمومی خود را به لیست اضافه کنید. IP عمومی شما ۴۱٫۴۱٫۴۱٫۴۱ است و می خواهید فقط از طریق آن IP دسترسی داشته باشید:
<Context antiResourceLocking="false" privileged="true" >
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|41.41.41.41" /></Context>
<Context antiResourceLocking="false" privileged="true" >
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|41.41.41.41" /></Context>
لیست آدرس های IP مجاز لیستی است که با نوار عمودی (|) جدا شده است. شما می توانید تنها یک آدرس IP اضافه کنید یا از عبارات معمولی استفاده کنید. پس از اتمام ، سرویس Tomcat را مجدداً راه اندازی کنید تا تغییرات اعمال شود:
sudo systemctl restart tomcat

تست نصب Tomcat 9 :

مرورگر خود را باز کنید و http: // <your_domain_or_IP_address>: 8080 را تایپ کنید. پس از نصب موفقیت آمیز ، صفحه ای شبیه به تصویر زیر ظاهر می شود:

نحوه نصب Tomcat 9 در CentOS 8

داشبورد مدیر برنامه های وب Tomcat به شما امکان می دهد برنامه های خود را مستقر ، لغو استقرار ، شروع ، متوقف کردن و دانلود مجدد کنید. مرورگر خود را باز کنید و http: // <your_domain_or_IP_address>: 8080 / manager / html را تایپ کنید تا بتوانید اینکار را انجام دهید:

نحوه نصب Tomcat 9 در CentOS 8

داشبورد مدیر هاست مجازی Tomcat به شما امکان می دهد هاست های مجازی Tomcat را ایجاد ، حذف و مدیریت کنید. مرورگر خود را باز کنید و http: // <your_domain_or_IP_address>: 8080 / host-manager / html را تایپ کنید تا بتوانید اینکار انجام دهید:

نحوه نصب Tomcat 9 در CentOS 8

جمع بندی :

ما به شما نحوه نصب Tomcat 9.0 در CentOS 8 و نحوه دسترسی به رابط مدیریت Tomcat را نشان داده ایم.

امیدواریم مطالب مورد پسند بوده و از آن بهره لازم را برده باشید. خوشحال میشویم نظرات و سوالات خود را در قسمت دیدگاه به اشتراک بگذارید و ما را در شتابان هاست همراهی کنید.😊

برچسب ها: دستورات لینوکس