Perl in a Nutshell

Perl in a NutshellSearch this book
Previous: 11.6 <Perl> SectionsChapter 11
Web Server Programming with mod_perl
Next: V. Databases
 

11.7 Apache:: Modules

Apache::Registry is the most commonly used mod_perl module. But there are many more, all available on CPAN. The following table lists the Apache::* modules and which handler they're designed to be used with, but you should also check the apache-modlist.html file on CPAN for the very latest listing.

PerlHandler
Apache::CallHandlerMaps filenames to subroutine calls
Apache::DirControls directory indexing
Apache::EmbperlEmbeds Perl code in HTML files
Apache::ePerlEmbedded Perl (ePerl) emulation
Apache::FTPEmulates an FTP proxy
Apache::GzipChainCompresses output from another handler
Apache::JavaScriptGenerates JavaScript code
Apache::OutputChainChains multiple handlers via "filter" modules
Apache::PassFileSends files via OutputChain
Apache::RegistryRuns unaltered CGI scripts
Apache::RobotRulesEnforces robots.txt rules
Apache::SandwichAdds per-directory headers and footers
Apache::VhostSandwichAdds headers and footers for virtual hosts
Apache::SSIImplements server-side includes in Perl
Apache::StageManages a document staging directory
Apache::WDBQueries databases via DBI
PerlHeaderParserHandler
Apache::AgentDenyDenies abusive clients
PerlAuthenHandler
Apache::AuthenAuthenticates users
Apache::AuthCookieAuthenticates and authorizes users via cookies
Apache::AuthenDBIAuthenticates via Perl's DBI
Apache::AuthExpire

Expires authentication credentials

Apache::AuthenGSS

Authenticates users with Generic Security Service

Apache::AuthenLDAPAuthenticates users with LDAP
Apache::AuthNISAuthenticates users with NIS
Apache::BasicCookieAuthAccepts cookie or basic authentication credentials
Apache::DBILoginAuthenticates using a backend database
Apache::DCELoginAuthenticates within a DCE login context
Apache::AuthAnyAuthenticates with any username/password
PerlAuthzHandler
Apache::AuthCookieAuthenticates and authorizes via cookies
Apache::AuthzAgeAuthorizes based on age
Apache::AuthzDCEAuthorizes based on DFS/DCE ACL
Apache::AuthzDBIAuthorizes groups via DBI
Apache::AuthNISAuthenticates and authorizes via NIS
Apache::RoleAuthzRole-based authorization
PerlAccessHandler
Apache::AccessLimitNumLimits user access by the number of requests
Apache::DayLimitLimits access based on the day of the week
Apache::RobotLimitLimits access of robots
PerlTypeHandler
Apache::AcceptLanguage

Sends file types based on user's language preference

PerlTransHandler
Apache::DynaRPCTranslates URIs into RPCs
Apache::JunctionMounts remote web server namespace
Apache::LowerCaseGETsTranslates to lowercase URIs as needed
Apache::MsqlProxyTranslates URIs into mSQL queries
Apache::ProxyPassThruSkeleton for vanilla proxy
Apache::ProxyCacheCaching proxy
PerlFixupHandler
Apache::HttpEquiv

Converts HTML HTTP-EQUIV tags to HTTP headers

Apache::TimeitBenchmarks Perl handlers
PerlLogHandler
Apache::DumpHeadersDisplays HTTP transaction headers
Apache::Traffic

Logs the number of bytes transferred on a per-user basis

Apache::WatchDogLooks for problematic URIs
PerlChildInitHandler
Apache::Resource

Limits resources used by httpd children

Server Configuration
Apache::ConfigLDAP

Configures server via LDAP and <Perl> sections

Apache::ConfigDBIConfigures server via DBI and <Perl> sections
Apache::ModuleConfigInterfaces to configuration API
Apache::PerlSectionsUtilities for <Perl> sections
Apache::httpd_confMethods to configure and run an httpd
Apache::srcMethods for finding and reading bits of source
Database
Apache::DBIManages persistent DBI connections.
Apache::SybaseManages persistent DBlib connections.
Apache::MysqlManages persistent mysql connections.

Interfaces and Integration with Various Apache C Modules

Apache::ConstantsConstants defined in httpd.h
Apache::Include

Enables use of Apache::Registry scripts within SSI with mod_include

Apache::GlobalGives access to server global variables
Apache::LogErrorGives an interface to aplog_error
Apache::LogFileGives an interface to Apache's piped logs, etc.
Apache::MimeGives an interface to mod_mime functionality
Apache::ModuleGives an interface to Apache C module structures
Apache::OptionsImports Apache::Constants "options"
Apache::ScoreboardGives an interface to scoreboard API
Apache::ServletGives an interface to the Java Servlet engine
Apache::SfioGives an interface to r->connection->client->sf*
Development and Debug Tools
Apache::DebugProvides debugging utilities to mod_perl
Apache::DProfHooks Devel::DProf into mod_perl
Apache::FakeRequestImplements Apache methods offline
Apache::PeekEmulates Devel::Peek for mod_perl
Apache::SawAmpersandMakes sure no one is using $&, $', or $`
Apache::StatINC

Reloads files that are used or required files when updated

Apache::StatusGets information about loaded modules
Apache::SymbolSupports symbols
Apache::testDefines handy routines for make test scripts
Miscellaneous
Apache::ByterunRuns Perl bytecode modules
Apache::MmapShares data via Mmap module
Apache::PersistentStores data via IPC::, DBI, or disk
Apache::PUTHandler for the HTTP PUT method
Apache::RegistryLoader

Apache::Registry startup script loader

Apache::Safe

Adaptation of safecgiperl

Apache::Session

Maintains client <-> httpd session/state

Apache::SIG

Signal handlers for mod_perl

Apache::StatePowerful state engine


Previous: 11.6 <Perl> SectionsPerl in a NutshellNext: V. Databases
11.6 <Perl> SectionsBook IndexV. Databases