{"id":23998,"date":"2021-10-05T06:21:08","date_gmt":"2021-10-05T06:21:08","guid":{"rendered":"https:\/\/www.devopsschool.com\/blog\/?p=23998"},"modified":"2022-04-13T15:56:39","modified_gmt":"2022-04-13T15:56:39","slug":"modules-in-apache-web-server","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/modules-in-apache-web-server\/","title":{"rendered":"Modules in Apache Web Server"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Core Modules<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>New functions are in the form of modules.<\/li><li>Every module has their own directives<\/li><li>Easy to download,install and configure<\/li><li>Define modules, use their syntaxes to use that functions and ita ready to use<\/li><\/ul>\n\n\n\n<p><strong>Core\/mpm_common &#8211; <\/strong>Application Process handling configuration parameters<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"591\" height=\"423\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/10\/core-module-apache.png\" alt=\"\" class=\"wp-image-23999\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/10\/core-module-apache.png 591w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/10\/core-module-apache-300x215.png 300w\" sizes=\"auto, (max-width: 591px) 100vw, 591px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Directives of Core\/ Common Modules<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>CoreDumpDirectory :<\/strong> Directory where Apache HTTP Server attempts to switch before dumping core<\/li><li><strong>EnableExceptionHook :<\/strong> Enables a hook that runs exception handlers after a crash<\/li><li><strong>GracefulShutdownTimeout :<\/strong> Specify a timeout after which a gracefully shutdown server will exit.<\/li><li><strong>Listen :<\/strong> IP addresses and ports that the server listens to<\/li><li><strong>ListenBacking :<\/strong> Maximum length of the queue of pending connections<\/li><li><strong>ListenCoreBucketsRatio :<\/strong> Ratio between the numbewr of CPU cores (online) and the number of listners&#8217; buckets<\/li><li><strong>MaxConnectionPerChild :<\/strong> Limit on the number of connections that an individual child server will handle during its life<\/li><li><strong>MaxMemFree :<\/strong> Maximum amount of memory that the main allocsator is allowed to hold without calling free()<\/li><li><strong>MaxRequestWorkers :<\/strong> Maximum number of connections that will be processed simultaneously<\/li><li><strong>MaxSpareThreads :<\/strong> Maximum number of idle threads<\/li><li><strong>MinSpareThreads :<\/strong> Minimum number of idle threads available to handle request spikes<\/li><li><strong>PidFile :<\/strong> File where the server records the process id of the daemon<\/li><li><strong>ReceiveBufferSize :<\/strong> TCP recieve buffer size<\/li><li><strong>ScoreBroardFile :<\/strong> Location of the file used to store connection data for the child processes<\/li><li><strong>SendBufferSize :<\/strong> TCP buffer size<\/li><li><strong>ServerLimit :<\/strong> Upper limit on configurable number of processes<\/li><li><strong>StartServers : <\/strong>Number of child server processes created at startup<\/li><li><strong>StartThreads :<\/strong> Number of threads created on startup<\/li><li><strong>ThreadLimit : <\/strong>Sets the upper limit on the configurable number of threads per child process<\/li><li><strong>ThreadsPerChild :<\/strong> Number of threads created by each child process<\/li><li><strong>ThreadStackSize :<\/strong> The size in bytes of the stack used by threads handling client connections<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"603\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/10\/module-directories-with-example-1024x603.png\" alt=\"\" class=\"wp-image-24000\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/10\/module-directories-with-example-1024x603.png 1024w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/10\/module-directories-with-example-300x177.png 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/10\/module-directories-with-example-768x453.png 768w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/10\/module-directories-with-example.png 1030w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Other Modules and their directives<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"962\" height=\"690\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/10\/other-modules-directories.png\" alt=\"\" class=\"wp-image-24001\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/10\/other-modules-directories.png 962w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/10\/other-modules-directories-300x215.png 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/10\/other-modules-directories-768x551.png 768w\" sizes=\"auto, (max-width: 962px) 100vw, 962px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Mod_alias<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Description :<\/strong> Provides for URL redirection and mapping different sections of the host disc in the document tree.<\/li><li><strong>Status: <\/strong>Base<\/li><li><strong>Module_Identifier:<\/strong>alias_module<\/li><li><strong>Source File:<\/strong> mod_alias.c<\/li><\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Directives:<\/h4>\n\n\n\n<ul class=\"wp-block-list\"><li>Alias<\/li><li>AliasMatch<\/li><li>Redirect<\/li><li>RedirectMatch<\/li><li>RedirectPermanent<\/li><li>RedirectTemp<\/li><li>ScriptAlias<\/li><li>ScriptAliasMatch<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Mod_authn_file<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Description :<\/strong> Using text files for user authentication<\/li><li><strong>Status:<\/strong> Base<\/li><li><strong>Module Identifier:<\/strong> authn_file_module<\/li><li><strong>Source File:<\/strong> mod_authn_file.c<\/li><\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Directives:<\/h4>\n\n\n\n<ul class=\"wp-block-list\"><li>AuthUserFile<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Mod_dir<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Description :<\/strong> Provides &#8220;trailing slash&#8221; redirects and directory index files for serving.<\/li><li><strong>Status :<\/strong> Base<\/li><li><strong>Module_identifiers :<\/strong> dir_module<\/li><li><strong>source File :<\/strong> mod_dir.c<\/li><\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Directives:<\/h4>\n\n\n\n<ul class=\"wp-block-list\"><li>DirectoryCheckHandler<\/li><li>DirectoryIndex<\/li><li>directoryIndexRedirect<\/li><li>DirectorySlash<\/li><li>FallbackResource<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Mod_log_config<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Description:<\/strong> Requests made to the server are logged.<\/li><li><strong>Module Identifier:<\/strong> log_config_module<\/li><li><strong>Source File: <\/strong>mod_log_config.c<\/li><\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Directives:<\/h4>\n\n\n\n<ul class=\"wp-block-list\"><li>CustomLog<\/li><li>BufferedLogs<\/li><li>GlobalLog<\/li><li>TranferLog<\/li><li>LogFormat<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Mod_macro<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Description:<\/strong> Provides macros in Apache httpd runtime configuration files to make the creation of several comparable configuration blocks easier. The macros are expanded using the specified parameters when the server starts up, and the result is processed in the same way as the rest of the configuration file.<\/li><li><strong>Status:<\/strong> Base<\/li><li><strong>Module Identifier:<\/strong> macro_module<\/li><li><strong>Source File:<\/strong> mod_macro.c<\/li><\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Directives:<\/h4>\n\n\n\n<ul class=\"wp-block-list\"><li>Macro<\/li><li>UndefMacro<\/li><li>Use<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Mod_proxy<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Description:<\/strong> The mod proxy and related modules provide a proxy\/gateway for Apache HTTP Server, supporting a variety of popular protocols and load balancing methods. Additional protocols and load balancing techniques can be added by third-party modules.<\/li><li><strong>Status:  <\/strong>Extension<\/li><li><strong>Module Identifier:<\/strong> proxy_module<\/li><li><strong>Source File:<\/strong> mod_proxy.c<\/li><\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Directives:<\/h4>\n\n\n\n<ul class=\"wp-block-list\"><li>NoProxy<\/li><li>Proxy100Continue<\/li><li>ProxyAddHeaders<\/li><li>ProxyBadHeader<\/li><li>ProxyBlock<\/li><li>ProxyDomain<\/li><li>ProxyErrorOverride<\/li><li>ProxyIOBufferSize<\/li><li>ProxyMatch<\/li><li>ProxyMaxForwards<\/li><li>Proxy<\/li><li>ProxyPassInherit<\/li><li>ProxyPassInterpolateEnv<\/li><li>ProxyRemoteMatch<\/li><li>ProxyRequests<\/li><li>ProxySet<\/li><li>ProxySourceAddress<\/li><li>ProxyTimeout<\/li><li>ProxyVia<\/li><li>ProxyPreserveHost<\/li><li>ProxyReceiveBufferSize<\/li><li>ProxyPassReverse<\/li><li>ProxyPassRewverseCookieDomain<\/li><li>ProxyPassReverseCookiePath<\/li><li>ProxyRemote<\/li><li>ProxyPassMatch<\/li><li>ProxyPass<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Mod_proxy_balancer<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Description:<\/strong> This module relies on the mod proxy service to perform load balancing for all protocols that are supported.<\/li><li><strong>Status:<\/strong> Extension<\/li><li><strong>Module Identifier:<\/strong> proxy_balancer_module<\/li><li><strong>Source File:<\/strong> mod_proxy_balancer.c<\/li><\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Directives:<\/h4>\n\n\n\n<ul class=\"wp-block-list\"><li>BalancerGrowth<\/li><li>BalancerInherit<\/li><li>BalancerPersist<\/li><li>BalanceMember<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Mod_rewrite<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Description:<\/strong> The mod rewrite module rewrites requested URLs on the fly using a rule-based rewriting engine based on a PCRE regular-expression parser. Mod rewrite converts a URL to a filesystem path by default. It can, however, be used to redirect a URL to another or to do an internal proxy fetch.<\/li><li><strong>Status:<\/strong> Extension<\/li><li><strong>Module Identifier:<\/strong> rewrite_module<\/li><li><strong>Source File:<\/strong> mod_rewrite.c<\/li><\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Directives :<\/h4>\n\n\n\n<ul class=\"wp-block-list\"><li>RewriteBase<\/li><li>RewriteCond<\/li><li>RewriteEngine<\/li><li>RewriteMap<\/li><li>RewriteOptions<\/li><li>RewriteRule<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Mod_ssl<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Description:<\/strong> Secure Sockets Layer (SSL) and Transport Layer Security (TLS) protocols provide strong cryptography.<\/li><li><strong>Status:<\/strong> Extension<\/li><li><strong>Module Identifier:<\/strong> ssl_module<\/li><li><strong>Source File:<\/strong> mod_ssl.c<\/li><\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Directives:<\/h4>\n\n\n\n<ul class=\"wp-block-list\"><li>SSLCACertificateFile<\/li><li>SSLCACertificatePath<\/li><li>SSLCADNRequestFile<\/li><li>SSLCADNRequestPath<\/li><li>SSLCARevocationCheck<\/li><li>SSLRCARevocationPath<\/li><li>SSLCertificateChainFile<\/li><li>SSLCertificateFile<\/li><li>SSLCertificateKeyFile<\/li><li>SSLCipherSuite<\/li><li>SSLCryptoDevice<\/li><li>SSLEngine<\/li><li>SSLOCSPResponderCertificateFile<\/li><li>SSLOCSPResponseMaxAge<\/li><li>SSLHonorCipherOrder<\/li><li>SSLInsecureREnegotiation<\/li><li>SSLOCSDefaultResponder<\/li><li>SSLOCSPEnable<\/li><li>SSLOCSPNoverify<\/li><li>SSLOCSPProxyURL<\/li><li>SSLFIPS<\/li><li>SSLCompression<\/li><li>SSLProtocol<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Mod_userdir<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Description:<\/strong> You can allow several users to host content within the same origin by utilising this module. A crucial principle of Javascript and online security is the same origin policy. Because web pages are hosted in the same origin, they can read and control one other, and security flaws on one page might influence the security of another. This is especially dangerous when it comes to web pages with dynamic content and authentication, as well as when your users don&#8217;t always trust one another.<\/li><li><strong>Status: <\/strong>Base<\/li><li><strong>Module Identifier:<\/strong> userdir_module<\/li><li><strong>Source File:<\/strong> mod_userdir.c<\/li><\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Directives:<\/h4>\n\n\n\n<p>UserDir<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Mod_vhost_alias<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Description:<\/strong> Allows for bulk virtual hosting with changeable configuration.<\/li><li><strong>Status:<\/strong> Extension<\/li><li><strong>Module Identifier:<\/strong> vhost_alias_module<\/li><li><strong>Source File:<\/strong> mod_vhost_alias.c<\/li><\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Directives:<\/h4>\n\n\n\n<ul class=\"wp-block-list\"><li>VirtualDocumentRoot<\/li><li>VirtualDocumentRootIP<\/li><li>VirtualScriptAlias<\/li><li>VirtualScriptAliasIP<\/li><\/ul>\n\n\n<div class=\"epyt-gallery\" data-currpage=\"1\" id=\"epyt_gallery_20240\"><figure class=\"wp-block-embed wp-block-embed-youtube is-type-video is-provider-youtube epyt-figure\"><div class=\"wp-block-embed__wrapper\"><iframe loading=\"lazy\"  id=\"_ytid_55133\"  width=\"760\" height=\"427\"  data-origwidth=\"760\" data-origheight=\"427\" src=\"https:\/\/www.youtube.com\/embed\/?enablejsapi=1&#038;autoplay=0&#038;cc_load_policy=0&#038;cc_lang_pref=&#038;iv_load_policy=1&#038;loop=0&#038;rel=1&#038;fs=1&#038;playsinline=0&#038;autohide=2&#038;theme=dark&#038;color=red&#038;controls=1&#038;disablekb=0&#038;\" class=\"__youtube_prefs__  no-lazyload\" title=\"YouTube player\"  data-epytgalleryid=\"epyt_gallery_20240\"  allow=\"fullscreen; accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen data-no-lazy=\"1\" data-skipgform_ajax_framebjll=\"\"><\/iframe><\/div><\/figure><div class=\"epyt-gallery-list\"><div>Sorry, there was a YouTube error.<\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Core Modules New functions are in the form of modules. Every module has their own directives Easy to download,install and configure Define modules, use their syntaxes to use that functions and ita ready to use Core\/mpm_common &#8211; Application Process handling configuration parameters Directives of Core\/ Common Modules CoreDumpDirectory : Directory where Apache HTTP Server attempts&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","_joinchat":[],"footnotes":""},"categories":[4957],"tags":[460],"class_list":["post-23998","post","type-post","status-publish","format-standard","hentry","category-linux","tag-linux"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/23998","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/comments?post=23998"}],"version-history":[{"count":4,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/23998\/revisions"}],"predecessor-version":[{"id":24175,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/23998\/revisions\/24175"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=23998"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=23998"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=23998"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}