نحوه نصب tomcat در اوبونتو

آموزش نصب Tomcat در Ubuntu

Apache Tomcat یک سرور وب منبع باز و ظرف سرویس Java است. این یکی از محبوب ترین گزینه ها برای ساختن وب سایت ها و برنامه های مبتنی بر جاوا است. Tomcat بسیار سبک ، قابل استفاده و دارای اکوسیستم قوی از add-ons است.

در این آموزش نحوه نصب و پیکربندی Tomcat 9 در اوبونتو 20.04 توضیح داده شده است.

نصب جاوا

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

sudo apt update
sudo 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 9.0.35 است. قبل از ادامه مرحله بعدی ، صفحه بارگیری Tomcat 9 را بررسی کنید تا نسخه جدیدتری در دسترس باشد.

با استفاده از Wget نسخه zip فایل tomcat را در دایرکتوری tmp/ (در خط اخر محل را عوض کنید) دانلود و ذخیره میکنیم:

VERSION=9.0.35
wget 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 به طور مرتب با تکه های امنیتی و ویژگی های جدید به روز می شود. برای کنترل بیشتر نسخه ها و به روزرسانی ها ، ما یک پیوند نمادین به نام آخرین ایجاد خواهیم کرد ، که به فهرست نصب Tomcat اشاره دارد:

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

بعداً ، هنگام به روزرسانی Tomcat ، نسخه جدیدتر را آنپک کنید و symlink را تغییر دهید تا به آن اشاره کنید.

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

sudo chown -R tomcat: /opt/tomcat

shell script موجود در دایرکتوری bin باید قابل اجرا باشند:

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

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

ساخت systemd

به جای استفاده از شل اسکریپت برای شروع و متوقف کردن سرور 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 را اصلاح کنید.

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

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 را مانند سایر سرویس های systemd شروع ، متوقف کرده و مجدداً راه اندازی کنید:

sudo systemctl start tomcat
sudo systemctl stop tomcat
sudo systemctl restart tomcat

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

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

sudo ufw allow 8080/tcp

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

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

کاربران Tomcat و role در پرونده tomcat-users.xml تعریف شده اند. این پرونده الگویی است با کامنت و مثالهایی که نحوه ایجاد کاربر یا رول را نشان می دهد.

در این مثال ، ما کاربرانی با نقشهای “admin-gui” و “manager-gui” ایجاد خواهیم کرد. نقش “admin-gui” به کاربر اجازه می دهد تا به URL/host-manager/html URL دسترسی پیدا کرده و میزبان های مجازی را ایجاد ، حذف و در غیر این صورت مدیریت کند. نقش “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 را فقط از طریق محلی می دهد. برای دسترسی به رابط وب از IP از راه دور ، باید این محدودیت ها را حذف کنید. این ممکن است پیامدهای امنیتی مختلفی داشته باشد و برای سیستم های تولید توصیه نمی شود.

برای فعال کردن دسترسی به رابط وب ، از هر نقطه ، دو پرونده زیر را باز کرده و خطوط برجسته به رنگ سبز را هایلایت یا حذف کنید.

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

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

اگر می خواهید فقط از یک 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 در لینوکس

: Tomcat web application manager
 http://<your_domain_or_IP_address>:8080/manager/html

tomcat web application manager , اموزش نصب جاوا در لینوکس

Tomcat virtual host manager
http://<your_domain_or_IP_address>:8080/host-manager/html

install tomcat in linux

نتیجه:

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

درباره نویسنده: AfshinBalakar

افشین بالاکار دانشجوی مهندسی تکنولوژی نرم افزار، مدت 5 سال است با لینوکس رابطه افلاطونی دارم.

مطالب زیر را حتما بخوانید

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *