Apache Tomcat یک وب سرور اوپن سورس است. این وب سرور یکی از محبوب ترین گزینه ها برای ساختن وب سایت ها و برنامه های مبتنی بر جاوا است. Tomcat بسیار سبک، قابل استفاده و دارای افزودنی های زیادی است. در این آموزش با ما همراه باشید تا به شما عزیزان نحوه نصب Tomcat 9 در اوبونتو ۲۰٫۰۴ را توضیح دهیم.
Tomcat 9 برای نصب بر روی سیستم نیاز به Java SE 8 یا بالاتر دارد. ما OpenJDK 11، اجرای اپن سورس Platforma Java را نصب خواهیم کرد. دستورالعمل های زیر را به عنوان root یا کاربر با امتیازات sudo اجرا کنید تا دایرکتوری بسته ها را به روز کنید و بسته OpenJDK 11 JDK را نصب کنید:
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 را بررسی کنید تا اگر ورژن جدیدتری در دسترس باشد آن را دانلود کنید. از wget برای دانلود فایل فشرده 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 به طور مرتب با پچ های امنیتی و ویژگی های جدید به روز می شود. برای کنترل بیشتر ورژن ها و به روزرسانی ها ، ما لینک سمبولیکی به نام 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 استفاده می شوند.
بهجای استفاده از اسکریپتهای 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
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 tomcat
sudo systemctl stop tomcat
sudo systemctl restart tomcat
sudo ufw allow 8080/tcp
در این مرحله باید با یک مرورگر وب در پورت ۸۰۸۰ به 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
مرورگر خود را باز کنید و عبارت 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 دسترسی پیدا کنید.
امیدواریم مطالب مورد پسند بوده و از آن بهره لازم را برده باشید. خوشحال میشویم نظرات و سوالات خود را در قسمت دیدگاه به اشتراک بگذارید و ما را در شتابان هاست همراهی کنید.😊