وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

روش نصب Tomcat 9 در CentOS 8

0 5
زمان لازم برای مطالعه: 4 دقیقه



Apache Tomcat یک پیاده‌سازی منبع باز از Java Servlet، JavaServer Pages، Java Expression Language و Java WebSocket است. امروزه یکی از پرکاربردترین برنامه ها و سرورهای وب در جهان است. استفاده از Tomcat ساده است و دارای یک اکوسیستم قوی از افزونه ها است.

این آموزش روش نصب Tomcat 9.0 را بر روی CentOS 8 توضیح می دهد.

نصب جاوا

Tomcat 9 به Java SE 8 یا جدیدتر نیاز دارد. ما OpenJDK 11 را نصب خواهیم کرد، پیاده‌سازی منبع باز پلتفرم جاوا.

برای نصب جاوا دستور زیر را به عنوان روت یا کاربر با امتیازات 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 یک خطر امنیتی است. ما یک کاربر و گروه سیستم جدید با فهرست اصلی ایجاد خواهیم کرد /opt/tomcat که سرویس تامکت را اجرا خواهد کرد. برای انجام این کار، دستور زیر را وارد کنید:

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

دانلود Tomcat

توزیع دودویی Tomcat برای دانلود از سایت موجود است دانلودهای Tomcat page

.

در زمان نوشتن، آخرین نسخه تامکت است 9.0.30. قبل از ادامه مرحله بعدی، دانلود Tomcat 9 را بررسی کنید page برای دیدن اینکه آیا نسخه جدیدتری موجود است یا خیر.

دانلود فایل فشرده 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

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

sudo chown -R tomcat: /opt/tomcat

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

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

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

پیشنهاد می‌کنیم بخوانید:  روش نصب مرورگر وب گوگل کروم در CentOS 8

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

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

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

محتوای زیر را بچسبانید:

/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

ذخیره کنید و فایل را ببندید.

به systemd اطلاع دهید که یک فایل سرویس جدید وجود دارد، با تایپ کردن:

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)
  ...

پیکربندی فایروال

اگر سرور شما توسط فایروال محافظت می شود و می خواهید از خارج از شبکه محلی به رابط تامکت دسترسی پیدا کنید، باید پورت را باز کنید. 8080.

برای باز کردن پورت لازم از دستورات زیر استفاده کنید:

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

پیکربندی رابط مدیریت وب تامکت

در این مرحله، باید بتوانید با یک مرورگر وب در پورت به تامکت دسترسی داشته باشید 8080. رابط مدیریت وب در دسترس نیست زیرا ما هنوز کاربری ایجاد نکرده ایم.

کاربران Tomcat و نقش ها در تعریف شده اند tomcat-users.xml فایل.

اگر فایل را باز کنید، متوجه خواهید شد که با نظرات و مثال هایی پر شده است که روش پیکربندی فایل را توضیح می دهد.

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

برای ایجاد یک کاربر جدید که می تواند به رابط وب تامکت (manager-gui و admin-gui) دسترسی داشته باشد، فایل را مطابق شکل زیر ویرایش کنید. مطمئن شوید که نام کاربری و رمز عبور را به چیزی امن تر تغییر داده اید:

/opt/tomcat/latest/conf/tomcat-users.xml
<tomcat-users>
<!--
    Comments
-->
   <role rolename="admin-gui"/>
   <role rolename="manager-gui"/>
   <user username="admin" password="admin_password" roles="admin-gui,manager-gui"/>
</tomcat-users>

به طور پیش‌فرض رابط مدیریت وب تامکت به گونه‌ای پیکربندی شده است که فقط از طریق localhost.

پیشنهاد می‌کنیم بخوانید:  chmod 777 به چه معناست

اگر نیاز به دسترسی به رابط وب از هر جایی دارید، فایل های زیر را باز کنید و نظر بدهید یا خطوط برجسته شده با رنگ زرد را حذف کنید:

/opt/tomcat/latest/webapps/manager/META-INF/context.xml
<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>
/opt/tomcat/latest/webapps/host-manager/META-INF/context.xml
<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 عمومی شما است 41.41.41.41 و می خواهید فقط از آن IP دسترسی داشته باشید:

/opt/tomcat/latest/webapps/manager/META-INF/context.xml
<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>
/opt/tomcat/latest/webapps/host-manager/META-INF/context.xml
<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

تست نصب

مرورگر خود را باز کنید و تایپ کنید: http://<your_domain_or_IP_address>:8080

پس از نصب موفقیت آمیز، صفحه ای مشابه تصویر زیر ظاهر می شود:

تامکت 9

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

مدیر برنامه وب تامکت

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

تامکت مجازی host مدیر

نتیجه

ما به شما نشان دادیم که چگونه Tomcat 9.0 را روی CentOS 8 نصب کنید و چگونه به رابط مدیریت Tomcat دسترسی پیدا کنید.

برای اطلاعات بیشتر در مورد آپاچی تامکت، به سایت رسمی مراجعه کنید مستندات page

.

اگر مشکلی دارید یا بازخوردی دارید، در زیر نظر دهید.

centos تامکت جاوا
برای نگارش بخشهایی از این متن ممکن است از ترجمه ماشینی یا هوش مصنوعی GPT استفاده شده باشد
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم

زمان انتشار: 1402-12-27 09:52:14

امتیاز شما به این مطلب
دیدگاه شما در خصوص مطلب چیست ؟

آدرس ایمیل شما منتشر نخواهد شد.

لطفا دیدگاه خود را با احترام به دیدگاه های دیگران و با توجه به محتوای مطلب درج کنید