I have a few sites running with a StartSSL free certificate (CJSHayward.com, JobhuntTracker.com), and Firefox rejects StartSSL and displays an error page saying that my server is not properly configured (IIRC) because of the certificate chain. I asked for help and confirmed that my VirtualHost (available on request) was for the certificate chain and I had the intermediate certificate installed correctly. The sites are displayed without errors that I am aware of in Chrome, Safari, Edge, or Opera.
After some searching, Let's Encrypt! looked like an attractive offering, and before too long I had (AFAICT) a private key and a certificate for each domain under /etc/apache2/sites-enabled, minus of course any domains that are no longer mine. I thought I'd do a trial run and make an HTTPS connection to a site now available only under HTTP: JSH.name. I moved the "Let's Encrypt!" certificate and private key to my SSL directory and added:
<VirtualHost *:443> ServerAdmin [email protected] DocumentRoot /home/jonathan/stornge SSLEngine On SSLCertificateFile /etc/apache2/ssl/0000_csr-letsencrypt.pem SSLCertificateKeyFile /etc/apache2/ssl/0000_key-letsencrypt.pem ServerName jsh.name ServerAlias www.jsh.name LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined CustomLog /home/jonathan/logs/stornge.com combined <Directory /home/jonathan/stornge/> Options ExecCGI Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> </VirtualHost> Then I rebooted to see my work, and every HTTP or HTTPS request I made simply hung. This included two domains on HTTPS with my StartSSL certificate, and the domain that should have been newly available on HTTPS accessed via both HTTP and HTTPS. I commented out the VirtualHost and bounced Apache, and all of the old functionality was back again in working order.
Have I used Let's "Encrypt!" correctly? I'm slightly suspicious as existing SSL configuration has private keys with an extension of .key, a certificate extension of .crt, and a certificate chain file with extension .pem.
I tried again after checking the SSL directory and finding that 0000_csr.letsencrypt.pem was mode 644; I changed all files in that directory to mode 600. When I tried a moment ago, I got a repeat of the old behavior: the website hangs on all requests and, in addition, an apachectl restart gets a statement (I forget the exact wording) that httpd is not running and the computer is trying to start it.
How can I get working free certitificates for "Let's Encrypt" or some other tool that hasn't alienated Firefox?
An apachectl -v gives:
Server version: Apache/2.4.10 (Debian) Server built: Nov 28 2015 14:05:48 A uname -a gives:
Linux www 4.4.0-x86_64-linode63 #2 SMP Tue Jan 19 12:43:53 EST 2016 x86_64 GNU/Linux --UPDATE--
Contents deleted, 0000_key-letsencrypt.pem is bounded by:
-----BEGIN PRIVATE KEY----- -----END PRIVATE KEY-----
A find on the directory heirarchy yields:
root@www:/etc/letsencrypt# find `pwd` -print /etc/letsencrypt /etc/letsencrypt/keys /etc/letsencrypt/keys/0000_key-letsencrypt.pem /etc/letsencrypt/accounts /etc/letsencrypt/accounts/acme-v01.api.letsencrypt.org /etc/letsencrypt/accounts/acme-v01.api.letsencrypt.org/directory /etc/letsencrypt/accounts/acme-v01.api.letsencrypt.org/directory/1ef8dc9b994b9b68a4e9c7cedd003be3 /etc/letsencrypt/accounts/acme-v01.api.letsencrypt.org/directory/1ef8dc9b994b9b68a4e9c7cedd003be3/private_key.json /etc/letsencrypt/accounts/acme-v01.api.letsencrypt.org/directory/1ef8dc9b994b9b68a4e9c7cedd003be3/meta.json /etc/letsencrypt/accounts/acme-v01.api.letsencrypt.org/directory/1ef8dc9b994b9b68a4e9c7cedd003be3/regr.json /etc/letsencrypt/renewal /etc/letsencrypt/options-ssl-apache.conf /etc/letsencrypt/csr /etc/letsencrypt/csr/0000_csr-letsencrypt.pem
The directory /home/jonathan/stornge and its contents are world readable and world executable where that would make a difference.
--UPDATE--
Adding something substantive here:
The http://OrthodoxChurchFathers.com Apache conf file has two VirtualHosts, one to serve up http://OrthodoxChurchFathers.com and one to redirect http://www.OrthodoxChurchFathers.com requests to http://OrthodoxChurchFathers.com. The .conf file housing both VirtualHosts is:
<VirtualHost *:80> ServerAdmin webmaster@localhost ServerName orthodoxchurchfathers.com #ServerAlias www.orthodoxchurchfathers.com fathers.jonathanscorner.com DocumentRoot /home/cjsh/fathers/document_root <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /home/cjsh/fathers> Options ExecCGI FollowSymLinks Indexes MultiViews AllowOverride None Order allow,deny allow from all </Directory> DirectoryIndex index.cgi index.html ErrorLog ${APACHE_LOG_DIR}/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>
</VirtualHost>
<VirtualHost *:80> ServerAdmin [email protected] ServerName www.orthodoxchurchfathers.com ServerAlias fathers.jonathanscorner.com DocumentRoot /home/cjsh/oldmirror RewriteEngine On RewriteRule ^(.*)$ http://orthodoxchurchfathers.com$1 [R=301,L] </VirtualHost></pre></code>
When I try to run it and request orthodoxchurchfathers.com alone, I get:
┌──────────────────────────────────────────────────────────────────────┐ │ We were unable to find a vhost with a ServerName or Address of │ │ orthodoxchurchfathers.com. │ │ Which virtual host would you like to choose? │ │ (note: conf files with multiple vhosts are not yet supported) │ │ ┌──────────────────────────────────────────────────────────────────┐ │ │ │1 008-stornge.conf | Multiple Names | │ │ │ │2 014-paraskeva.conf | paraskeva.jonathansco | │ │ │ │3 036-unixytalk.conf | unixtalk.jsh.name | │ │ │ │4 038-proxy.conf | Multiple Names | │ │ │ │5 027-anna.conf | Multiple Names | │ │ │ │6 044-jobhunt-tracker.creation.c | Multiple Names | │ │ │ │7 049-jsh.conf | Multiple Names | │ │ │ │8 001-steampunk.conf | | │ │ │ │9 006-blajeny.conf | Multiple Names | │ │ │ │10 032-videos.conf | Multiple Names | d│ │ │ └────↓(+)──────────────────────────────────────────────────30%─────┘ │ ├──────────────────────────────────────────────────────────────────────┤ │ │ └──────────────────────────────────────────────────────────────────────┘ The command I used was with ./letsencrypt-auto --debug certonly.
0000_csr-letsencrypt.pemsuggests you included the certificate signing request, not the actual signed certificate. Every file you need should be in a subdirectory of/etc/letsencrypt/livewith your domain name. and a serial number, you don't need anything from/etc/letsencrypt/csrorkeysDo you have log file entries?/home/jonathan/stornge?