آموزش نصب Tomcat 9 در CentOS 8
Apache Tomcat یک اجراکننده منبع باز از فن آوری های Java Servlet ، JavaServer Pages ، Java Expression Language و Java WebSocket است. این یکی از متداول ترین برنامه ها و وب سرورهای امروزه در جهان است. Tomcat بسیار ساده است و دارای اکوسیستم قوی از افزودنی ها است. در این آموزش نحوه نصب Tomcat 9.0 در CentOS 8 توضیح داده شده است.
نصب جاوا
Tomcat 9 به Java SE 8 یا بالاتر نیاز دارد. ما OpenJDK 11 نصب خواهیم کرد.
برای نصب جاوا دستور زیر را به عنوان root یا کاربر با امتیازات 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.0.30
. قبل از ادامه مرحله بعدی ، صفحه بارگیری 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
استخراج/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
اسکریپت های پوسته را در داخل پوشه bin
قابل اجرا کنید :
sudo sh -c 'chmod +x /opt/tomcat/latest/bin/*.sh'
از این اسکریپت ها برای شروع و متوقف کردن Tomcat استفاده می شود.
یک راز بزرگ درمورد 90 % هاستینگ های ایرانی، اورسل کردن بیش از حد است که باعث افت کیفیت سرورها میشود.
وان سرور با ارائه دسترسی های مختلف این امکان را به شما خواهد داد که تمامی منابع سرورتان را مدیریت و بررسی کنید و همچنین با ارائه گارانتی 100% برگشت وجه ریسک خرید شما را به %0 کاهش میدهد.
ایجاد یک فایل واحد 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/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)
...
پیکربندی فایروال
اگر سرور شما توسط یک فایروال محافظت شده است و می خواهید از خارج از شبکه محلی به رابط tomcat دسترسی پیدا کنید ، باید پورت 8080
باز کنید.
برای باز کردن پورت لازم از دستورات زیر استفاده کنید:
sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp sudo firewall-cmd --reload
پیکربندی رابط مدیریت وب Tomcat
در این مرحله باید با یک مرورگر وب در پورت8080
به Tomcat دسترسی پیدا کنید. رابط مدیریت وب قابل دسترسی نیست زیرا ما هنوز کاربر را ایجاد نکرده ایم.
کاربران و نقش های Tomcat در پرونده tomcat-users.xml
تعریف شده اند.
اگر پرونده را باز کنید ، متوجه خواهید شد که پر از نظرات و مثالهایی است که نحوه پیکربندی پرونده را توصیف می کند.
sudo nano /opt/tomcat/latest/conf/tomcat-users.xml
کاربران Tomcat کاربر را در پرونده tomcat-users.xml
تعریف می کنند. برای ایجاد یک کاربر جدید که بتواند به رابط وب Tomcat (مدیر-gui و مدیر-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>
به طور پیش فرض رابط مدیریت وب Tomcat پیکربندی شده است که اجازه دسترسی فقط از طریق محلی را می دهد.
اگر نیاز دارید از هرجایی به رابط وب دسترسی پیدا کنید ، پرونده های زیر را باز کنید و خطوط برجسته به رنگ زرد را تغییر دهید یا حذف کنید:
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>
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 عمومی شما 41.41.41.41
و می خواهید فقط از آن IP دسترسی داشته باشید:
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|41.41.41.41" />
</Context>
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|41.41.41.41" />
</Context>
لیست آدرس های IP مجاز لیستی است که با نوار عمودی جدا شده است |
. شما می توانید تنها یک آدرس IP اضافه کنید یا از عبارات معمولی استفاده کنید.
پس از اتمام ، سرویس Tomcat را مجدداً ری استارت دهید تا تغییرات اعمال شود:
sudo systemctl restart tomcat
تست نصب Tomcat 9
مرورگر خود را باز کنید و تایپ کنید:
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 را به شما نشان داده ایم.
برای کسب اطلاعات بیشتر در مورد Apache Tomcat ، به صفحه رسمی اسناد مراجعه کنید .
اولین نفر باشید که نظر ارسال میکنید