title: How to install mod_ssl for Apache httpd?
body: <p>Ok</p>
  
  <p>So I installed Apache <code>httpd</code> a while ago and have recently come back to it to try setup SSL and get it serving several different tomcat servers.</p>
  
  <p>At the moment I have two completely separate Tomcat instances serving up to slightly different versions (one for dev and one for demo say) my web app to two different ports:</p>
  
  <ul>
  <li><code>example.com:8081</code></li>
  <li><code>example.com:8082</code></li>
  </ul>
  
  <p>I've successfully (back in Jan) used <code>mod_jk</code> to get <code>httpd</code> to serve those same Tomcat instances to <code>http://www.example.com:8090/dev</code> and <code>http://www.example.com:8090/demo</code>  (8090 cos I've got another app running on 8080 via Jetty at this stage) using the following code in <code>httpd.conf</code>:</p>
  
  <pre><code>LoadModule jk_module modules/mod_jk.so
  JkWorkersFile conf/workers.properties
  JkLogFile logs/mod_jk.log
  JkLogLevel debug
  
  &lt;VirtualHost *:8090&gt;
      JkMount /devd* tomcatDev
      JkMount /demo* tomcatDemo
  &lt;/VirtualHost&gt;
  </code></pre>
  
  <p>What I'm not trying to do is enable SSL.</p>
  
  <p>I've added the following to <code>httpd.conf</code>:</p>
  
  <pre><code>Listen 443
  &lt;VirtualHost _default_:443&gt;
      JkMount /dev* tomcatDev
      JkMount /demo* tomcatDemo
      SSLEngine on
      SSLCertificateFile "/opt/httpd/conf/localhost.crt"
      SSLCertificateKeyFile "/opt/httpd/conf/keystore.key"
  &lt;/VirtualHost&gt;
  </code></pre>
  
  <p>But when I try to restart Apache with <code>apachectl restart</code> (yes after shutting down that other app I mentioned so it doesn't toy with https connections) I continuously get the error:</p>
  
  <blockquote>
    <p>Invalid command 'SSLEngine', perhaps misspelled or defined by a module not included in the server configuration. httpd not running, trying to start</p>
  </blockquote>
  
  <p>I've looked in the <code>httpd/modules</code> dir and indeed there is no <code>mod_ssl</code>, only <code>mod_jk.so</code> and <code>httpd.exp</code>.</p>
  
  <p>I've tried using yum to install <code>mod_ssl</code>, it says its already installed. Indeed I can locate <code>mod_ssl.so</code> in <code>/usr/lib/httpd/modules</code> but this is NOT the path to where I've installed <code>httpd</code> which is <code>/opt/httpd</code> and in fact <code>/usr/lib/httpd</code> contains nothing but the <code>modules</code> dir.</p>
  
  <p>Can anyone tell me how to install <code>mod_ssl</code> properly for my installed location of <code>httpd</code> so I can get past this error?</p>