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

سرور مجازی NVMe

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

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



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

این آموزش مراحل مورد نیاز برای نصب Tomcat 9.0 در CentOS 7 را پوشش می دهد.

پیش نیازها

کاربری که وارد آن می شوید باید از امتیازات sudo برخوردار باشد تا بتواند بسته ها را نصب کند.

OpenJDK را نصب کنید

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

جاوا را با تایپ دستور زیر نصب کنید:

sudo yum install java-1.8.0-openjdk-devel

کاربر سیستم Tomcat را ایجاد کنید

اجرای Tomcat به عنوان کاربر اصلی یک خطر امنیتی است و بهترین روش در نظر گرفته نمی شود.

ما یک کاربر و گروه سیستم جدید با فهرست اصلی ایجاد خواهیم کرد /opt/tomcat که سرویس Tomcat را اجرا می کند:

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

Tomcat را دانلود کنید

ما آخرین نسخه Tomcat 9.0.x را از سایت دانلود خواهیم کرد دانلودهای Tomcat page

.

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

حرکت به /tmp دایرکتوری و فایل فشرده Tomcat را با استفاده از دستور wget زیر دانلود کنید:

cd /tmpwget https://www-eu.apache.org/dist/tomcat/tomcat-9/v9.0.27/bin/apache-tomcat-9.0.27.tar.gz

پس از دانلود کامل، فایل tar را استخراج کنید:

tar -xf apache-tomcat-9.0.27.tar.gz

فایل های منبع Tomcat را به آن منتقل کنید /opt/tomcat فهرست راهنما:

sudo mv apache-tomcat-9.0.27 /opt/tomcat/

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

sudo ln -s /opt/tomcat/apache-tomcat-9.0.27 /opt/tomcat/latest

کاربر تامکتی که قبلاً تنظیم کرده بودیم باید به فهرست راهنمای نصب تامکت دسترسی داشته باشد.

دستور زیر را برای تغییر مالکیت دایرکتوری به user و group tomcat اجرا کنید:

sudo chown -R tomcat: /opt/tomcat

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

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

یک فایل 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

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

پیشنهاد می‌کنیم بخوانید:  روش تقسیم رشته در جاوا اسکریپت جاوا اسکریپت متدهای داخلی بسیار مفیدی برای دستکاری رشته ها دارد، یکی از این روش ها متد split() است. در این مقاله نگاهی دقیق‌تر به متد split() خواهیم داشت و اینکه چگونه می‌توانیم از آن در ارتباط با عبارات منظم برای تقسیم یک رشته طولانی فقط ...

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

sudo systemctl daemon-reload

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

sudo systemctl enable tomcatsudo systemctl start tomcat

با دستور زیر وضعیت سرویس را بررسی کنید:

sudo systemctl status tomcat
● tomcat.service - Tomcat 9 servlet container
   Loaded: loaded (/etc/systemd/system/tomcat.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2018-11-15 20:47:50 UTC; 4s ago
  Process: 1759 ExecStart=/opt/tomcat/latest/bin/startup.sh (code=exited, status=0/SUCCESS)
 Main PID: 1767 (java)
   CGroup: /system.slice/tomcat.service

فایروال را تنظیم کنید

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

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

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

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

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

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

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

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

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

/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. اگر می خواهید بتوانید از یک IP راه دور یا از هر جایی که توصیه نمی شود به دلیل خطر امنیتی به رابط وب دسترسی پیدا کنید، می توانید فایل های زیر را باز کرده و تغییرات زیر را انجام دهید.

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

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

نتیجه

شما با موفقیت Tomcat 9.0 را روی سیستم CentOS 7 خود نصب کردید و روش دسترسی به رابط مدیریت Tomcat را یاد گرفتید. اکنون می توانید به رسمی مراجعه کنید آپاچی تامکت 9.0 Documentation

و در مورد ویژگی های آپاچی تامکت بیشتر بدانید.

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

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

زمان انتشار: 1402-12-27 12:49:02

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

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

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