title: Problem with server side includes in Apache 2.4
body: <p>Upgraded Apache from 2.2 to 2.4 and now my server side includes don't work. Index pages are blank, view source shows server side includes.</p>
  
  <p>I have followed apache's instructions on upgrading from 2.2 to 2.4 which includes changing any Options to include a + or -. I've enabled LogLevel debug and nothing of interest to the issue is logged. Include and cgid modules are being loaded. Config check shows no issues. There are no .htaccess files to worry about. Each virtual host site I have a config all either shows a blank page or wants me to download the script the ssi is pointed to. I'm running all of this on a docker environment.</p>
  
  <p>The site is running a cgi-bin and all scripting is done in perl. This server is running several sites, one vhost is attached.</p>
  
  <p>Here is the loaded modules.</p>
  
  <pre><code>apachectl -M | sort
   access_compat_module (shared)
   actions_module (shared)
   alias_module (shared)
   apreq_module (shared)
   auth_basic_module (shared)
   authn_core_module (shared)
   authn_file_module (shared)
   authz_core_module (shared)
   authz_host_module (shared)
   authz_svn_module (shared)
   authz_user_module (shared)
   cgid_module (shared)
   core_module (static)
   dav_module (shared)
   dav_svn_module (shared)
   deflate_module (shared)
   dir_module (shared)
   env_module (shared)
   filter_module (shared)
   headers_module (shared)
   http_module (static)
   include_module (shared)
   log_config_module (static)
   logio_module (static)
   mime_module (shared)
   mpm_event_module (shared)
   negotiation_module (shared)
   perl_module (shared)
   proxy_http_module (shared)
   proxy_module (shared)
   reqtimeout_module (shared)
   rewrite_module (shared)
   setenvif_module (shared)
   so_module (static)
   socache_shmcb_module (shared)
   ssl_module (shared)
   status_module (shared)
   unixd_module (static)
   version_module (static)
   watchdog_module (static)
  Loaded Modules:
  </code></pre>
  
  <p>apache2ctl -t
  Syntax OK</p>
  
  <p>apache2.conf Just what is enabled.</p>
  
  <pre><code>ServerRoot "/etc/apache2"
  PidFile ${APACHE_PID_FILE}
  Timeout 60
  KeepAlive On
  MaxKeepAliveRequests 100
  KeepAliveTimeout 5
  &lt;IfModule mpm_worker_module&gt;
      StartServers         60
      ServerLimit          60
      ThreadLimit          64
      MaxSpareThreads      500
      ThreadsPerChild      64
      MaxConnectionsPerChild   0
      MaxClients           3840
  &lt;/IfModule&gt;
  User ${APACHE_RUN_USER}
  Group ${APACHE_RUN_GROUP}
  AccessFileName .htaccess
  &lt;Files ~ "^\.ht"&gt;
    Require all denied
  &lt;/Files&gt;
  DefaultType none
  HostnameLookups Off
  ErrorLog /var/log/apache2/error.log
  LogLevel debug
  IncludeOptional /etc/apache2/mods-enabled/*.load
  IncludeOptional /etc/apache2/mods-enabled/*.conf
  Include /etc/apache2/ports.conf
  LogFormat "%v:%p %h %l %u %t \"%r\" %&gt;s %b \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
  LogFormat "%h %l %u %t \"%r\" %&gt;s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
  LogFormat "%h %l %u %t \"%r\" %&gt;s %b" common
  LogFormat "%{Referer}i -&gt; %U" referer
  LogFormat "%{User-agent}i" agent
  CustomLog /var/log/apache2/other_vhosts_access.log vhost_combined
  IncludeOptional /etc/apache2/conf-enabled/*.conf
  IncludeOptional /etc/apache2/sites-enabled/*.conf
  </code></pre>
  
  <p>mods-enabled directory</p>
  
  <pre><code>lrwxrwxrwx 1 root root 36 Jun 11 23:56 access_compat.load -&gt; ../mods-available/access_compat.load
  lrwxrwxrwx 1 root root 30 Jun 16 23:59 actions.conf -&gt; ../mods-available/actions.conf
  lrwxrwxrwx 1 root root 30 Jun 16 23:59 actions.load -&gt; ../mods-available/actions.load
  lrwxrwxrwx 1 root root 28 Jun 11 23:56 alias.conf -&gt; ../mods-available/alias.conf
  lrwxrwxrwx 1 root root 28 Jun 11 23:56 alias.load -&gt; ../mods-available/alias.load
  lrwxrwxrwx 1 root root 29 Jun 11 23:56 apreq2.load -&gt; ../mods-available/apreq2.load
  lrwxrwxrwx 1 root root 33 Jun 11 23:56 auth_basic.load -&gt; ../mods-available/auth_basic.load
  lrwxrwxrwx 1 root root 33 Jun 11 23:56 authn_core.load -&gt; ../mods-available/authn_core.load
  lrwxrwxrwx 1 root root 33 Jun 11 23:56 authn_file.load -&gt; ../mods-available/authn_file.load
  lrwxrwxrwx 1 root root 33 Jun 11 23:56 authz_core.load -&gt; ../mods-available/authz_core.load
  lrwxrwxrwx 1 root root 33 Jun 11 23:56 authz_host.load -&gt; ../mods-available/authz_host.load
  lrwxrwxrwx 1 root root 32 Jun 11 23:56 authz_svn.load -&gt; ../mods-available/authz_svn.load
  lrwxrwxrwx 1 root root 33 Jun 11 23:56 authz_user.load -&gt; ../mods-available/authz_user.load
  lrwxrwxrwx 1 root root 27 Jun 16 23:59 cgid.conf -&gt; ../mods-available/cgid.conf
  lrwxrwxrwx 1 root root 27 Jun 16 23:59 cgid.load -&gt; ../mods-available/cgid.load
  lrwxrwxrwx 1 root root 26 Jun 11 23:56 dav.load -&gt; ../mods-available/dav.load
  lrwxrwxrwx 1 root root 30 Jun 11 23:56 dav_svn.conf -&gt; ../mods-available/dav_svn.conf
  lrwxrwxrwx 1 root root 30 Jun 11 23:56 dav_svn.load -&gt; ../mods-available/dav_svn.load
  lrwxrwxrwx 1 root root 30 Jun 11 23:56 deflate.conf -&gt; ../mods-available/deflate.conf
  lrwxrwxrwx 1 root root 30 Jun 11 23:56 deflate.load -&gt; ../mods-available/deflate.load
  lrwxrwxrwx 1 root root 26 Jun 11 23:56 dir.conf -&gt; ../mods-available/dir.conf
  lrwxrwxrwx 1 root root 26 Jun 11 23:56 dir.load -&gt; ../mods-available/dir.load
  lrwxrwxrwx 1 root root 26 Jun 11 23:56 env.load -&gt; ../mods-available/env.load
  lrwxrwxrwx 1 root root 29 Jun 11 23:56 filter.load -&gt; ../mods-available/filter.load
  lrwxrwxrwx 1 root root 30 Jun 16 23:59 headers.load -&gt; ../mods-available/headers.load
  lrwxrwxrwx 1 root root 30 Jun 16 23:59 include.load -&gt; ../mods-available/include.load
  lrwxrwxrwx 1 root root 27 Jun 11 23:56 mime.conf -&gt; ../mods-available/mime.conf
  lrwxrwxrwx 1 root root 27 Jun 11 23:56 mime.load -&gt; ../mods-available/mime.load
  lrwxrwxrwx 1 root root 32 Jun 11 23:56 mpm_event.conf -&gt; ../mods-available/mpm_event.conf
  lrwxrwxrwx 1 root root 32 Jun 11 23:56 mpm_event.load -&gt; ../mods-available/mpm_event.load
  lrwxrwxrwx 1 root root 34 Jun 11 23:56 negotiation.conf -&gt; ../mods-available/negotiation.conf
  lrwxrwxrwx 1 root root 34 Jun 11 23:56 negotiation.load -&gt; ../mods-available/negotiation.load
  lrwxrwxrwx 1 root root 27 Jun 23 22:04 perl.load -&gt; ../mods-available/perl.load
  lrwxrwxrwx 1 root root 28 Jun 16 23:59 proxy.conf -&gt; ../mods-available/proxy.conf
  lrwxrwxrwx 1 root root 28 Jun 16 23:59 proxy.load -&gt; ../mods-available/proxy.load
  lrwxrwxrwx 1 root root 33 Jun 16 23:59 proxy_http.load -&gt; ../mods-available/proxy_http.load
  lrwxrwxrwx 1 root root 33 Jun 11 23:56 reqtimeout.conf -&gt; ../mods-available/reqtimeout.conf
  lrwxrwxrwx 1 root root 33 Jun 11 23:56 reqtimeout.load -&gt; ../mods-available/reqtimeout.load
  lrwxrwxrwx 1 root root 30 Jun 16 23:59 rewrite.load -&gt; ../mods-available/rewrite.load
  lrwxrwxrwx 1 root root 31 Jun 11 23:56 setenvif.conf -&gt; ../mods-available/setenvif.conf
  lrwxrwxrwx 1 root root 31 Jun 11 23:56 setenvif.load -&gt; ../mods-available/setenvif.load
  lrwxrwxrwx 1 root root 36 Jun 16 23:59 socache_shmcb.load -&gt; ../mods-available/socache_shmcb.load
  lrwxrwxrwx 1 root root 26 Jun 16 23:59 ssl.conf -&gt; ../mods-available/ssl.conf
  lrwxrwxrwx 1 root root 26 Jun 16 23:59 ssl.load -&gt; ../mods-available/ssl.load
  lrwxrwxrwx 1 root root 29 Jun 11 23:56 status.conf -&gt; ../mods-available/status.conf
  lrwxrwxrwx 1 root root 29 Jun 11 23:56 status.load -&gt; ../mods-available/status.load
  </code></pre>
  
  <p>Here is one of the sites vhost files for my login services.</p>
  
  <pre><code>&lt;VirtualHost *:8080&gt;
          ServerAdmin webmaster@localhost
          DocumentRoot /export/static/sec
          ServerName localhost.secure.domain.com
          ErrorLog "|/usr/bin/rotatelogs /var/log/apache2/sec_error_log 86400"
          CustomLog "|/usr/bin/rotatelogs /var/log/apache2/sec_access_log 86400" combined
          ErrorDocument 404 /cgi-bin/404.pl
          &lt;IfModule mod_rewrite.c&gt;
                  RewriteEngine On
                  LogLevel debug
                  RewriteMap server rnd:/etc/apache2/map.txt
                  RewriteRule /login.html /cgi-bin/login.pl
                  RewriteRule /user.html /cgi-bin/login.pl
                  RewriteRule /logout.html /cgi-bin/login.pl
                  RewriteRule /upgrade.html /cgi-bin/openid.pl
                  RewriteRule /signup.html /cgi-bin/signup.pl
                  RewriteRule /process.html /cgi-bin/process.pl
                  RewriteRule /auth-verify/(.*)$ /cgi-bin/auth-verify.pl/$1
                  RewriteRule /auth-lost/(.*)$ /cgi-bin/auth-lost.pl/$1
                  RewriteRule /auth-prevent/(.*)$ /cgi-bin/auth-prevent.pl/$1
                  RewriteRule /auth-change/(.*)$ /cgi-bin/auth-change.pl/$1
                  RewriteRule ^/cgi-bin/(.*)$ proxy:http://server4:8080/cgi-bin/$1
                  RewriteRule /api/premium proxy:http://server4:8080%{REQUEST_URI}
          &lt;/IfModule&gt;
          &lt;Directory "/export/static/sec"&gt;
                  AllowOverride None
                  Options +Includes +ExecCGI +MultiViews +SymLinksIfOwnerMatch
                  Require all granted
                  AddHandler cgi-script .cgi .pl
          &lt;/Directory&gt;
  
  &lt;/VirtualHost&gt;
  </code></pre>
  
  <p>Here is the httpd.conf</p>
  
  <pre><code>Alias /shared/ "/export/static/common/shared/"
  &lt;Directory /export/static&gt;
    Options +Indexes +Includes +ExecCGI +FollowSymLinks -MultiViews
    AllowOverride None
    Require all granted
    AddType text/html .shtml
    AddOutputFilter INCLUDES .xml
    AddOutputFilter INCLUDES .shtml
    AddOutputFilter INCLUDES .html
    AddOutputFilter INCLUDES .htm
  &lt;/Directory&gt;
  </code></pre>
  
  <p>I'm sure I messed up the config somewhere trying to upgrade settings. Maybe someone can point out what I am doing wrong here.</p>