<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
<meta content="noindex, nofollow" name="robots" />
<!--
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
              This file is generated from xml source: DO NOT EDIT
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -->
<title>apxs - APache eXtenSion tool - Apache HTTP Server</title>
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
<link href="../images/favicon.ico" rel="shortcut icon" /><link href="http://httpd.apache.org/docs/current/programs/apxs.html" rel="canonical" /></head>
<body id="manual-page"><div id="page-header">
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p>
<p class="apache">Apache HTTP Server Version 2.0</p>
<img alt="" src="../images/feather.gif" /></div>
<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.0</a> &gt; <a href="./">Programs</a></div><div id="page-content"><div class="retired"><h4>Please note</h4>
            <p>This document refers to the <strong>2.0</strong> version of Apache httpd, which <strong>is no longer maintained</strong>. Upgrade, and refer to the current version of httpd instead, documented at:</p>
        <ul><li><a href="http://httpd.apache.org/docs/current/">Current release version of Apache HTTP Server documentation</a></li></ul><p>You may follow <a href="http://httpd.apache.org/docs/current/programs/apxs.html">this link</a> to go to the current version of this document.</p></div><div id="preamble"><h1>apxs - APache eXtenSion tool</h1>
<div class="toplang">
<p><span>Available Languages: </span><a href="../en/programs/apxs.html" title="English">&nbsp;en&nbsp;</a> |
<a href="../ko/programs/apxs.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/programs/apxs.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div>

    <p><code>apxs</code> is a tool for building and installing extension
    modules for the Apache HyperText Transfer Protocol (HTTP) server. This is
    achieved by building a dynamic shared object (DSO) from one or more source
    or object <var>files</var> which then can be loaded into the Apache server
    under runtime via the <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code>
    directive from <code class="module"><a href="../mod/mod_so.html">mod_so</a></code>.</p>

    <p>So to use this extension mechanism your platform has to support the DSO
    feature and your Apache <code class="program"><a href="../programs/httpd.html">httpd</a></code> binary has to be built with the
    <code class="module"><a href="../mod/mod_so.html">mod_so</a></code> module. The <code>apxs</code> tool automatically
    complains if this is not the case. You can check this yourself by manually
    running the command</p>

    <div class="example"><p><code>
      $ httpd -l
    </code></p></div>

    <p>The module <code class="module"><a href="../mod/mod_so.html">mod_so</a></code> should be part of the displayed list.
    If these requirements are fulfilled you can easily extend your Apache
    server's functionality by installing your own modules with the DSO mechanism
    by the help of this <code>apxs</code> tool:</p>

    <div class="example"><p><code>
      $ apxs -i -a -c mod_foo.c<br />
      gcc -fpic -DSHARED_MODULE -I/path/to/apache/include -c mod_foo.c<br />
      ld -Bshareable -o mod_foo.so mod_foo.o<br />
      cp mod_foo.so /path/to/apache/modules/mod_foo.so<br />
      chmod 755 /path/to/apache/modules/mod_foo.so<br />
      [activating module `foo' in /path/to/apache/etc/httpd.conf]<br />
      $ apachectl restart<br />
      /path/to/apache/sbin/apachectl restart: httpd not running, trying to start<br />
      [Tue Mar 31 11:27:55 1998] [debug] mod_so.c(303): loaded module foo_module<br />
      /path/to/apache/sbin/apachectl restart: httpd started<br />
      $ _
    </code></p></div>

    <p>The arguments <var>files</var> can be any C source file (.c), a object
    file (.o) or even a library archive (.a). The <code>apxs</code> tool
    automatically recognizes these extensions and  automatically used the C
    source files for compilation while just using the object and archive files
    for the linking phase. But when using such pre-compiled objects make sure
    they are compiled for position independent code (PIC) to be able to use them
    for a dynamically loaded shared object. For instance with GCC you always
    just have to use <code>-fpic</code>. For other C compilers consult its
    manual page or at watch for the flags <code>apxs</code> uses to compile the
    object files.</p>

    <p>For more details about DSO support in Apache read the documentation of
    <code class="module"><a href="../mod/mod_so.html">mod_so</a></code> or perhaps even read the
    <code>src/modules/standard/mod_so.c</code> source file.</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#synopsis">Synopsis</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#options">Options</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#examples">Examples</a></li>
</ul><h3>See also</h3><ul class="seealso"><li><code class="program"><a href="../programs/apachectl.html">apachectl</a></code></li><li><code class="program"><a href="../programs/httpd.html">httpd</a></code></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="synopsis" id="synopsis">Synopsis</a></h2>
    <p><code><strong>apxs</strong> -<strong>g</strong>
    [ -<strong>S</strong> <var>name</var>=<var>value</var> ]
    -<strong>n</strong> <var>modname</var></code></p>

    <p><code><strong>apxs</strong> -<strong>q</strong>
    [ -<strong>S</strong> <var>name</var>=<var>value</var> ]
    <var>query</var> ...</code></p>

    <p><code><strong>apxs</strong> -<strong>c</strong>
    [ -<strong>S</strong> <var>name</var>=<var>value</var> ]
    [ -<strong>o</strong> <var>dsofile</var> ]
    [ -<strong>I</strong> <var>incdir</var> ]
    [ -<strong>D</strong> <var>name</var>=<var>value</var> ]
    [ -<strong>L</strong> <var>libdir</var> ]
    [ -<strong>l</strong> <var>libname</var> ]
    [ -<strong>Wc,</strong><var>compiler-flags</var> ]
    [ -<strong>Wl,</strong><var>linker-flags</var> ]
    <var>files</var> ...</code></p>

    <p><code><strong>apxs</strong> -<strong>i</strong>
    [ -<strong>S</strong> <var>name</var>=<var>value</var> ]
    [ -<strong>n</strong> <var>modname</var> ]
    [ -<strong>a</strong> ]
    [ -<strong>A</strong> ]
    <var>dso-file</var> ...</code></p>

    <p><code><strong>apxs</strong> -<strong>e</strong>
    [ -<strong>S</strong> <var>name</var>=<var>value</var> ]
    [ -<strong>n</strong> <var>modname</var> ]
    [ -<strong>a</strong> ]
    [ -<strong>A</strong> ]
    <var>dso-file</var> ...</code></p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="options" id="options">Options</a></h2>
    <h3><a name="options.common" id="options.common">Common Options</a></h3>
      <dl>
      <dt><code>-n <var>modname</var></code></dt>
      <dd>This explicitly sets the module name for the <code>-i</code> (install)
      and <code>-g</code> (template generation) option. Use this to explicitly
      specify the module name. For option <code>-g</code> this is required, for
      option <code>-i</code> the <code>apxs</code> tool tries to determine the
      name from the source or (as a fallback) at least by guessing it from the
      filename.</dd>
      </dl>
    

    <h3><a name="options.query" id="options.query">Query Options</a></h3>
      <dl>
      <dt><code>-q</code></dt>
      <dd>Performs a query for <code>apxs</code>'s knowledge about certain
      settings. The <var>query</var> parameters can be one or more of the
      following strings: <code>CC</code>, <code>CFLAGS</code>,
      <code>CFLAGS_SHLIB</code>, <code>INCLUDEDIR</code>, <code>LD_SHLIB</code>,
      <code>LDFLAGS_SHLIB</code>, <code>LIBEXECDIR</code>,
      <code>LIBS_SHLIB</code>, <code>SBINDIR</code>, <code>SYSCONFDIR</code>,
      <code>TARGET</code>.

      <p>Use this for manually determining settings. For instance use</p>
      <div class="example"><p><code>
        INC=-I`apxs -q INCLUDEDIR`
      </code></p></div>

      <p>inside your own Makefiles if you need manual access to Apache's C
      header files.</p></dd>
      </dl>
    

    <h3><a name="options.conf" id="options.conf">Configuration Options</a></h3>
      <dl>
      <dt><code>-S <var>name</var>=<var>value</var></code></dt>
      <dd>This option changes the apxs settings described above.</dd>
      </dl>
    

    <h3><a name="options.template" id="options.template">Template Generation Options</a></h3>
      <dl>
      <dt><code>-g</code></dt>
      <dd>This generates a subdirectory <var>name</var> (see option
      <code>-n</code>) and there two files: A sample module source file named
      <code>mod_<var>name</var>.c</code> which can be used as a template for
      creating your own modules or as a quick start for playing with the
      apxs mechanism. And a corresponding <code>Makefile</code> for even easier
      build and installing of this module.</dd>
      </dl>
    

    <h3><a name="options.dso" id="options.dso">DSO Compilation Options</a></h3>
      <dl>
      <dt><code>-c</code></dt>
      <dd>This indicates the compilation operation. It first compiles the C
      source files (.c) of <var>files</var> into corresponding object files (.o)
      and then builds a dynamically shared object in <var>dsofile</var> by
      linking these object files plus the remaining object files (.o and .a) of
      <var>files</var>. If no <code>-o</code> option is specified the output
      file is guessed from the first filename in <var>files</var> and thus
      usually defaults to <code>mod_<var>name</var>.so</code>.</dd>

      <dt><code>-o <var>dsofile</var></code></dt>
      <dd>Explicitly specifies the filename of the created dynamically shared
      object. If not specified and the name cannot be guessed from the
      <var>files</var> list, the fallback name <code>mod_unknown.so</code> is
      used.</dd>

      <dt><code>-D <var>name</var>=<var>value</var></code></dt>
      <dd>This option is directly passed through to the compilation command(s).
      Use this to add your own defines to the build process.</dd>

      <dt><code>-I <var>incdir</var></code></dt>
      <dd>This option is directly passed through to the compilation command(s).
      Use this to add your own include directories to search to the build
      process.</dd>

      <dt><code>-L <var>libdir</var></code></dt>
      <dd>This option is directly passed through to the linker command. Use this
      to add your own library directories to search to the build  process.</dd>

      <dt><code>-l <var>libname</var></code></dt>
      <dd>This option is directly passed through to the linker command. Use this
      to add your own libraries to search to the build process.</dd>

      <dt><code>-Wc,<var>compiler-flags</var></code></dt>
      <dd>This option passes <var>compiler-flags</var> as additional flags to
      the compiler command. Use this to add local compiler-specific options.</dd>

      <dt><code>-Wl,<var>linker-flags</var></code></dt>
      <dd>This option passes <var>linker-flags</var> as additional flags to
      the linker command. Use this to add local linker-specific options.</dd>
      </dl>
    

    <h3><a name="options.dsoinstall" id="options.dsoinstall">DSO Installation and Configuration Options</a></h3>
    
      <dl>
      <dt><code>-i</code></dt>
      <dd>This indicates the installation operation and installs one or more
      dynamically shared objects into the server's <var>modules</var>
      directory.</dd>

      <dt><code>-a</code></dt>
      <dd>This activates the module by automatically adding a corresponding
      <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code> line to Apache's
      <code>httpd.conf</code> configuration file, or by enabling it if it
      already exists.</dd>

      <dt><code>-A</code></dt>
      <dd>Same as option <code>-a</code> but the created <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code> directive is prefixed with a hash
      sign (<code>#</code>), <em>i.e.</em>, the module is just prepared for
      later activation but initially disabled.</dd>

      <dt><code>-e</code></dt>
      <dd>This indicates the editing operation, which can be used with the
      <code>-a</code> and <code>-A</code> options similarly to the
      <code>-i</code> operation to edit Apache's <code>httpd.conf</code>
      configuration file without attempting to install the module.</dd>
      </dl>
    
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="examples" id="examples">Examples</a></h2>
    <p>Assume you have an Apache module named <code>mod_foo.c</code> available
    which should extend Apache's server functionality. To accomplish this you
    first have to compile the C source into a shared object suitable for loading
    into the Apache server under runtime via the following command:</p>

    <div class="example"><p><code>
      $ apxs -c mod_foo.c<br />
      gcc -fpic -DSHARED_MODULE -I/path/to/apache/include -c mod_foo.c<br />
      ld -Bshareable -o mod_foo.so mod_foo.o<br />
      $ _
    </code></p></div>

    <p>Then you have to update the Apache configuration by making sure a
    <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code> directive is present to
    load this shared object. To simplify this step <code>apxs</code> provides
    an automatic way to install the shared object in its "modules" directory
    and updating the <code>httpd.conf</code> file accordingly. This can be
    achieved by running:</p>

    <div class="example"><p><code>
      $ apxs -i -a mod_foo.c<br />
      cp mod_foo.so /path/to/apache/modules/mod_foo.so<br />
      chmod 755 /path/to/apache/modules/mod_foo.so<br />
      [activating module `foo' in /path/to/apache/etc/httpd.conf]<br />
      $ _
    </code></p></div>

    <p>This way a line named</p>

    <div class="example"><p><code>
      LoadModule foo_module modules/mod_foo.so
    </code></p></div>

    <p>is added to the configuration file if still not present. If you want to
    have this disabled per default use the <code>-A</code> option,
    <em>i.e.</em></p>

    <div class="example"><p><code>
      $ apxs -i -A mod_foo.c
    </code></p></div>

    <p>For a quick test of the apxs mechanism you can create a sample Apache
    module template plus a corresponding Makefile via:</p>

    <div class="example"><p><code>
      $ apxs -g -n foo<br />
      Creating [DIR]  foo<br />
      Creating [FILE] foo/Makefile<br />
      Creating [FILE] foo/mod_foo.c<br />
      $ _
    </code></p></div>

    <p>Then you can immediately compile this sample module into a shared object
    and load it into the Apache server:</p>

    <div class="example"><p><code>
      $ cd foo<br />
      $ make all reload<br />
      apxs -c mod_foo.c<br />
      gcc -fpic -DSHARED_MODULE -I/path/to/apache/include -c mod_foo.c<br />
      ld -Bshareable -o mod_foo.so mod_foo.o<br />
      apxs -i -a -n "foo" mod_foo.so<br />
      cp mod_foo.so /path/to/apache/modules/mod_foo.so<br />
      chmod 755 /path/to/apache/modules/mod_foo.so<br />
      [activating module `foo' in /path/to/apache/etc/httpd.conf]<br />
      apachectl restart<br />
      /path/to/apache/sbin/apachectl restart: httpd not running, trying to start<br />
      [Tue Mar 31 11:27:55 1998] [debug] mod_so.c(303): loaded module foo_module<br />
      /path/to/apache/sbin/apachectl restart: httpd started<br />
      $ _
    </code></p></div>

    <p>You can even use <code>apxs</code> to compile complex modules outside the
    Apache source tree, like PHP3:</p>

    <div class="example"><p><code>
      $ cd php3<br />
      $ ./configure --with-shared-apache=../apache-1.3<br />
      $ apxs -c -o libphp3.so mod_php3.c libmodphp3-so.a<br />
      gcc -fpic -DSHARED_MODULE -I/tmp/apache/include  -c mod_php3.c<br />
      ld -Bshareable -o libphp3.so mod_php3.o libmodphp3-so.a<br />
      $ _
    </code></p></div>

    <p>because <code>apxs</code> automatically recognized C source files and
    object files. Only C source files are compiled while remaining object
    files are used for the linking phase.</p>
</div></div>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/programs/apxs.html" title="English">&nbsp;en&nbsp;</a> |
<a href="../ko/programs/apxs.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/programs/apxs.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
<p class="apache">Copyright 2013 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html>