三蔵開発メモ

Web開発やインフラ関連のメモを共有します

apache2.4でhttpsアクセスを行う設定まとめ

検索するとたくさん出てきますが、 自分用にまとめました。

必要なモジュールインストー

yum install mod_ssl -y
yum install openssl -y

vhostsに設定したい場合

vi /etc/httpd/conf.d/mydomain.test.conf
----------
#http用の設定

#中略

#以下をvhostsファイルに追加
<VirtualHost *:443>
  DocumentRoot /var/www/html/mydomain/
  ServerName mydomain.test
  ErrorLog logs/secure_error_log
  CustomLog logs/secure_access_log combined

  SSLEngine on
  SSLCertificateFile /etc/pki/tls/certs/ca.crt
  SSLCertificateKeyFile /etc/pki/tls/private/ca.key
  <Directory /var/www/html/mydomain>
      AllowOverride All
  </Directory>

</VirtualHost>
----------

この場合、証明書を発行している場合は、
SSLCertificateFile
SSLCertificateKeyFile
この二つはおいてある場所をちゃんと指定する。
デフォルトのダミーキーは、mod_sslをインストールすると自動で作られる、

/etc/httpd/conf.d/ssl.conf

のファイル内に書いてあるので、それを指定する。
ssl.confのvhost設定はコメントアウトしておく

デフォルトのまま設定する場合

vhostsとか使ってない場合は、
mod_sslを設定したときに作られた、ssl.confファイルを変更する

vi /etc/httpd/conf.d/ssl.conf
----------
#この個所を発行した証明書の場所に変更
SSLCertificateFile /etc/pki/tls/certs/ca.crt
SSLCertificateKeyFile /etc/pki/tls/private/ca.key

#以下の項目をhttpの通信でやっている用に変更
DocumentRoot 
ServerName 
ErrorLog 
CustomLog 
<Directory>
      
</Directory>
----------

ssl.confはvhosts用のvhostsファイルなので、vhostsの時と同じように書き換えればok