Ubuntu में Apache Tomcat को कैसे स्थापित करें


यदि आप उन वेब पेजों को चलाना चाहते हैं जिनमें जावा सर्वर पेज कोडिंग या जावा सर्वलेट्स शामिल हैं, तो आप अपाचे टोमैट का उपयोग कर सकते हैं। यह एक ओपन सोर्स वेब सर्वर और सर्वलेट कंटेनर है, जो अपाचे सॉफ्टवेयर फाउंडेशन द्वारा जारी किया गया है।

टॉम्कट का उपयोग स्टैंडअलोन उत्पाद के रूप में किया जा सकता है, अपने स्वयं के वेब सर्वर के साथ या इसे अन्य वेब सर्वर जैसे अपाचे या IIS के साथ जोड़ा जा सकता है। टॉम्कट का सबसे हालिया संस्करण 9.0.14 है और यह टॉम्कट 8 और 8.5 के ऊपर बनाता है और सर्वलेट 4.0, जेएसपी 2.2 को लागू करता है।

नए संस्करण में निम्नलिखित सुधार किए गए हैं:

  • Added support for HTTP/2.
  • Added support for using OpenSSL for TLS support with the JSSE connectors.
  • Added support for TLS virtual hosts (SNI).

इस ट्यूटोरियल में हम आपको Ubuntu Tomcat 9 Ubuntu 18.10 और Ubuntu के पुराने संस्करण को स्थापित करने का तरीका दिखाने जा रहे हैं।

चरण 1: जावा को स्थापित करना

जावा वेब एप्लिकेशन चलाने के लिए, टॉमकैट को सर्वर पर जावा को इंस्टॉल करना होगा। उस आवश्यकता को पूरा करने के लिए, हम दिखाए गए अनुसार OpenJDK स्थापित करेंगे।

$ sudo apt update
$ sudo apt install default-jdk

चरण 2: एक टॉमकैट उपयोगकर्ता बनाना

सुरक्षा कारणों से, टॉमकैट को एक गैर-विशेषाधिकार प्राप्त उपयोगकर्ता यानी गैर रूट के साथ चलाया जाना चाहिए। यही कारण है कि हम उपयोगकर्ता और समूह टॉमकैट बनाएंगे जो सेवा चलाएगा। टॉमकैट समूह बनाकर शुरू करें:

$ sudo groupadd tomcat

आगे हम एक tomcat उपयोगकर्ता बनाएंगे, जो कि tomcat group का सदस्य होगा। इस उपयोगकर्ता का घर स्थान /opt/tomcat होगा क्योंकि यह वह जगह है जहाँ हम Tomatat को स्थापित करने जा रहे हैं। शेल को /bin/false पर सेट किया जाना चाहिए:

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

अब हम अगले कदम के लिए तैयार हैं और टॉमकैट डाउनलोड करें।

चरण 3: अपाचे टॉमकैट स्थापित करना

नवीनतम उपलब्ध पैकेज को डाउनलोड करने के लिए, टॉमकैट के डाउनलोड पृष्ठ पर जाएं और नवीनतम संस्करण को पकड़ें।

इस ट्यूटोरियल को लिखते समय, टॉम्कट का नवीनतम संस्करण 9.0.14 है। उस संस्करण को डाउनलोड करने के लिए, अपनी वर्तमान निर्देशिका को कुछ और में बदलें। उदाहरण के लिए आप /tmp का उपयोग कर सकते हैं:

# cd /tmp

और फिर टॉमकट संग्रह को डाउनलोड करने के लिए wget कमांड का उपयोग कर:

$ 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

हम आगे की डायरेक्टरी में टॉमकैट ग्रुप की रीड एक्सेस को अपडेट करेंगे और डायरेक्टरी के लिए एक्जीक्यूटिव परमिशन सेट करेंगे:

$ sudo chmod -R g+r conf
$ sudo chmod g+x conf

आगे हम tomcat को webapps , काम , अस्थायी और लॉग निर्देशिकाओं के उपयोगकर्ता मालिक बनाएंगे:

$ sudo chown -R tomcat webapps/ work/ temp/ logs/

अब उचित अनुमतियाँ और मालिकाना सेट कर दिए गए हैं और हम एक systemd start file बनाने के लिए तैयार हैं, जो हमें Tomcat प्रक्रिया को प्रबंधित करने में मदद करेगा।

चरण 4: टॉमकैट के लिए एक SystemD सेवा फ़ाइल बनाना

क्योंकि हम टॉमकैट को एक सेवा के रूप में चलाना चाहते हैं, हमें एक फ़ाइल की आवश्यकता होगी जो प्रक्रिया को आसानी से प्रबंधित करने में हमारी सहायता करेगी। उस उद्देश्य के लिए हम एक सिस्टमड सर्विस फाइल बनाएंगे। टॉमकैट को यह जानना होगा कि जावा आपके सिस्टम पर कहां स्थित है।

उस स्थान को खोजने के लिए निम्नलिखित कमांड का उपयोग करें:

$ sudo update-java-alternatives -l

उस कमांड का आउटपुट आपको JAVA_HOME का स्थान दिखाएगा।

अब, उस जानकारी का उपयोग करके हम अपनी टॉमकैट सेवा फ़ाइल बनाने के लिए तैयार हैं।

$ 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 सेट करना सुनिश्चित करें। जब आप तैयार हों, तो फ़ाइल को सहेजें और इसे बंद करें। अब, नीचे दिए गए कमांड का उपयोग करके, सिस्टम डेमॉन को फिर से लोड करें ताकि यह हमारी नई सेवा फ़ाइल पा सके:

$ sudo systemctl daemon-reload

फिर टॉमकैट सेवा शुरू करें:

$ sudo systemctl start tomcat

आप सेवा की स्थिति के साथ सत्यापित कर सकते हैं:

$ sudo systemctl status tomcat

अब आप अपने सिस्टम के IP पते का उपयोग करके अपने ब्राउज़र में सेवा डिफ़ॉल्ट पोर्ट 8080 का उपयोग करके अपने ब्राउज़र में Tomcat का परीक्षण कर सकते हैं।

http://ip-address:8080

परिणाम आप नीचे दी गई छवि में दिखाए गए के समान होना चाहिए:

यदि आप उपरोक्त आउटपुट नहीं देख रहे हैं, तो आपको अपने फ़ायरवॉल में पोर्ट 8080 दिखाने की अनुमति देनी पड़ सकती है।

$ sudo ufw allow 8080

यदि आप चाहते हैं कि टॉमकैट सिस्टम बूट पर शुरू हो, तो चलाएं:

$ systemctl enable tomcat

चरण 5: अपाचे टॉमकैट को कॉन्फ़िगर करना

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"/>

परिवर्तन सुनिश्चित करें:

  • Username – with the user you wish to authenticate.
  • Password – with the password you wish to use for authentication.

चूंकि डिफ़ॉल्ट रूप से होस्ट मैनेजर और प्रबंधक तक पहुंच प्रतिबंधित है, हम इन प्रतिबंधों को या तो हटाना या बदलना चाहेंगे। इस तरह के बदलाव करने के लिए आप निम्नलिखित फाइलों को लोड कर सकते हैं:

प्रबंधक एप्लिकेशन के लिए:

$ sudo vim /opt/tomcat/webapps/manager/META-INF/context.xml

होस्ट प्रबंधक ऐप के लिए:

$ sudo vim /opt/tomcat/webapps/host-manager/META-INF/context.xml

उन फ़ाइलों के अंदर आप या तो आईपी प्रतिबंध पर टिप्पणी कर सकते हैं या वहां अपने सार्वजनिक आईपी पते की अनुमति दे सकते हैं। इस ट्यूटोरियल के उद्देश्य के लिए, मैंने लाइन पर टिप्पणी की है:

हमारे बदलावों को जीवंत बनाने के लिए, टकटक सेवा को पुनः लोड करें:

$ sudo systemctl restart tomcat 

अब आप प्रबंधक एप्लिकेशन को http:/ipaddress: 8080/manager/ पर जाकर परीक्षण कर सकते हैं। उपयोगकर्ता नाम और पासवर्ड के लिए संकेत दिए जाने पर, उन लोगों का उपयोग करें जिन्हें आपने पहले कॉन्फ़िगर किया है। इसके बाद जो इंटरफ़ेस आपको देखना चाहिए वह इस प्रकार है:

होस्ट प्रबंधक तक पहुंचने के लिए, आप http:/ip-address: 8080/host-manager/ का उपयोग कर सकते हैं।

वर्चुअल होस्ट मैनेजर का उपयोग करके, आप अपने टॉमकैट एप्लिकेशन के लिए वर्चुअल होस्ट बना सकते हैं।

चरण 6: परीक्षण फ़ाइल बनाकर अपाचे टोमैट का परीक्षण

/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 सर्वर का सेटअप पूरा कर लिया है और अपना पहला Java कोड चलाया है। हमें उम्मीद है कि प्रक्रिया आपके लिए आसान और सरल थी। यदि आप किसी भी मुद्दे का सामना करते हैं, तो नीचे टिप्पणी फ़ॉर्म के माध्यम से अपनी समस्याओं को साझा करें।