إذا كنت ترغب في تشغيل صفحات الويب التي تتضمن ترميز صفحة خادم Java أو Java servlets، يمكنك استخدام Apache Tomcat. إنه خادم ويب مفتوح المصدر وحاوي servlet، تم إصداره من قبل مؤسسة Apache Software.
Tomcat يمكن استخدامه كمنتج مستقل، مع خادم الويب الخاص به أو يمكن دمجه مع خوادم ويب أخرى مثل Apache أو IIS. أحدث إصدار من Tomcat هو 9.0.14 ويعتمد على Tomcat 8 و 8.5 وينفذ Servlet 4.0، JSP 2.2.
اقرأ أيضًا: كيفية تثبيت Apache Tomcat 9 في CentOS/RHEL
تم إجراء التحسينات التالية في الإصدار الجديد:
- تمت إضافة دعم لـ HTTP/2.
- تمت إضافة دعم لاستخدام OpenSSL لدعم TLS مع موصلات JSSE.
- تمت إضافة دعم لمضيفين افتراضيين TLS (SNI).
في هذا البرنامج التعليمي سنريك كيفية تثبيت Apache Tomcat 9 في Ubuntu 18.10 والإصدارات القديمة من Ubuntu.
الخطوة 1: تثبيت Java
لتشغيل تطبيقات الويب Java، يتطلب Tomcat تثبيت Java على الخادم. لتلبية هذا المتطلب، سنقوم بتثبيت OpenJDK كما هو موضح.
$ sudo apt update $ sudo apt install default-jdk
الخطوة 2: إنشاء مستخدم Tomcat
لأسباب أمنية، يجب تشغيل Tomcat باستخدام مستخدم غير مميز، أي غير مستخدم الجذر. لهذا السبب، سنقوم بإنشاء مستخدم ومجموعة بإسم tomcat التي ستقوم بتشغيل الخدمة. نبدأ بإنشاء مجموعة tomcat:
$ sudo groupadd tomcat
ثم سنقوم بإنشاء مستخدم tomcat، الذي سيكون عضوًا في مجموعة tomcat. سيتم تعيين موقع المستخدم هذا إلى /opt/tomcat حيث سنقوم بتثبيت Tomcat. سيتم تعيين القشرة إلى /bin/false:
$ sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat
الآن نحن جاهزون للمتابعة إلى الخطوة التالية وتنزيل Tomcat.
الخطوة 3: تثبيت Apache Tomcat
لتنزيل أحدث حزمة متاحة، انتقل إلى صفحة تنزيل Tomcat واحصل على أحدث إصدار.
في وقت كتابة هذا البرنامج التعليمي، أحدث إصدار من Tomcat هو 9.0.14. لتنزيل تلك النسخة، قم بتغيير الدليل الحالي إلى دليل آخر. على سبيل المثال، يمكنك استخدام /tmp:
# cd /tmp
ثم استخدام أمر wget لتنزيل أرشيف Tomcat:
$ wget http://apache.cbox.biz/tomcat/tomcat-9/v9.0.14/bin/apache-tomcat-9.0.14.tar.gz $ wget https://www.apache.org/dist/tomcat/tomcat-9/v9.0.14/bin/apache-tomcat-9.0.14.tar.gz.sha512
إذا كنت ترغب في التحقق من مجموع التحقق sha512 للملف، يمكنك تشغيل:
$ sha512sum apache-tomcat-9.0.14.tar.gz $ cat apache-tomcat-9.0.14.tar.gz.sha512
يجب أن تكون القيمة الناتجة (التجزئة) لكلا الملفين متطابقة.
كما ذكر سابقًا، سنقوم بتثبيت Tomcat في /opt/tomcat. سنحتاج إلى إنشاء تلك الدليل:
$ sudo mkdir /opt/tomcat
والآن يمكننا استخراج الحزمة المُنزّلة في ذلك الدليل الجديد:
$ sudo tar xzvf apache-tomcat-9.0.14.tar.gz -C /opt/tomcat --strip-components=1
الآن انتقل إلى /opt/tomcat من حيث سنقوم بتحديث ملكية المجلد وأذوناته:
# cd /opt/tomcat
واجعل مالك المجموعة لـ /opt/tomcat هو tomcat:
$ sudo chgrp -R tomcat /opt/tomcat
سنقوم بمتابعة تحديث صلاحية القراءة لمجموعة tomcat على دليل conf وتعيين أذونات التنفيذ للدليل:
$ sudo chmod -R g+r conf $ sudo chmod g+x conf
ثم سنجعل مستخدم tomcat هو مالك للمجلدات webapps, work, temp و logs:
$ sudo chown -R tomcat webapps/ work/ temp/ logs/
الآن تم تعيين الأذونات والملكيات الصحيحة ونحن جاهزون لإنشاء ملف بدء systemd، الذي سيساعدنا في إدارة عملية Tomcat.
الخطوة 4: إنشاء ملف خدمة SystemD لـ Tomcat
لأننا نريد تشغيل Tomcat كخدمة، سنحتاج إلى ملف سيساعدنا في إدارة العملية بسهولة. لهذا الغرض سنقوم بإنشاء ملف خدمة systemd. يجب على Tomcat معرفة موقع Java على نظامك.
للعثور على تلك الموقع استخدم الأمر التالي:
$ sudo update-java-alternatives -l
سيظهر لك مخرجات هذا الأمر موقع JAVA_HOME.

الآن، باستخدام تلك المعلومات نحن جاهزون لإنشاء ملف خدمة Tomcat الخاص بنا.
$ sudo vim /etc/systemd/system/tomcat.service
الصق الكود التالي في الملف:
[Unit] Description=Apache Tomcat Web Application Container After=network.target [Service] Type=forking Environment=JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64 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' Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom' ExecStart=/opt/tomcat/bin/startup.sh ExecStop=/opt/tomcat/bin/shutdown.sh User=tomcat Group=tomcat UMask=0007 RestartSec=10 Restart=always [Install] WantedBy=multi-user.target
تأكد من ضبط JAVA_HOME بما يتناسب مع نظامك. عندما تكون جاهزًا، احفظ الملف وأغلقه. الآن، باستخدام الأمر أدناه، أعد تحميل ديمون systemd حتى يتمكن من العثور على ملف الخدمة الجديد:
$ sudo systemctl daemon-reload
ثم قم ببدء خدمة Tomcat:
$ sudo systemctl start tomcat
يمكنك التحقق من حالة الخدمة باستخدام:
$ sudo systemctl status tomcat

يمكنك الآن اختبار Tomcat في متصفحك عن طريق استخدام عنوان IP الخاص بنظامك تليها البورت الافتراضي للخدمة 8080.
http://ip-address:8080
النتيجة التي يجب أن تراها مشابهة لتلك الموضحة في الصورة أدناه:

في حال عدم رؤية الناتج السابق، قد تحتاج إلى السماح بفتح البورت 8080 في جدار الحماية كما هو موضح.
$ sudo ufw allow 8080
إذا كنت ترغب في بدء Tomcat عند تشغيل النظام، قم بتشغيل:
$ systemctl enable tomcat
الخطوة 5: تكوين Apache Tomcat
Tomcat يحتوي على تطبيق إدارة ويب مثبت مسبقًا. لاستخدامه، سنحتاج إلى إعداد المصادقة داخل ملف tomcat-users.xml الخاص بنا. افتح وعدل هذا الملف باستخدام محرر النص المفضل لديك:
$ sudo vim /opt/tomcat/conf/tomcat-users.xml
سنقوم بإضافة مستخدم يمكنه الوصول إلى واجهات المدير و المشرف. لتكوين هذا المستخدم، بين علامات <tomcat-users> </tomcat-users>
، أضف السطر التالي:
<user username="Username" password="Password" roles="manager-gui,admin-gui"/>
تأكد من تغيير:
- اسم المستخدم – بالمستخدم الذي ترغب في مصادقته.
- كلمة المرور – بكلمة المرور التي ترغب في استخدامها للمصادقة.

نظرًا لأن الوصول الافتراضي إلى مدير المضيف و المدير مقيد، سنرغب في إما إزالة هذه القيود أو تعديلها. لإجراء تلك التغييرات، يمكنك تحميل الملفات التالية:
لتطبيق المدير:
$ sudo vim /opt/tomcat/webapps/manager/META-INF/context.xml
لتطبيق مدير المضيف:
$ sudo vim /opt/tomcat/webapps/host-manager/META-INF/context.xml
داخل تلك الملفات يمكنك إما تعليق قيد العنوان أو السماح بعنوان IP العام الخاص بك هناك. لأغراض هذا البرنامج التعليمي، لقد قمت بتعليق السطر:

لجعل التغييرات الخاصة بنا مباشرة، أعد تحميل خدمة تومكات باستخدام:
$ sudo systemctl restart tomcat
يمكنك الآن اختبار تطبيق المدير عن طريق الوصول إلى http://ipaddress:8080/manager/. عندما يُطلب منك اسم المستخدم وكلمة المرور، استخدم تلك التي قمت بتكوينها سابقًا. الواجهة التي يجب أن تراها بعد ذلك تبدو مثل هذا:

للوصول إلى مدير المضيف، يمكنك استخدام http://ip-address:8080/host-manager/.

باستخدام مدير المضيف الافتراضي، يمكنك إنشاء مضيفين افتراضيين لتطبيقات Tomcat الخاصة بك.
الخطوة 6: اختبار Apache Tomcat عن طريق إنشاء ملف اختباري
يمكنك التحقق مما إذا كان كل شيء يعمل بسلاسة، عن طريق إنشاء ملف اختباري داخل /opt/tomcat/webapps/ROOT/ الدليل.
لنقم بإنشاء مثل هذا الملف:
$ sudo vim /opt/tomcat/webapps/ROOT/tecmint.jsp
داخل ذلك الملف، الصق الكود التالي:
<html> <head> <title>Tecmint post:TomcatServer</title> </head> <body> <START OF JAVA CODES> <% out.println("Hello World! I am running my first JSP Application"); out.println("<BR>Tecmint is an Awesome online Linux Resource."); %> <END OF JAVA CODES> </body> </html>
احفظ الملف وقم بتعيين الملكية كما هو موضح.
$ sudo chown tomcat: /opt/tomcat/apache-tomcat-8.5.14/webapps/ROOT/tecmint.jsp
الآن قم بتحميل ذلك الملف في متصفحك باستخدام http://ip-address:8080/tecmint.jsp.

هذا كل شيء! لقد أكملت إعداد خادم Apache Tomcat الخاص بك وقمت بتشغيل أول كود جافا لديك. نأمل أن يكون العملية سهلة ومباشرة بالنسبة لك. إذا واجهت أي مشاكل، فلا تتردد في مشاركة مشاكلك من خلال نموذج التعليق أدناه.
Source:
https://www.tecmint.com/install-apache-tomcat-in-ubuntu/