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

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

سعیده مهاجری

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

نصب Java :

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

sudo apt updatesudo apt install openjdk-11-jdk

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

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)

ایجاد System User :

اجرای Tomcat زیر user اصلی یک خطر امنیتی است. یک user و سیستم جدید با دایرکتوری اصلی / opt / tomcat ایجاد کنید که این وب سرور را اجرا می کند. برای انجام این کار ، دستور زیر را اجرا کنید:

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

دانلود Tomcat :

توزیع باینری Tomcat از صفحه دانلود Tomcat در دسترس است. قبل از ادامه مرحله بعدی ، صفحه دانلود این وب سرور را بررسی کنید تا ببینید نسخه جدیدتری در دسترس است یا خیر. از wget برای دانلود فایل zip 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/

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

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

هنگام به روزرسانی این وب سرور ، نسخه جدیدتر را از package خارج کنید و symlink to point را تغییر دهید تا به آن اشاره شود. system user که قبلاً ایجاد شده است باید به دایرکتوری نصب tomcat دسترسی داشته باشد. تغییر مالکیت دایرکتوری به user و group tomcat به شکل دستور زیر است:

sudo chown -R tomcat: /opt/tomcat

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

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

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

ایجاد فایل SystemD Unit :

به جای استفاده از اسکریپت های shell برای شروع و متوقف کردن این وب سرور ، آن را به گونه تنظیم کنید تا به عنوان یک سرویس اجرا شود. ویرایشگر متن خود را باز کرده و یک فایل 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/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 متفاوت است ، متغیر JAVA_HOME را تغییر دهید. فایل را ذخیره کرده و ببندید و به systemd اطلاع دهید که یک فایل unit جدید وجود دارد:
sudo systemctl daemon-reload
وب سرور را فعال و شروع کنید:
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

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

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

sudo ufw allow 8080/tcp

به طور کلی ، هنگام اجرای Tomcat در یک محیط تولید ، باید از یک load balancer یا reverse proxy استفاده کنید. این بهترین روش برای دسترسی به پورت ۸۰۸۰ فقط از طریق شبکه داخلی است.

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

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

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>

مطمئن شوید که username و گذرواژه خود را به یک چیز امن تر تغییر داده اید. به طور پیش فرض ، interface مدیریت وب Tomcat به گونه ای کانفیگ شده است که اجازه دسترسی به برنامه های مدیر و host را فقط از طریق localhost فراهم می کند. برای دسترسی به interface وب از طریق IP از راه دور ، باید این محدودیت ها را بردارید. این ممکن است پیامدهای امنیتی مختلفی داشته باشد و برای سیستم های تولیدی توصیه نمی شود. برای فعال کردن دسترسی به interface وب از هرجای دیگر ، دو فایل زیر را باز کنید نظر دهید یا حذف کنید. برای برنامه مدیر به شکل زیر عمل کنید:

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

برای برنامه مدیر host به شکل زیر عمل کنید:

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 خاص به interface وب دسترسی پیدا کنید ، به جای اظهار نظر در مورد بلوک ها ، 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 منفرد اضافه کنید یا از عبارات regular استفاده کنید. پس از اتمام ، سرویس Tomcat را مجدداً راه اندازی کنید تا تغییرات اعمال شود:

sudo systemctl restart tomcat

نصب Tomcat را امتحان کنید :

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

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

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

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

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

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

جمع بندی :

ما به شما نحوه نصب Tomcat 9 در اوبونتو ۲۰٫۰۴ و نحوه دسترسی به interface مدیریت Tomcat را نشان دادیم.

امیدواریم مطالب مورد پسند بوده باشد.

ما را در شتابان هاست همراهی کنید.

 

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