1. إدارة نظام التكوين (تطبيق ويب المسؤول)
توفر معظم خوادم J2EE التجارية واجهة إدارة قوية، ويستخدم معظمها واجهات تطبيقات ويب سهلة الفهم. بطريقتها الخاصة، توفر Tomcat أيضًا أداة إدارة ناضجة لا تقل عن منافسيها التجاريين. ظهر تطبيق الويب الخاص بـ Tomcat لأول مرة في الإصدار 4.1، وتضمنت وظائفه في ذلك الوقت إدارة السياق ومصدر البيانات والمستخدم والمجموعة وما إلى ذلك. بالطبع، يمكنك أيضًا إدارة إدارة قواعد البيانات المختلفة مثل معلمات التهيئة، والمستخدم، والمجموعة، والدور، وما إلى ذلك. في الإصدارات اللاحقة، سيتم توسيع هذه الوظائف بشكل كبير، ولكن الوظائف الحالية مفيدة جدًا بالفعل. يتم تعريف تطبيق ويب المسؤول في ملف النشر التلقائي: CATALINA_BASE/webapps/admin.xml. (ملاحظة المترجم: CATALINA_BASE هو دليل الخادم ضمن دليل تثبيت Tomcat)
يجب عليك تحرير هذا الملف للتأكد من أن معلمة docBase في السياق هي مسار مطلق. بمعنى آخر، مسار CATALINA
_BASE/webapps/admin.xml هو مسار مطلق. كخيار آخر، يمكنك أيضًا حذف ملف النشر التلقائي هذا وإنشاء سياق تطبيق ويب المسؤول في ملف server.xml، ويكون التأثير هو نفسه. لا يمكنك إدارة تطبيق ويب المسؤول، بمعنى آخر، قد لا تتمكن من فعل أي شيء باستثناء حذف CATALINA_BASE/webapps/admin.xml.
إذا كنت تستخدم UserDatabaseRealm (افتراضي)، فستحتاج إلى إضافة مستخدم ودور إلى ملف CATALINA_BASE/conf/tomcat-users.xml. يمكنك تحرير هذا الملف وإضافة دور يسمى "admin" إلى الملف، كما يلي:
<role name="admin"/>
يجب أيضًا أن يكون هناك مستخدم، ودور هذا المستخدم هو "admin". أضف مستخدمًا مثل مستخدم موجود (قم بتغيير كلمة المرور لجعلها أكثر أمانًا):
<ser name="admin"
كلمة المرور = "deep_dark_secret"
الأدوار = "المشرف"/>
بعد إكمال هذه الخطوات، يرجى إعادة تشغيل Tomcat وزيارة http://localhost:8080/admin وسترى واجهة تسجيل الدخول. يعتمد تطبيق الويب الخاص بالمسؤول آلية أمنية تعتمد على إدارة الحاويات ويعتمد إطار عمل Jakarta Struts. بمجرد تسجيل الدخول إلى واجهة الإدارة كمستخدم يتمتع بدور "المسؤول"، ستتمكن من تكوين Tomcat باستخدام واجهة الإدارة هذه.
2. تكوين إدارة التطبيقات (تطبيق ويب المدير)
يتيح لك تطبيق ويب المدير تنفيذ بعض مهام تطبيق الويب البسيطة من خلال واجهة مستخدم أبسط من تطبيق ويب المسؤول. يتم تعريف تطبيق الويب Manager في ملف نشر تلقائي:
CATALINA_BASE/webapps/manager.xml
يجب عليك تحرير هذا الملف للتأكد من أن معلمة docBase للسياق هي مسار مطلق، أي المسار المطلق لـ CATALINA_HOME/server/ تطبيقات الويب / مدير . (ملاحظة المترجم: CATALINA_HOME هو دليل تثبيت Tomcat)
إذا كنت تستخدم UserDatabaseRealm، فأنت بحاجة إلى إضافة دور ومستخدم إلى ملف CATALINA_BASE/conf/tomcat-users.xml. بعد ذلك، قم بتحرير الملف وإضافة دور يسمى "المدير" إلى الملف:
<role name="manager">
يتطلب أيضًا مستخدمًا لديه الدور "المدير". أضف مستخدمًا جديدًا مثل مستخدم موجود (قم بتغيير كلمة المرور لجعلها أكثر أمانًا):
<user name="manager"
كلمة المرور = "deep_dark_secret"
الأدوار = "manager"/>
ثم أعد تشغيل Tomcat، وقم بزيارة http://localhost/manager/list ، وسترى واجهة بسيطة جدًا لإدارة النص، أو قم بزيارة http://localhost/manager/html/list، وسترى واجهة إدارة HMTL. وفي كلتا الحالتين، فهذا يعني أن تطبيق الويب Manager الخاص بك قد بدأ الآن.
يتيح لك تطبيق المدير تثبيت تطبيقات ويب جديدة للاختبار دون امتيازات إدارة النظام. إذا كان لدينا تطبيق ويب جديد موجود ضمن /home/user/hello ونريد تثبيته ضمن /hello، لاختبار التطبيق، يمكننا القيام بذلك وإدخال "/hello" في مربع الملف الأول (كمسار عند الوصول)، أدخل "file:/home/user/hello" (مثل عنوان URL للتكوين) في مربع النص الثاني.
يتيح لك تطبيق المدير أيضًا إيقاف تطبيق الويب وإعادة تشغيله وإزالته وإعادة نشره. قم بإيقاف تطبيق بحيث لا يمكن الوصول إليه عندما يحاول المستخدم الوصول إلى التطبيق المتوقف، سيظهر له الخطأ 503 - "503 - هذا التطبيق غير متوفر حاليًا".
تعني إزالة تطبيق الويب ببساطة حذف التطبيق من النسخة قيد التشغيل من Tomcat. إذا قمت بإعادة تشغيل Tomcat، فسيظهر التطبيق المحذوف مرة أخرى (أي أن الإزالة لا تعني حذفه من القرص الصلب). 3.
نشر تطبيق ويب
هناك طريقتان لنشر خدمات الويب في النظام.
1. انسخ ملف WAR أو مجلد تطبيق الويب الخاص بك (بما في ذلك جميع محتويات الويب) إلى دليل $CATALINA_BASE/webapps.
2. قم بإنشاء ملف جزء XML لخدمة الويب الخاص بك والذي يتضمن محتوى السياق فقط، ثم ضع الملف في دليل $CATALINA_BASE/webapps. يمكن تخزين تطبيق الويب نفسه في أي مكان على محرك الأقراص الثابتة لديك.
إذا كان لديك ملف WAR وتريد نشره، فما عليك سوى نسخ الملف إلى دليل CATALINA_BASE/webapps، ويجب أن يحتوي الملف على ".war" كامتداد. بمجرد أن يستمع Tomcat لهذا الملف، فإنه (افتراضيًا) سيقوم بفك ضغط الملف كدليل فرعي ويسمي الدليل الفرعي باسم ملف WAR.
بعد ذلك، سيقوم Tomcat بإنشاء سياق في الذاكرة، تمامًا كما قمت بإنشائه في ملف server.xml. بالطبع، سيتم الحصول على المحتوى المطلوب الآخر من DefaultContext في server.xml.
هناك طريقة أخرى لنشر تطبيق ويب وهي كتابة ملف مقتطف سياق XML ثم نسخ الملف إلى دليل CATALINA_BASE/webapps. جزء السياق ليس ملف XML كاملاً، ولكنه مجرد عنصر سياق ووصف مطابق للتطبيق.
هذا النوع من الملفات المجزأة يشبه عنصر السياق المقطوع من server.xml، لذلك يُسمى هذا النوع من الأجزاء "جزء السياق".
على سبيل المثال، إذا أردنا نشر تطبيق يسمى MyWebApp.war يستخدم المجال كطريقة للتحكم في الوصول، فيمكننا استخدام الجزء التالي:
<!--
جزء السياق لنشر MyWebApp.war
-->
<مسار السياق = "/ العرض التوضيحي"
docBase="webapps/MyWebApp.war"
تصحيح = "0" امتياز = "صحيح">
<اسم فئة المجال=
"org.apache.catalina.realm.UserDatabaseRealm"
اسم المورد = "قاعدة بيانات المستخدم"/>
</Context>
قم بتسمية الجزء "MyWebApp.xml" وانسخه إلى دليل CATALINA_BASE/webapps.
يوفر جزء السياق هذا طريقة ملائمة لنشر تطبيقات الويب، ولا تحتاج إلى تحرير server.xml إلا إذا كنت ترغب في تغيير خصائص النشر الافتراضية، فلا داعي لإعادة تشغيل Tomcat عند تثبيت تطبيق ويب جديد.
4. تكوين المضيفين الظاهريين (المضيفون الظاهريون)
فيما يتعلق بعنصر "المضيف" في server.xml، فإنك تحتاج فقط إلى تعديله عند إعداد مضيف ظاهري. الاستضافة الافتراضية هي آلية لخدمة أسماء نطاقات متعددة على خادم ويب، ويبدو أن المضيف بأكمله حصري لكل اسم نطاق. في الواقع، يتم تنفيذ معظم مواقع الويب الخاصة بالشركات الصغيرة باستخدام مضيفين افتراضيين، ويرجع ذلك أساسًا إلى أن المضيف الافتراضي يمكنه الاتصال بالإنترنت مباشرة وتوفير النطاق الترددي المقابل لضمان سرعة استجابة وصول معقولة الملكية الفكرية.
يمكن إنشاء مضيف افتراضي قائم على الاسم على أي خادم ويب عن طريق إنشاء اسم مستعار لعنوان IP على خادم اسم المجال (DNS) وإخبار خادم الويب بتوزيع طلبات أسماء النطاقات المختلفة على دليل الويب المقابل. نظرًا لأن هذه المقالة تدور بشكل أساسي حول Tomcat، فلن نقدم طريقة إعداد DNS على أنظمة التشغيل المختلفة، وإذا كنت بحاجة إلى مساعدة في هذا الصدد، فيرجى الرجوع إلى كتاب "DNS and Bind" الذي كتبه Paul Albitz وCricket. ليو (أورايلي). من أجل التوضيح، سأستخدم ملف المضيفين الثابت لأن هذه هي أسهل طريقة لاختبار الأسماء المستعارة.
لاستخدام المضيفين الظاهريين في Tomcat، تحتاج إلى إعداد DNS أو بيانات المضيف. للاختبار، يكفي تعيين اسم IP مستعار لعنوان IP المحلي. بعد ذلك، تحتاج إلى إضافة بضعة أسطر إلى server.xml، كما يلي:
<Server port="8005"
إيقاف التشغيل = "SHUTDOWN" تصحيح = "0">
<اسم الخدمة = "Tomcat-Standalone">
<اسم فئة الموصل=
"org.apache.coyote.tomcat4.CoyoteConnector"
المنفذ = "8080"
الحد الأدنى للمعالجات = "5" الحد الأقصى للمعالجات = "75"
تمكينLookups = "صحيح"
منفذ إعادة التوجيه = "8443"/>
<اسم فئة الموصل=
"org.apache.coyote.tomcat4.CoyoteConnector"
المنفذ = "8443" دقيقة المعالجات = "5"
المعالجات القصوى = "75"
قبول الكونت = "10" التصحيح = "0"
مخطط = "https" آمن = "صحيح"/>
<اسم فئة المصنع = "org.apache.coyote.
Tomcat4.CoyoteServerSocketFactory"
ClientAuth = "false" بروتوكول = "TLS" />
</موصل>
<اسم المحرك = "مستقل"
defaultHost = "localhost" debug = "0">
<!-- هذا المضيف هو المضيف الافتراضي -->
<اسم المضيف = "المضيف المحلي"
تصحيح = "0" appBase = "webapps"
unpackWARs = "true" autoDeploy = "true">
<مسار السياق = "" docBase = "ROOT" debug = "0"/>
<مسار السياق = "/ الطلبات"
docBase = "/home/ian/orders" تصحيح = "0"
قابل لإعادة التحميل = "صحيح" crossContext = "صحيح">
</السياق>
</Host>
<!-- هذا المضيف هو الأول
"المضيف الظاهري": http://www.example.com/ -->
<اسم المضيف = " www.example.com "
appBase="/home/example/webapp">
<مسار السياق = "" docBase = "."/>
</المضيف>
</المحرك>
</الخدمة>
</Server>
يتضمن ملف server.xml الخاص بـ Tomcat، في حالته الأولية، مضيفًا افتراضيًا واحدًا فقط، ولكن يمكن توسيعه بسهولة لدعم مضيفين ظاهريين متعددين. يوضح المثال السابق إصدارًا بسيطًا من server.xml، حيث يتم استخدام الجزء الغامق لإضافة مضيف افتراضي. يجب أن يتضمن كل عنصر مضيف واحدًا أو أكثر من عناصر السياق، ويجب أن يكون أحد عناصر السياق المضمنة هو السياق الافتراضي. يجب أن يكون مسار العرض لهذا السياق الافتراضي فارغًا (على سبيل المثال، المسار = "").