title: Apache 2.4.x manual build and install on RHEL 6.4
body: <p>OS: Red Hat Enterprise Linux Server release 6.4 (Santiago)</p>
  
  <p>The current yum installation of apache on this OS is 2.2.15. I require the latest 2.4.x branch so have gone about installing it manually. I have noted the complete procedure I undertook, including unpacking <code>apr</code> and <code>apr-util</code> sources into the apache sources beforehand, but I guess the following is the most important part of the procedure:</p>
  
  <pre><code>GATHER LATEST APACHE AND APR
  $ cd ~
  $ mkdir apache-src
  $ cd apache-src
  $ wget http://apache.insync.za.net//httpd/httpd-2.4.6.tar.gz
  $ tar xvf httpd-2.4.6.tar.gz
  $ cd httpd-2.4.6
  $ cd srclib
  $ wget http://apache.insync.za.net//apr/apr-1.5.0.tar.gz
  $ tar -xvzf apr-1.5.0.tar.gz
  $ mv apr-1.5.0 apr
  $ rm -f apr-1.5.0.tar.gz
  $ wget http://apache.insync.za.net//apr/apr-util-1.5.3.tar.gz
  $ tar -xvzf apr-util-1.5.3.tar.gz 
  $ mv apr-util-1.5.3 apr-util
  
  INSTALL DEVEL PACKAGES
  yum update --skip-broken (There is a dependency issue with the latest Chrome needing the latest libstdc++, which is not available for RHEL and CentOS)
  yum install apr-devel
  yum install apr-util-devel
  yum install pcre-devel
  
  INSTALL
  $ cd ~/apache-src/httpd-2.4.6
  $ ./configure --prefix=/etc/httpd --enable-mods-shared="all" --enable-rewrite --with-included-apr
  $ make
  $ make install
  </code></pre>
  
  <blockquote>
    <p>NOTE: At the time of running the above, <code>/etc/http</code> is empty.</p>
  </blockquote>
  
  <p>This seems to have gone fine until I attempt to start the httpd service. It seems that every module include in <code>httpd.conf</code> fails with a message similar to this one for <code>mod_rewrite</code>:</p>
  
  <pre><code>httpd: Syntax error on line 148 of /etc/httpd/conf/httpd.conf: Cannot load /etc/httpd/modules/mod_rewrite.so into server: /etc/httpd/modules/mod_rewrite.so: undefined symbol: ap_global_mutex_create
  </code></pre>
  
  <p>I've gone right through the list of enabled modules in <code>httpd.conf</code> and commented them out one at a time. All trigger an error as above, however the "undefined symbol: value" is often different (so not always <code>ap_global_mutex_create</code>).</p>
  
  <p>Am I missing a step? Although I find a some portion of that error on Google, most of the solutions centre around the <code>.so</code> files not being reachable. That doesn't seem to be an issue here and the modules are present in <code>/etc/http/modules</code>.</p>
  
  <blockquote>
    <p>NOTE: At the time of running the above, <code>/etc/http</code> is empty.</p>
  </blockquote>