نصب Apache Tomcat در لینوکس (اوبونتو و AlmaLinux)



آپاچی تامکت (Apache Tomcat) یکی از پراستفاده‌ترین سرورهای وب و کانتینرهای سرولت (Servlet Container) در دنیای جاوا است. این نرم‌افزار که توسط بنیاد آپاچی توسعه داده شده، بستری قدرتمند برای اجرای اپلیکیشن‌های وب نوشته شده با جاوا فراهم می‌کند و به عنوان وب‌سرور پیش‌فرض در فریم‌ورک محبوب Spring Boot نیز استفاده می‌شود.

این راهنما به شما روش صحیح و استاندارد نصب آخرین نسخه Tomcat 11 را روی سرورهای لینوکس مدرن مانند اوبونتو، دبیان، AlmaLinux و Rocky Linux آموزش می‌دهد.

پیش‌نیازها

 

  • یک سرور مجازی  با یکی از سیستم‌عامل‌های ذکر شده.
  • دسترسی به سرور با یک کاربر دارای دسترسی sudo.
  • Java Development Kit (JDK) نسخه 17 یا بالاتر (نیازمندی رسمی Tomcat 11).

 

قدم اول: نصب Java (JDK 17)

 

تامکت 11 برای اجرا شدن به نسخه 17 جاوا یا جدیدتر نیاز دارد. ابتدا باید OpenJDK 17 را روی سرور خود نصب کنید.

برای اوبونتو و دبیان:

 

sudo apt update
sudo apt install openjdk-17-jdk -y

برای AlmaLinux، Rocky Linux و CentOS Stream:

 

sudo dnf install java-17-openjdk-devel -y

پس از نصب، با دستور java -version از نصب صحیح آن اطمینان حاصل کنید.

 

قدم دوم: ایجاد کاربر اختصاصی برای Tomcat

 

برای افزایش امنیت، هرگز نباید تامکت را با کاربر root اجرا کرد. ما یک کاربر سیستمی جدید به نام tomcat ایجاد می‌کنیم که فقط برای اجرای این سرویس استفاده خواهد شد.

sudo groupadd tomcat
sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat

 

قدم سوم: دانلود و نصب Tomcat 11

 

ما آخرین نسخه Tomcat 11 را مستقیما از وب‌سایت رسمی آپاچی دانلود می‌کنیم.

  1. به صفحه دانلود رسمی Tomcat 11 مراجعه کرده و لینک فایل tar.gz را از بخش “Core” کپی کنید.
  2. با استفاده از curl یا wget آن را در دایرکتوری /tmp دانلود کنید (لینک را با جدیدترین نسخه جایگزین کنید):
    cd /tmp
    curl -O https://dlcdn.apache.org/tomcat/tomcat-11/v11.0.0-M20/bin/apache-tomcat-11.0.0-M20.tar.gz
  3. پوشه نصب را در /opt/tomcat ایجاد کرده و فایل‌ها را در آن استخراج کنید:
    sudo mkdir /opt/tomcat
    sudo tar xzvf apache-tomcat-*.tar.gz -C /opt/tomcat --strip-components=1

 

قدم چهارم: تنظیم دسترسی‌ها (Permissions)

 

کاربر tomcat که در قدم دوم ایجاد کردیم، باید مالکیت کامل پوشه نصب را در اختیار داشته باشد.

sudo chown -R tomcat:tomcat /opt/tomcat/
sudo chmod +x /opt/tomcat/bin/*.sh

 

قدم پنجم: ایجاد سرویس Systemd برای مدیریت Tomcat

 

برای اینکه بتوانیم تامکت را به عنوان یک سرویس مدیریت کنیم (start, stop, restart)، یک فایل سرویس systemd برای آن ایجاد می‌کنیم.

فایل زیر را با ویرایشگر `nano` ایجاد کنید:

sudo nano /etc/systemd/system/tomcat.service

و محتوای زیر را در آن کپی کنید. توجه: ممکن است نیاز باشد مسیر JAVA_HOME را بر اساس خروجی دستوراتی که در ادامه توضیح داده شده، ویرایش کنید.

[Unit]
Description=Apache Tomcat 11 Web Application Container
After=network.target

[Service]
Type=forking

User=tomcat
Group=tomcat

Environment="JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64"
Environment="JAVA_OPTS=-Djava.awt.headless=true"
Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid"
Environment="CATALINA_HOME=/opt/tomcat"
Environment="CATALINA_BASE=/opt/tomcat"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"

ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh

[Install]
WantedBy=multi-user.target

پیدا کردن مسیر صحیح JAVA_HOME (در صورت نیاز):

اگر مسیر JAVA_HOME در کد بالا برای سیستم شما صحیح نبود، با دستور زیر مسیر درست را پیدا کرده و در فایل سرویس جایگزین کنید:

  • در اوبونتو/دبیان: update-java-alternatives -l
  • در AlmaLinux/Rocky: ls -l /etc/alternatives/java_sdk

پس از ذخیره فایل، systemd را مجددا بارگذاری کرده و سرویس تامکت را فعال و اجرا کنید:

sudo systemctl daemon-reload
sudo systemctl start tomcat
sudo systemctl enable tomcat

با دستور sudo systemctl status tomcat می‌توانید از صحت عملکرد سرویس مطمئن شوید.

 

قدم ششم: تنظیم فایروال

 

تامکت به صورت پیش‌فرض روی پورت 8080 اجرا می‌شود. این پورت را در فایروال باز کنید.

برای اوبونتو و دبیان (با UFW):

 

sudo ufw allow 8080/tcp

برای AlmaLinux، Rocky Linux (با firewalld):

 

sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
sudo firewall-cmd --reload

 

قدم هفتم: پیکربندی دسترسی به پنل مدیریت وب

 

برای دسترسی به پنل مدیریت، باید یک کاربر ادمین تعریف کنیم. فایل tomcat-users.xml را باز کنید:

sudo nano /opt/tomcat/conf/tomcat-users.xml

و کدهای زیر را درست قبل از تگ </tomcat-users> اضافه کنید. فراموش نکنید که یک رمز عبور قوی به جای your-strong-password قرار دهید.

<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="admin" password="your-strong-password" roles="manager-gui,admin-gui"/>

سپس سرویس تامکت را ری‌استارت کنید: sudo systemctl restart tomcat

قدم هشتم: تست نهایی

 

مرورگر خود را باز کرده و به آدرس http://your-server-ip:8080 بروید. شما باید صفحه پیش‌فرض آپاچی تامکت را مشاهده کنید. با کلیک روی دکمه “Manager App” و وارد کردن نام کاربری (admin) و رمز عبوری که تنظیم کردید، می‌توانید وارد پنل مدیریت شوید.

 

اجرای اپلیکیشن‌های مدرن جاوا نیازمند سروری با منابع پایدار و عملکرد بالاست. اگر به دنبال یک بستر ایده‌آل برای پروژه‌های خود هستید، می‌توانید با خرید vps آلمان از بلوسرور، زیرساختی قدرتمند با پینگ مناسب به ایران و اروپا فراهم کنید.