অ্যাপাচি কনফিগার করা হ্যান্ডলারের একটি তালিকা প্রকাশ করে না। ব্যবহার করছি apachectl
না, অন্য কিছুর সাথে নয়।
কনফিগার করা হ্যান্ডলারের একটি তালিকা পেতে আমি যে সর্বোত্তম পদ্ধতিটি খুঁজে পেতে পারি তা হ'ল Handler
সমস্ত AddHandler
এবং SetHandler
ঘোষণাগুলি ধরার জন্য অ্যাপাচি কনফিগারেশন ফোল্ডারে কেবল গ্রেপ করা ।
ডেবিয়ান-ভিত্তিক (উবুন্টু) হোস্টের জন্য
$ grep -ir "Handler" /etc/apache2/*
mods-enabled/php5.conf: SetHandler application/x-httpd-php
mods-enabled/php5.conf: SetHandler application/x-httpd-php-source
apache2.conf: SetHandler server-status
mods-available/info.conf: SetHandler server-info
mods-available/ldap.conf: SetHandler ldap-status
mods-available/status.conf: SetHandler server-status
mods-available/php5.conf: SetHandler application/x-httpd-php
mods-available/php5.conf: SetHandler application/x-httpd-php-source
sites-available/default: AddHandler cgi-script .cgi
sites-enabled/000-default: AddHandler cgi-script .cgi
রেডহাট-ভিত্তিক (ফেডোরা, সেন্টোস) হোস্টের জন্য
$ grep -ir "Handler" /etc/httpd/*
conf.d/php.conf: AddHandler php5-script .php
conf/httpd.conf: #AddHandler cgi-script .cgi
conf/httpd.conf: #AddHandler send-as-is asis
conf/httpd.conf: AddHandler type-map var
conf/httpd.conf: #ErrorDocument 404 "/cgi-bin/missing_handler.pl"
conf/httpd.conf: AddHandler type-map var
conf/httpd.conf:# SetHandler server-status
conf/httpd.conf:# SetHandler server-info
conf.d/fcgid.conf: AddHandler fcgid-script fcg fcgi fpl
conf.d/perl.conf:# SetHandler perl-script
conf.d/perl.conf:# SetHandler perl-script
মনে রাখবেন যে পাওয়া সমস্ত হ্যান্ডলারগুলি বাস্তবে নিবন্ধভুক্ত নয়! mods-enabled
(ডিবিয়ান) অনুসন্ধান করুন এবং #
কেবল নিবন্ধিত হ্যান্ডলারদের সঙ্কুচিত করার জন্য লাইনগুলি উপেক্ষা করুন ।
মন্তব্যে জেনির পরামর্শ অনুসারে, মন্তব্য করা লাইনগুলি আউটপুট ফিল্টার করে মুছে ফেলা যায়grep -Pv '^[^ ]*:\s*#'
। দেবিয়ান-ভিত্তিক মেশিনগুলির জন্য এখানে চূড়ান্ত আদেশ দেওয়া হল:
$ grep -ir "Handler" /etc/apache2/* | grep -Pv '^[^ ]*:\s*#'
এবং রেডহাট-ভিত্তিক মেশিনগুলির জন্য:
$ grep -ir "Handler" /etc/httpd/* | grep -Pv '^[^ ]*:\s*#'
মন্তব্যগুলিতে ব্যবহারকারী গোগৌড মন্তব্য করা হ্যান্ডলারগুলি ছড়িয়ে দেওয়ার জন্য একটি অতিরিক্ত উপায় সরবরাহ করে, কেবলমাত্র নিবন্ধিত হ্যান্ডলারদের ফেরত:
// Debian or Ubuntu
$ grep -R "Handler" /etc/apache2/*enabled* | sed 's/#.*//;/^[^:]*:\s*$/d'
// Redhat, CentoOS, Fedora
$ grep -R "Handler" /etc/httpd/*enabled* | sed 's/#.*//;/^[^:]*:\s*$/d'
find /etc/httpd/ -type f -exec grep -H -v '#' {} \; | grep Handler