نماد سایت وبلاگ شتابان هاست

نحوه نصب Tomcat 9 در اوبونتو ۲۰٫۰۴

نحوه نصب Tomcat 9 در اوبونتو 20.04

Apache Tomcat یک وب سرور اوپن سورس است. این وب سرور یکی از محبوب ترین گزینه ها برای ساختن وب سایت ها و برنامه های مبتنی بر جاوا است. Tomcat بسیار سبک، قابل استفاده و دارای افزودنی های زیادی است. در این آموزش با ما همراه باشید تا به شما عزیزان نحوه نصب Tomcat 9 در اوبونتو ۲۰٫۰۴ را توضیح دهیم.

نصب جاوا :

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

sudo apt updatesudo apt install openjdk-11-jdk

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

java -version

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

openjdk version "11.0.7" 2020-04-14
OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1)
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-3ubuntu1, mixed mode, sharing)

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

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

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

دانلود Tomcat :

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

VERSION=9.0.35wget 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 دسترسی داشته باشد. مالکیت دایرکتوری را به کاربر و گروه tomcat تغییر دهید:

sudo chown -R tomcat: /opt/tomcat

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

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

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

ایجاد فایل واحد SystemD :

به‌جای استفاده از اسکریپت‌های shell برای راه‌اندازی و توقف سرور Tomcat، آن را به‌عنوان یک سرویس اجرا کنید. ویرایشگر متن خود را باز کنید و یک فایل واحد tomcat.service در دایرکتوری /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/java-11-openjdk-amd64"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom -Djava.awt.headless=true"

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
اگر مسیر نصب جاوا شما متفاوت است، متغیر JAVA_HOME را تغییر دهید. فایل را ذخیره کرده و ببندید و به 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: enabled)
     Active: active (running) since Mon 2020-05-25 17:58:37 UTC; 4s ago
    Process: 5342 ExecStart=/opt/tomcat/latest/bin/startup.sh (code=exited, status=0/SUCCESS)
   Main PID: 5362 (java)
...

می توانید Tomcat را مانند سایر سرویس های سیستم شده دیگر شروع ، متوقف کرده و مجدداً راه اندازی کنید:

sudo systemctl start tomcatsudo systemctl stop tomcatsudo systemctl restart tomcat

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

اگر سرور شما توسط فایروال محافظت می شود و می خواهید از خارج از شبکه Tomcat خود به Tomcat دسترسی داشته باشید، باید پورت ۸۰۸۰ را باز کنید. برای باز کردن پورت لازم از دستور زیر استفاده کنید:
sudo ufw allow 8080/tcp

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

در این مرحله باید با یک مرورگر وب در پورت ۸۰۸۰ به Tomcat دسترسی پیدا کنید. رابط مدیریت وب در دسترس نیست زیرا ما هنوز کاربر را ایجاد نکرده ایم. کاربران و نقش های Tomcat در فایل tomcat-users.xml تعریف شده اند. این فایل الگویی است با نظرات و مثال هایی که نحوه ایجاد کاربر یا نقش را نشان می دهد. در این مثال، کاربرانی با نقش های “admin-gui” و “manager-gui” ایجاد خواهیم کرد. نقش “admin-gui” به کاربر اجازه می دهد تا به URL /host-manager/html دسترسی پیدا کند و هاست های مجازی را ایجاد، حذف و در غیر این صورت مدیریت کند. نقش “manager-gui” به کاربر اجازه می دهد تا بدون نیاز به راه اندازی مجدد کل کانتینر از طریق رابط /host-manager/html، برنامه وب را اجرا و توسعه دهد. فایل tomcat-users.xml را باز کنید و یک کاربر جدید ایجاد کنید:

sudo nano /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>

نام کاربری و رمز عبور را به چیزی امن تر تغییر دهید. به طور پیش فرض، رابط مدیریت وب Tomcat کانفیگ شده است که اجازه دسترسی به برنامه های Manager و Host Manager را فقط از طریق localhost دهد. برای دسترسی به رابط وب از یک IP ریموت، باید این محدودیت ها را حذف کنید. این ممکن است پیامدهای امنیتی مختلفی داشته باشد و برای سیستم های تولید توصیه نمی شود. برای فعال کردن دسترسی به رابط وب، از هر مکان، دو فایل زیر را باز کرده و خطوط هایلایت را حذف کنید.

برای برنامه Manager:

sudo nano /opt/tomcat/latest/webapps/manager/META-INF/context.xml

برای برنامه Host Manager:

sudo nano /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 شما ۴۱٫۴۱٫۴۱٫۴۱ است و می‌خواهید فقط از آن 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>

لیست آدرس‌های IP مجاز، لیستی است که با نوار عمودی | جدا شده است. می‌توانید آدرس‌های IP منفرد را اضافه کنید یا از عبارات منظم استفاده کنید. پس از اتمام، سرویس Tomcat را مجدداً ری استارت کنید تا تغییرات اعمال شوند:

sudo systemctl restart tomcat

نصب Tomcat :

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

مدیر برنامه وب Tomcat در آدرس http://<your_domain_or_IP_address>:8080/manager/html موجود است:

مدیر میزبان مجازی Tomcat در آدرس http://<your_domain_or_IP_address>:8080/host-manager/html موجود است:

جمع بندی :

ما به شما نشان دادیم که چگونه Tomcat 9.0 را در اوبونتو ۲۰٫۰۴ نصب کنید و چگونه به رابط مدیریت Tomcat دسترسی پیدا کنید.

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

خروج از نسخه موبایل