]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
Refocus install.xml on source builds; style cleanup
authorRich Bowen <rbowen@apache.org>
Thu, 11 Jun 2026 20:10:17 +0000 (20:10 +0000)
committerRich Bowen <rbowen@apache.org>
Thu, 11 Jun 2026 20:10:17 +0000 (20:10 +0000)
- Rewrite summary to lead with "released as source code" framing
- Move RPM/DEB quick-install content to "Third-party packages" at end
- Simplify "Overview for the impatient" to source-build steps only
- Update PCRE requirement to PCRE2 (matching configure.in)
- Fix bare "Apache" → "httpd" throughout (per style guide)
- Remove all double-space-after-period instances
- Rewrite timekeeping paragraph (drop pun, modernize)
- Add <highlight language="sh"> to all shell example blocks
- Rename win_compiling.xml title: "Compiling Apache httpd for Microsoft Windows"

Indirectly resolves bz#70082

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935202 13f79535-47bb-0310-9956-ffa450edef68

docs/manual/install.xml
docs/manual/platform/win_compiling.xml

index c0073c5f6e66f1112fbdf3245d02de248e6434fb..2ac56465921f18b369dc06a720438bf7ffa2d0fb 100644 (file)
@@ -5,11 +5,11 @@
 
 <!--
  Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements.  See the NOTICE file distributed with
+ contributor license agreements. See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
- the License.  You may obtain a copy of the License at
+ the License. You may obtain a copy of the License at
 
      http://www.apache.org/licenses/LICENSE-2.0
 
 
 <summary>
 
-    <p>This document covers compilation and installation of the Apache HTTP Server
-    on Unix and Unix-like systems only. For compiling and
-    installation on Windows, see <a
+    <p>The Apache HTTP Server is released as source code. This document
+    covers building and installing the server from source on Unix and
+    Unix-like systems. For Windows, see <a
     href="platform/windows.html">Using Apache HTTP Server with Microsoft
     Windows</a> and <a
-    href="platform/win_compiling.html">Compiling Apache for Microsoft Windows</a>.
-    For other platforms, see the <a
+    href="platform/win_compiling.html">Compiling Apache httpd for Microsoft
+    Windows</a>. For other platforms, see the <a
     href="platform/">platform</a> documentation.</p>
 
-    <p>Apache httpd uses <code>libtool</code> and <code>autoconf</code>
-    to create a build environment that looks like many other Open Source
-    projects.</p>
+    <p>If you install httpd from a distribution package (RPM, DEB, etc.),
+    configuration layout and defaults may differ from what is described here.
+    See <a href="#thirdp">third-party packages</a> below, and consult your
+    distribution's documentation for platform-specific details.</p>
 
     <p>If you are upgrading from one minor version to the next (for
     example, 2.4.66 to 2.4.67), please skip down to the <a
 <section id="overview"><title>Overview for the
     impatient</title>
 
-    <dl>
-    <dt>Installing on Fedora/CentOS/Red Hat Enterprise Linux</dt>
-    <dd>
-    <highlight language="sh">
-sudo dnf install httpd
-
-# Start service
-sudo systemctl start httpd
-
-# Stop service
-sudo systemctl stop httpd
-
-# Restart service
-sudo systemctl restart httpd
-    </highlight>
-
-    <note type="warning">See <a
-    href="https://docs.fedoraproject.org/en-US/quick-docs/getting-started-with-apache-http-server/index.html">the
-    Fedora project's documentation</a> for platform-specific notes.</note>
-    </dd>
-
-    <dt>Installing on Ubuntu/Debian</dt>
-    <dd>
-<highlight language="sh">
-sudo apt install apache2
-
-# Start service
-sudo systemctl start apache2
-
-# Stop service
-sudo systemctl stop apache2
-
-# Restart service
-sudo systemctl restart apache2
-</highlight>
-
-    <note type="warning">See <a href="https://ubuntu.com/tutorials/install-and-configure-apache">Ubuntu's documentation</a> for platform-specific notes.</note>
-
-    </dd>
-
-    <dt>Installing from source</dt>
-    <dd>
     <table>
       <columnspec><column width=".13"/><column width=".80"/></columnspec>
       <tr>
@@ -154,12 +113,6 @@ $ cd httpd-NN
         <p>Each section of the compilation and installation process is
         described in more detail below, beginning with the requirements
         for compiling and installing Apache httpd.</p>
-    </dd>
-    </dl>
-
-    <note type="warning">Don't see your favorite platform mentioned
-    here? <a href="https://httpd.apache.org/docs-project/">Come help us
-    improve this doc.</a></note>
 
 </section>
 
@@ -177,19 +130,19 @@ $ cd httpd-NN
       (be sure the directory names do not have version numbers; for example,
       the APR distribution must be under /httpd_source_tree_root/srclib/apr/) and use
       <code>./configure</code>'s <code>--with-included-apr</code>
-      option.  On some platforms, you may have to install the
+      option. On some platforms, you may have to install the
       corresponding <code>-dev</code> packages to allow httpd to build
       against your installed copy of APR and APR-Util.</dd>
 
-      <dt>Perl-Compatible Regular Expressions Library (PCRE)</dt>
-      <dd>This library is required but no longer bundled with httpd.
-      Download the source code from <a href="https://www.pcre.org/">https://www.pcre.org</a>,
-      or install a Port or Package.  If your build system can't find
-      the pcre-config script installed by the PCRE build, point to it
-      using the <code>--with-pcre</code> parameter.  On some platforms,
+      <dt>Perl-Compatible Regular Expressions Library (PCRE2)</dt>
+      <dd>This library is required but not bundled with httpd.
+      Download the source code from <a href="https://github.com/PCRE2Project/pcre2">https://github.com/PCRE2Project/pcre2</a>
+      or install it from your system's package manager. If your build system can't find
+      the <code>pcre2-config</code> script installed by the PCRE2 build,
+      point to it using the <code>--with-pcre</code> parameter. On some platforms,
       you may have to install the corresponding <code>-dev</code>
-      package to allow httpd to build against your installed copy
-      of PCRE.</dd>
+      package (e.g. <code>libpcre2-dev</code> or <code>pcre2-devel</code>)
+      to allow httpd to build against your installed copy of PCRE2.</dd>
 
       <dt>Disk Space</dt>
       <dd>Make sure you have at least 200 MB of temporary free disk
@@ -210,13 +163,11 @@ $ cd httpd-NN
       basic build tools such as <code>make</code>.</dd>
 
       <dt>Accurate time keeping</dt>
-      <dd>Elements of the HTTP protocol are expressed as the time of
-      day. So, it's time to investigate setting some time
-      synchronization facility on your system. Most modern Linux
-      distributions provide <code>systemd-timesyncd</code> or
-      <code>chrony</code> for this purpose.  See the <a href="https://www.ntp.org">NTP
-      homepage</a> for more details about NTP software and public
-      time servers.</dd>
+      <dd>HTTP protocol headers use timestamps, so your system clock
+      must be accurate. Most Linux distributions enable
+      <code>systemd-timesyncd</code> or <code>chrony</code> by
+      default. Verify that time synchronization is active on your
+      system before running a production server.</dd>
 
       <dt><a href="https://www.perl.org/">Perl 5</a>
       [OPTIONAL]</dt>
@@ -232,17 +183,14 @@ $ cd httpd-NN
 
 <section id="download"><title>Download</title>
 
-    <p>If you wish to build from source, start by downloading
-    the source tarball from the <a
+    <p>Download the source tarball from the <a
     href="https://httpd.apache.org/download.cgi">Apache HTTP Server
-    download site</a>.  The build process (described below)
-    allows you to customize your server to suit your
-    needs.</p>
+    download site</a>.</p>
 
     <p>After downloading, it is important to verify that you have a
     complete and unmodified version of the Apache HTTP Server. This
     can be accomplished by testing the downloaded tarball against the
-    PGP signature.  Details on how to do this are available on the
+    PGP signature. Details on how to do this are available on the
     <a href="https://httpd.apache.org/dev/verification.html">verification
     page</a>.</p>
 
@@ -266,11 +214,11 @@ $ tar xzf httpd-<em>NN</em>.tar.gz
 
 <section id="configure"><title>Configuring the source tree</title>
 
-    <p>The next step is to configure the Apache source tree for your
+    <p>The next step is to configure the httpd source tree for your
     particular platform and personal requirements. This is done using
     the script <program>configure</program> included in
     the root directory of the distribution. (Developers downloading
-    an unreleased version of the Apache source tree will need to have
+    an unreleased version of the httpd source tree will need to have
     <code>autoconf</code> and <code>libtool</code> installed and will
     need to run <code>buildconf</code> before proceeding with the next
     steps. This is not necessary for official releases.)</p>
@@ -281,17 +229,17 @@ $ tar xzf httpd-<em>NN</em>.tar.gz
     and command line options.</p>
 
     <p>The most important option is the location <code>--prefix</code>
-    where Apache is to be installed later, because Apache has to be
-    configured for this location to work correctly.  More fine-tuned
+    where httpd is to be installed later, because httpd has to be
+    configured for this location to work correctly. More fine-tuned
     control of the location of files is possible with additional <a
     href="programs/configure.html#installationdirectories">configure
     options</a>.</p>
 
     <p>Also at this point, you can specify which <a
     href="programs/configure.html#optionalfeatures">features</a> you
-    want included in Apache by enabling and disabling <a
-    href="mod/">modules</a>.  Apache comes with a wide range of modules
-    included by default.  They will be compiled as
+    want included in httpd by enabling and disabling <a
+    href="mod/">modules</a>. httpd comes with a wide range of modules
+    included by default. They will be compiled as
     <a href="dso.html">shared objects (DSOs)</a> which can be loaded
     or unloaded at runtime.
     You can also choose to compile modules statically by using the option
@@ -301,21 +249,21 @@ $ tar xzf httpd-<em>NN</em>.tar.gz
     <code>--enable-<var>module</var></code> option, where
     <var>module</var> is the name of the module with the
     <code>mod_</code> string removed and with any underscore converted
-    to a dash.  Similarly, you can disable modules with the
-    <code>--disable-<var>module</var></code> option.  Be careful when
+    to a dash. Similarly, you can disable modules with the
+    <code>--disable-<var>module</var></code> option. Be careful when
     using these options, since <program>configure</program> cannot warn you
     if the module you specify does not exist; it will ignore the option.</p>
 
     <p>In addition, it is sometimes necessary to provide the
     <program>configure</program> script with extra information about the
-    location of your compiler, libraries, or header files.  This is
+    location of your compiler, libraries, or header files. This is
     done by passing either environment variables or command line
-    options to <program>configure</program>.  For more information, see the
+    options to <program>configure</program>. For more information, see the
     <program>configure</program> manual page. Or invoke
     <program>configure</program> using the <code>--help</code> option.</p>
 
     <p>For a short impression of what possibilities you have, here
-    is a typical example which compiles Apache for the installation
+    is a typical example which compiles httpd for the installation
     tree <code>/sw/pkg/apache</code> with a particular compiler and flags
     plus the two additional modules <module>mod_ldap</module> and
     <module>mod_lua</module>:</p>
@@ -339,10 +287,12 @@ $ CC="pgcc" CFLAGS="-O2" \
 
 <section id="compile"><title>Build</title>
 
-    <p>Now you can build the various parts which form the Apache
+    <p>Now you can build the various parts which form the httpd
     package by running:</p>
 
-<example>$ make</example>
+<example>
+<highlight language="sh">$ make</highlight>
+</example>
 
     <p>Please be patient here, since a base configuration takes
     several minutes to compile and the time will vary widely
@@ -356,7 +306,9 @@ $ CC="pgcc" CFLAGS="-O2" \
     installation <em>PREFIX</em> (see <code>--prefix</code> option
     above) by running:</p>
 
-<example>$ make install</example>
+<example>
+<highlight language="sh">$ make install</highlight>
+</example>
 
     <p>This step will typically require root privileges, since
     <em>PREFIX</em> is usually a directory with restricted write
@@ -368,13 +320,15 @@ $ CC="pgcc" CFLAGS="-O2" \
 
 <section id="customize"><title>Customize</title>
 
-    <p>Next, you can customize your Apache HTTP server by editing
+    <p>Next, you can customize your Apache HTTP Server by editing
     the <a href="configuring.html">configuration files</a> under
     <code><em>PREFIX</em>/conf/</code>.</p>
 
-<example>$ vi <em>PREFIX</em>/conf/httpd.conf</example>
+<example>
+<highlight language="sh">$ vi <em>PREFIX</em>/conf/httpd.conf</highlight>
+</example>
 
-    <p>Have a look at the Apache manual under
+    <p>Have a look at the httpd manual under
     <code><em>PREFIX</em>/docs/manual/</code> or consult <a
     href="https://httpd.apache.org/docs/&httpd.docs;/"
     >https://httpd.apache.org/docs/&httpd.docs;/</a> for the most recent
@@ -384,10 +338,11 @@ $ CC="pgcc" CFLAGS="-O2" \
 
 <section id="test"><title>Test</title>
 
-    <p>Now you can <a href="invoking.html">start</a> your Apache
-    HTTP server by immediately running:</p>
+    <p>Now you can <a href="invoking.html">start</a> your Apache HTTP Server by immediately running:</p>
 
-<example>$ <em>PREFIX</em>/bin/apachectl -k start</example>
+<example>
+<highlight language="sh">$ <em>PREFIX</em>/bin/apachectl -k start</highlight>
+</example>
 
     <p>You should then be able to request your first document
     via the URL <code>http://localhost/</code>. The web page you see is located
@@ -396,26 +351,28 @@ $ CC="pgcc" CFLAGS="-O2" \
     Then <a href="stopping.html">stop</a> the server again by
     running:</p>
 
-<example>$ <em>PREFIX</em>/bin/apachectl -k stop</example>
+<example>
+<highlight language="sh">$ <em>PREFIX</em>/bin/apachectl -k stop</highlight>
+</example>
 </section>
 <section id="upgrading"><title>Upgrading</title>
 
     <p>The first step in upgrading is to read the release announcement
     and the file <code>CHANGES</code> in the source distribution to
-    find any changes that may affect your site.  When changing between
+    find any changes that may affect your site. When changing between
     major releases (for example, from 2.4 to 2.6),
     there will likely be major differences in the compile-time and
-    run-time configuration that will require manual adjustments.  All
+    run-time configuration that will require manual adjustments. All
     modules will also need to be upgraded to accommodate changes in the
     module API.</p>
 
     <p>Upgrading from one minor version to the next (for example, from
-    2.4.66 to 2.4.67) is easier.  The <code>make install</code>
+    2.4.66 to 2.4.67) is easier. The <code>make install</code>
     process will not overwrite any of your existing documents, log
-    files, or configuration files.  In addition, the developers make
+    files, or configuration files. In addition, the developers make
     every effort to avoid incompatible changes in the
     <program>configure</program> options, run-time configuration, or the
-    module API between minor versions.  In most cases you should be able to
+    module API between minor versions. In most cases you should be able to
     use an identical <program>configure</program> command line, an identical
     configuration file, and all of your modules should continue to
     work.</p>
@@ -423,9 +380,9 @@ $ CC="pgcc" CFLAGS="-O2" \
     <p>To upgrade across minor versions, start by finding the file
     <code>config.nice</code> in the <code>build</code> directory of
     your installed server or at the root of the source tree for your
-    old install.  This will contain the exact
+    old install. This will contain the exact
     <program>configure</program> command line that you used to
-    configure the source tree.  Then to upgrade from one version to
+    configure the source tree. Then to upgrade from one version to
     the next, you need only copy the <code>config.nice</code> file to
     the source tree of the new version, edit it to make any desired
     changes, and then run:</p>
@@ -441,7 +398,7 @@ $ <em>PREFIX</em>/bin/apachectl -k start
     </example>
 
     <note type="warning">You should always test any new version in your
-    environment before putting it into production.  For example, you
+    environment before putting it into production. For example, you
     can install and run the new version along side the old one by
     using a different <code>--prefix</code> and a
     different port (by adjusting the <directive
@@ -453,31 +410,59 @@ $ <em>PREFIX</em>/bin/apachectl -k start
     options:</p>
 
     <example>
-    $ ./config.nice --prefix=/home/test/apache --with-port=90
+    <highlight language="sh">
+$ ./config.nice --prefix=/home/test/apache --with-port=90
+    </highlight>
     </example>
 </section>
 <section id="thirdp"><title>Third-party packages</title>
 
-    <p>A large number of third parties provide their own packaged
-    distributions of the Apache HTTP Server for installation on
-    particular platforms. This includes the various Linux distributions,
-    various 
-    <a href="https://httpd.apache.org/docs/trunk/en/platform/windows.html">Windows</a>
-    packages, macOS, and many more.</p>
+    <p>Many operating systems ship pre-built Apache httpd packages.
+    These are convenient for getting started quickly, but they often
+    differ from a source build in configuration file layout,
+    compiled-in modules, and default paths. The documentation on this
+    site describes the server as built from source; if you are using a
+    platform package, consult your distribution's documentation for
+    platform-specific details.</p>
+
+    <p>Some common examples:</p>
+
+    <dl>
+    <dt>Fedora / CentOS / Red Hat Enterprise Linux</dt>
+    <dd>
+    <highlight language="sh">
+sudo dnf install httpd
+sudo systemctl start httpd
+    </highlight>
+    <p>See <a
+    href="https://docs.fedoraproject.org/en-US/quick-docs/getting-started-with-apache-http-server/index.html">the
+    Fedora project's documentation</a> for configuration layout and
+    platform-specific notes.</p>
+    </dd>
+
+    <dt>Ubuntu / Debian</dt>
+    <dd>
+<highlight language="sh">
+sudo apt install apache2
+sudo systemctl start apache2
+</highlight>
+    <p>See <a href="https://ubuntu.com/tutorials/install-and-configure-apache">Ubuntu's
+    documentation</a> for configuration layout and
+    platform-specific notes.</p>
+    </dd>
+    </dl>
 
     <p>Our software license not only permits, but encourages, this kind
     of redistribution. However, it does result in a situation where the
     configuration layout and defaults on your installation of the server
-    may differ from what is stated in the documentation. While
-    unfortunate, this situation is not likely to change any time
-    soon.</p>
-
-    <p>A <a
+    may differ from what is stated in the documentation. A <a
     href="https://cwiki.apache.org/confluence/display/httpd/DistrosDefaultLayout">description
-    of these third-party distributions</a> is in the HTTP
-    Server wiki. However, you will need to familiarize
-    yourself with your particular platform's package management and
-    installation procedures.</p>
+    of these third-party distributions</a> is available in the HTTP
+    Server wiki.</p>
+
+    <note type="warning">Don't see your favorite platform mentioned
+    here? <a href="https://httpd.apache.org/docs-project/">Come help us
+    improve this doc.</a></note>
 
 </section>
 </manualpage>
index 2b554f2ead6257ed1a0e8504fba7b4c6462a42e1..74fb132a601ced26067c35857fe71cfc68725197 100644 (file)
@@ -23,7 +23,7 @@
 <manualpage metafile="win_compiling.xml.meta">
   <parentdocument href="./">Platform Specific Notes</parentdocument>
 
-  <title>Compiling Apache for Microsoft Windows</title>
+  <title>Compiling Apache httpd for Microsoft Windows</title>
 
   <summary>