في هذا الدليل، سنتحدث بإيجاز عن الواجهة الأمامية لخادم الويب Apache وكيفية قائمة أو التحقق من الوحدات التي تم تمكينها على الخادم الخاص بك.
Apache مبني على مبدأ القابلية للتوسعة، وبهذه الطريقة، يتيح لمسؤولي خادم الويب إضافة وحدات مختلفة لتوسيع وظائفها الأساسية وتعزيز أداء Apache أيضًا.
قراءة مقترحة: 5 نصائح لتعزيز أداء خادم الويب Apache الخاص بك
تشمل بعض الوحدات الشائعة لـ Apache:
- mod_ssl – الذي يقدم HTTPS لـ Apache.
- mod_rewrite – الذي يسمح بمطابقة أنماط عنوان URL باستخدام التعبيرات العادية، وإجراء إعادة توجيه شفافة باستخدام حيل .htaccess، أو تطبيق استجابة رمز الحالة HTTP.
- mod_security – الذي يتيح لك حماية Apache من هجمات القوة الغاشمة أو هجمات DDoS.
- mod_status – الذي يتيح لك مراقبة حمل خادم الويب Apache وإحصاءات الصفحة.
في نظام Linux، يتم استخدام الأمر apachectl أو apache2ctl للتحكم في واجهة خادم Apache HTTP، حيث يعد واجهةً أمامية لـ Apache.
يمكنك عرض معلومات الاستخدام لـ apache2ctl كما يلي:
$ apache2ctl help OR $ apachectl help
Usage: /usr/sbin/httpd [-D name] [-d directory] [-f file] [-C "directive"] [-c "directive"] [-k start|restart|graceful|graceful-stop|stop] [-v] [-V] [-h] [-l] [-L] [-t] [-S] Options: -D name : define a name for use in directives -d directory : specify an alternate initial ServerRoot -f file : specify an alternate ServerConfigFile -C "directive" : process directive before reading config files -c "directive" : process directive after reading config files -e level : show startup errors of level (see LogLevel) -E file : log startup errors to file -v : show version number -V : show compile settings -h : list available command line options (this page) -l : list compiled in modules -L : list available configuration directives -t -D DUMP_VHOSTS : show parsed settings (currently only vhost settings) -S : a synonym for -t -D DUMP_VHOSTS -t -D DUMP_MODULES : show all loaded modules -M : a synonym for -t -D DUMP_MODULES -t : run syntax check for config files
apache2ctl يمكن أن يعمل في وضعين ممكنين، وضع Sys V init ووضع pass-through. في وضع SysV init، يأخذ apache2ctl أوامر بسيطة من كلمة واحدة بالصيغة التالية:
$ apachectl command OR $ apache2ctl command
على سبيل المثال، لبدء Apache والتحقق من حالته، قم بتشغيل هاتين الأمرين بامتيازات مستخدم root باستخدام الأمر sudo، في حال كنت مستخدمًا عاديًا:
$ sudo apache2ctl start $ sudo apache2ctl status
tecmint@TecMint ~ $ sudo apache2ctl start AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message httpd (pid 1456) already running tecmint@TecMint ~ $ sudo apache2ctl status Apache Server Status for localhost (via 127.0.0.1) Server Version: Apache/2.4.18 (Ubuntu) Server MPM: prefork Server Built: 2016-07-14T12:32:26 ------------------------------------------------------------------------------- Current Time: Tuesday, 15-Nov-2016 11:47:28 IST Restart Time: Tuesday, 15-Nov-2016 10:21:46 IST Parent Server Config. Generation: 2 Parent Server MPM Generation: 1 Server uptime: 1 hour 25 minutes 41 seconds Server load: 0.97 0.94 0.77 Total accesses: 2 - Total Traffic: 3 kB CPU Usage: u0 s0 cu0 cs0 .000389 requests/sec - 0 B/second - 1536 B/request 1 requests currently being processed, 4 idle workers __W__........................................................... ................................................................ ...................... Scoreboard Key: "_" Waiting for Connection, "S" Starting up, "R" Reading Request, "W" Sending Reply, "K" Keepalive (read), "D" DNS Lookup, "C" Closing connection, "L" Logging, "G" Gracefully finishing, "I" Idle cleanup of worker, "." Open slot with no current process
وعند التشغيل في وضع pass-through، يمكن لـ apache2ctl أن يأخذ جميع وسيطات Apache بالصيغة التالية:
$ apachectl [apache-argument] $ apache2ctl [apache-argument]
يمكن تسجيل جميع وسيطات Apache كما يلي:
$ apache2 help [On Debian based systems] $ httpd help [On RHEL based systems]
التحقق من الوحدات التي تم تمكينها في Apache
لذلك، من أجل التحقق من الوحدات التي تم تمكينها في خادم الويب Apache الخاص بك، قم بتشغيل الأمر المناسب أدناه لتوزيعتك، حيث -t -D DUMP_MODULES
هو وسيط Apache لعرض جميع الوحدات الممكنة/المحملة:
--------------- On Debian based systems --------------- $ apache2ctl -t -D DUMP_MODULES OR $ apache2ctl -M
--------------- On RHEL based systems --------------- $ apachectl -t -D DUMP_MODULES OR $ httpd -M $ apache2ctl -M
[root@tecmint httpd]# apachectl -M Loaded Modules: core_module (static) mpm_prefork_module (static) http_module (static) so_module (static) auth_basic_module (shared) auth_digest_module (shared) authn_file_module (shared) authn_alias_module (shared) authn_anon_module (shared) authn_dbm_module (shared) authn_default_module (shared) authz_host_module (shared) authz_user_module (shared) authz_owner_module (shared) authz_groupfile_module (shared) authz_dbm_module (shared) authz_default_module (shared) ldap_module (shared) authnz_ldap_module (shared) include_module (shared) ....
هذا كل شيء! في هذا البرنامج التعليمي البسيط ، شرحنا كيفية استخدام أدوات الواجهة الأمامية لـ Apache لفهرسة الوحدات النمطية لـ Apache المفعلة / المحمّلة. تذكر أنه يمكنك التواصل باستخدام نموذج التعليقات أدناه لإرسال أسئلتك أو تعليقاتك بشأن هذا الدليل.
Source:
https://www.tecmint.com/check-apache-modules-enabled/