CentOS7のバーチャルホストとssl(https)の設定方法

バーチャルホストとは?

1台のサーバーで複数のドメインを運用する仕組みを表します。このページでは、CentOS7におけるhttp接続用のバーチャルホストの設定及びssl(https)を利用した場合の設定について説明していきます。

バーチャルホストの設定

新規で設定ファイル(virtual.conf)を作成してください。
旧CentOSでは、httpd.confに全て記載していましたが、CentOS7からはメイン設定は、 「/etc/httpd/conf/httpd.conf」に記載され、その他の設定は「/etc/httpd/conf.d/」ディレクトリ内に分散設置しています。
以下の内容を追記してください(ドメイン名は都度編集)。
VirtualHost IPアドレス:ポート番号 の意味は、接続したIPアドレスが○番ポートで接続した場合の処理
VirtualHost *:80 の意味は、全てのIPアドレスが80番ポートでアクセスした場合の処理
CustomLog logs/ドメイン名-access_log combined env=!no_logは、 httpd.confで除外設定(no_log)したログ以外を記録するという意味

httpdの再起動

virtual.confを変更後、設定を有効にするためにhttpdを再起動してください。

SSLとは?

信頼できるサーバーであることの証明を意味します。ポート番号はhttp接続では80番ポートを使用するのに対し、https接続(ssl)では「443」番ポートを使用します。なお、SSLには以下の3種類あります。

SSLの種類

Domain Vertification証明書ドメインが所有されていることを証明
Organization Validation証明書ドメイン所有+組織の存在確認の証明
Extended Validation証明書ドメイン所有+組織の存在+担当者の身元確認の証明
なお、サブドメインもSSLにする証明書を「ワイルドカード証明書」、 同一サーバーのすべてのドメインをSSLにする証明書を「マルチドメイン証明書」と呼びます。※SSLの認証会社によっては、ワイルドカード証明書の契約をしなくても、www.hogehoge.comで契約すれば、自動でhogehoge.comもhttps対応してくれるところもあります。
証明書の公開鍵暗号は「2048bit RSA」、ハッシュ関数は「SHA-2」を選択してください。通常は特に指定しなくても大丈夫です。

CSRとは

自分のサーバーで生成したサーバー証明書を認証機関に認証してもらうための申請書みたいなものです。
バリュードメインのCSR・プライベートキーの作成説明ページ
バリュードメインのSSL証明書の購入の説明ページ

SSL証明会社別の設定

無料→Let’s Encrypt

Let’s Encrypt の使い方

有料→GMOグローバルサイン

バリュードメイン経由、GMOグローバルサインのドメイン認証の使い方
上記のページで説明しています。