Apache Tomcat یک اجرا کننده اپن سورس از فناوری های Java Servlet ،JavaServer Pages ،Java Expression Language و Java WebSocket است. Tomcat یکی از پر کاربردترین برنامه ها و وب سرورهای امروزه در جهان است. استفاده از Tomcat ساده است و دارای اکوسیستم قوی از افزودنی ها است. در این آموزش با ما همراه باشید تا به شما عزیزان نحوه نصب Tomcat 9.0 در CentOS 8 را توضیح دهیم.
این وب سرور برای نصب بر روی سیستم نیاز به Java SE 8 یا بالاتر دارد. ما OpenJDK 11 را نصب خواهیم کرد. برای نصب جاوا دستور زیر را به عنوان root یا user با امتیاز sudo اجرا کنید:
sudo dnf install java-11-openjdk-devel
پس از اتمام نصب، با بررسی ورژن جاوا، آن را تأیید کنید:
java -version
خروجی باید چیزی شبیه به دستور زیر باشد:
openjdk version "11.0.5" 2019-10-15 LTS OpenJDK Runtime Environment 18.9 (build 11.0.5+10-LTS) OpenJDK 64-Bit Server VM 18.9 (build 11.0.5+10-LTS, mixed mode, sharing)
اجرای Tomcat در زیر کاربر root یک خطر امنیتی است. ما یک کاربر و گروه سیستم جدید با دایرکتوری home / opt / tomcat ایجاد خواهیم کرد که سرویس Tomcat را اجرا کند. برای انجام این کار، دستور زیر را وارد کنید:
sudo useradd -m -U -d /opt/tomcat -s /bin/false tomcat
توزیع باینری Tomcat از صفحه دانلود Tomcat، برای دانلود در دسترس است. در زمان نوشتن، آخرین ورژن Tomcat، ورژن ۹٫۰٫۳۰ است. قبل از ادامه مرحله بعدی، صفحه دانلود Tomcat 9 را بررسی کنید، ممکن است ورژن جدیدتری در دسترس باشد. فایل زیپ Tomcat را با wget در دایرکتوری / tmp دانلود کنید:
VERSION=9.0.30
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 کاربر و گروه تغییر دهید:
sudo chown -R tomcat: /opt/tomcat
اسکریپت های shell داخل دایرکتوری bin را قابل اجرا کنید:
sudo sh -c 'chmod +x /opt/tomcat/latest/bin/*.sh'
از این اسکریپت ها برای شروع و توقف Tomcat استفاده می شود.
به جای شروع دستی و متوقف کردن سرور Tomcat، ما آن را تنظیم می کنیم تا به عنوان یک سرویس اجرا شود. ویرایشگر متن خود را باز کنید و یک فایل 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/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
ذخیره کنید و فایل را ببندید. با تایپ کردن دستور زیر، به سیستم اطلاع دهید که یک سرویس جدید وجود دارد:
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: disabled) Active: active (running) since Wed 2020-01-15 20:38:07 UTC; 30s ago Process: 3957 ExecStart=/opt/tomcat/latest/bin/startup.sh (code=exited, status=0/SUCCESS)
sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp
sudo firewall-cmd --reload
در این مرحله، باید بتوانید با یک مرورگر وب در پورت ۸۰۸۰، به Tomcat دسترسی پیدا کنید. شبکه مدیریت وب قابل دسترسی نیست زیرا ما هنوز کاربری ایجاد نکرده ایم. کاربران و نقش های Tomcat در فایل tomcat-users.xml تعریف شده اند. اگر فایل را باز کنید، متوجه خواهید شد که پر از نظرات و مثال هایی است که نحوه کانفیگ فایل را توصیف می کند:
sudo nano /opt/tomcat/latest/conf/tomcat-users.xml
برای ایجاد یک کاربر جدید که بتواند به شبکه وب Tomcat (manager-gui and admin-gui) دسترسی پیدا کند، فایل را مطابق دستور زیر ویرایش کنید. اطمینان حاصل کنید که نام کاربری و گذرواژه را به چیزی امن تر تغییر دهید:
<tomcat-users> <!-- Comments --> <role rolename="admin-gui"/><role rolename="manager-gui"/><user username="admin" password="admin_password" roles="admin-gui,manager-gui"/></tomcat-users>
<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>
<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>
<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>
<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>
sudo systemctl restart tomcat
مرورگر خود را باز کنید و http: // <your_domain_or_IP_address>: 8080 را تایپ کنید. پس از نصب موفقیت آمیز، صفحه ای مشابه تصویر زیر ظاهر می شود:
داشبورد مدیر برنامه های وب Tomcat، به شما امکان می دهد برنامه های خود را مستقر، لغو استقرار، شروع، متوقف کردن و دانلود مجدد کنید. مرورگر خود را باز کنید و http: // <your_domain_or_IP_address>: 8080 / manager / html را تایپ کنید تا بتوانید اینکار را انجام دهید:
داشبورد مدیر هاست مجازی Tomcat، به شما امکان می دهد هاست های مجازی Tomcat را ایجاد، حذف و مدیریت کنید. مرورگر خود را باز کنید و http: // <your_domain_or_IP_address>: 8080 / host-manager / html را تایپ کنید تا بتوانید اینکار انجام دهید:
ما به شما نحوه نصب Tomcat 9.0 در CentOS 8 و نحوه دسترسی به شبکه مدیریت Tomcat را نشان داده ایم.
امیدواریم مطالب مورد پسند بوده و از آن بهره لازم را برده باشید. خوشحال میشویم نظرات و سوالات خود را در قسمت دیدگاه به اشتراک بگذارید و ما را در شتابان هاست همراهی کنید.😊