Se eu tiver um servidor limpo, preciso instalar o SSL nestes passos que são normalmente executados.
Primeiro eu edito o SSLCipherSuite e o SSLProtocol em /etc/httpd/conf.d/ssl.conf para endurecer um pouco a instalação.
/etc/httpd/conf.d/ssl.conf
SSLCipherSuite ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM
SSLProtocol -ALL +SSLv3 +TLSv1
Então eu crio as pastas /etc/httpd/conf/ssl.crt, /etc/httpd/conf/ssl.key, /etc/httpd/conf/ssl.csr. Você poderia muito bem colocá-los na pasta / etc / pki / tls existente, mas eu gosto de manter as coisas do meu site separadas de qualquer outro material da CA que possa estar acontecendo no servidor. Coloquei a chave e o certificado e, opcionalmente, o CSR nas pastas que criei. Se houver algum certificado intermediário, encadeie-os em um arquivo e coloque-o na pasta /etc/httpd/conf/ssl.crt como intermediate.pem.
Eu normalmente mantenho a configuração para cada host virtual em seu próprio arquivo em /etc/httpd/conf.d/vhosts/. (certifique-se de que sua configuração principal do apache esteja configurada para ler em qualquer arquivo * .conf dessa pasta). Então eu posso ter um arquivo chamado /etc/httpd/conf.d/vhosts/www.mysite.com.conf. Este arquivo conterá duas diretivas, uma para a porta 80 e outra para a porta 443. Se eu quiser que todos usem SSL, você poderá fazer uma reconfiguração de mod como neste exemplo.
/etc/httpd/conf.d/vhosts/www.mysite.com.conf
[VirtualHost 192.168.0.1:80]
ServerName www.mysite.com
ServerAlias mysite.com
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
[/VirtualHost]
[VirtualHost 192.168.0.1:443]
ServerName www.mysite.com
ServerAlias mysite.com
DocumentRoot /var/www/vhosts/www.mysite.com/httpdocs
SSLEngine on
SSLVerifyClient none
SSLCertificateFile /etc/httpd/conf/ssl.crt/www.mysite.com.crt
SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.key
SSLCACertificateFile /etc/httpd/conf/ssl.crt/intermediate.pem
ErrorLog /var/log/vhosts/www.mysite.com-error_log
CustomLog /var/log/vhosts/www.mysite.com-access_log common
[/VirtualHost]
Substitua os [] com os de < > mesmo nas tags pré que estava tentando lê-los como html e não aparecer corretamente.
Então, diretamente para suas perguntas:
1) Eu nunca vi ou usei o SSLCertificateChainFile Im assumindo que é o pacote intermediário de certificados para o qual eu usaria o SSLCACertificateFIle.
2) Se você quiser forçar todos a HTTPS, você precisará fazer um redirecionamento ou uma mod-rewrite. O Apache terá prazer em hospedar tanto o conteúdo HTTP quanto o HTTPS ao mesmo tempo e, para a maioria das pessoas, é isso que eles querem. Pode ser um grande PITA para obter todos os recursos externos que você puxa para o seu site para ser HTTPS, o que lançará mensagens de aviso para seus usuários se você usar HTTPS em sua home page. Se isso não for um problema para você, então use todos os meios HTTPS.