How can I get WordPress to function under a Debian LAMP stack?

Jonathan Hayward asked:

I am working on publishing a WordPress blog. I say “working on publishing,” because when I came to a point of saying, “This is great; I want it to showcase my website”, WordPress seemed to stop working.

The WordPress version is 4.4.0; Apache is 2.4.10 compiled for Debian, and uname -a gives “Linux localhost 4.1.5-x86_64-linode61 #7 SMP Mon Aug 24 13:46:31 EDT 2015 x86_64 GNU/Linux”

There are a couple of issues that have been involved. One suggestion in online forums is to rename or delete the installation’s .htaccess and plugins directory; I did that but nothing got better. There have been three basic behaviors:

  1. Display the intended content without applying any non-default styling. Part of this may be an HTTPS vs. HTTP delivery problem, which is chicken and egg: unless I manually tamper with the database (I did eventually and it didn’t help), I need to access stuff under wp-content, but I’m cut off from that functionality right now because the wp-content that should address my needs is closed off completely. (Or to put this catch-22 in other words, the functionality needed to address the problem of an HTTPS page asking to load assets via HTTP depends on having solved whatever problem is ultimately responsible for HTTPS pages requesting HTTP assets.)
  2. Keep on redirecting to the original page 100+ times until the browser gives up.
  3. Not let Apache to start, and continue this behavior when I comment out the new.

The site-related Apache logging, in wordpress.error.log, is:

[Thu Feb 04 16:40:30.525930 2016] [ssl:emerg] [pid 7029] AH01895: Unable to configure verify locations for client authentication
[Thu Feb 04 16:41:51.249704 2016] [ssl:emerg] [pid 25328] AH01895: Unable to configure verify locations for client authentication
[Thu Feb 04 16:43:30.627877 2016] [ssl:emerg] [pid 25382] AH01895: Unable to configure verify locations for client authentication
[Thu Feb 04 16:49:10.735585 2016] [ssl:emerg] [pid 25531] AH01895: Unable to configure verify locations for client authentication
[Thu Feb 04 16:52:44.813763 2016] [ssl:emerg] [pid 28528] AH01895: Unable to configure verify locations for client authentication
[Thu Feb 04 16:52:57.388624 2016] [ssl:emerg] [pid 28533] AH01895: Unable to configure verify locations for client authentication
[Thu Feb 04 16:55:42.620868 2016] [ssl:emerg] [pid 28613] AH01895: Unable to configure verify locations for client authentication
[Thu Feb 04 16:57:12.032443 2016] [ssl:emerg] [pid 28651] AH01895: Unable to configure verify locations for client authentication
[Thu Feb 04 16:58:08.533882 2016] [ssl:emerg] [pid 28673] AH01895: Unable to configure verify locations for client authentication
[Thu Feb 04 17:03:55.002202 2016] [ssl:emerg] [pid 28803] AH01895: Unable to configure verify locations for client authentication

The sitewide logging has:

[Thu Feb 04 16:52:57.388709 2016] [ssl:emerg] [pid 28533] AH02311: Fatal error initialising mod_ssl, exiting. See /var/log/apache2/wordpress.error.log for more information
AH00016: Configuration Failed
[Thu Feb 04 16:55:42.620960 2016] [ssl:emerg] [pid 28613] AH02311: Fatal error initialising mod_ssl, exiting. See /var/log/apache2/wordpress.error.log for more information
AH00016: Configuration Failed
[Thu Feb 04 16:57:12.032531 2016] [ssl:emerg] [pid 28651] AH02311: Fatal error initialising mod_ssl, exiting. See /var/log/apache2/wordpress.error.log for more information
AH00016: Configuration Failed
[Thu Feb 04 16:58:08.533951 2016] [ssl:emerg] [pid 28673] AH02311: Fatal error initialising mod_ssl, exiting. See /var/log/apache2/wordpress.error.log for more information
AH00016: Configuration Failed
[Thu Feb 04 17:03:55.002286 2016] [ssl:emerg] [pid 28803] AH02311: Fatal error initialising mod_ssl, exiting. See /var/log/apache2/wordpress.error.log for more information
AH00016: Configuration Failed

And I don’t know if this any help at all, but the VirtualHost SSL declaration is below, and commenting it out seems not to change behavior as far as I can tell:

    <VirtualHost *:443>
        ServerName cjshayward.com
        ServerAlias wordpress.cjshayward.com
    DirectoryIndex index.cgi index.html
        DocumentRoot /home/cjsh/wordpress
        ErrorLog /var/log/apache2/cjshayward_error.log
        CustomLog /var/log/apache2/cjshayward_access.log combined
         SSLEngine On
         SSLCertificateFile /etc/apache2/ssl/cjshayward2.crt
         SSLCertificateKeyFile /etc/apache2/ssl/cjshayward2.key
     SSLCertificateChainFile /etc/apache2/ssl/sub.class1.server.ca.pem
     SSLCaCertificateFile /etc/apache2/ssl/ca.crt
        ServerAdmin cjsh@cjsh.name
    ErrorDocument 404 /missing.html
    ErrorDocument 500 /servererror.html
        <Directory />
            Options FollowSymLinks
            AllowOverride None
        </Directory>
        <Directory /home/cjsh/mirror/>
            Options ExecCGI Indexes FollowSymLinks MultiViews
            AllowOverride None
            Order allow,deny
            allow from all
        </Directory>
    <Directory "/home/cjsh/wordpress">
        AllowOverride All
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>
    <Directory "/home/jonathan/mirror">
        AllowOverride All
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>
        ErrorLog ${APACHE_LOG_DIR}/author.cjshayward.error.log
        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn
        CustomLog ${APACHE_LOG_DIR}/access.log combined
        Alias /doc/ "/usr/share/doc/"
        <Directory "/usr/share/doc/">
            Options Indexes MultiViews FollowSymLinks
            AllowOverride None
            Order deny,allow
            Deny from all
            Allow from 127.0.0.0/255.0.0.0 ::1/128
        </Directory>
        #Alias /media/ /home/cjsh/unixytalk/media/ 
        #ProxyPass /media/ !
        #ProxyPass / http://wordpress.cjshayward.com/
        #ProxyPassReverse / http://wordpress.cjshayward.com/
    RewriteEngine On
    RewriteRule ^(/classicorthodoxbiblehardcover/?)$ http://www.amazon.com/gp/ product/0692525548 [R=301,L]
    RewriteRule ^(/two-watches/?)$ /christmas-gift-guide-2015 [R=301,L]
    </VirtualHost>

What kind of diagnostics can I give?

Thanks,

My answer:


This is a problem:

     SSLCaCertificateFile /etc/apache2/ssl/ca.crt

This directive is used (along with others) to set up client certificate authentication. It should not be present at all if you do not intend to use client certificates.


View the full question and answer on Server Fault.

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.