お名前.comのVPSにアルファSSLを導入する

先日、苦しみながらもようやく入れることが出来た、アルファSSL。。ここにその痕跡を残しておきます。

namaessl

  1. CSRの準備
  2. アルファSSL申し込み
  3. 証明書のインストール
  4. ssl.confを設定
  5. Apacheの再起動

1.CSRの準備

まず、アルファSSLを申し込む際に必要な、CSRを生成します。

必要な項目をあらかじめ抽出

その前に…のちのち絶対にわからなくなるので、先に命名規則を決めておきます。
今回は、http://www.example.comというサイトに、https://www.example.comのようにアルファSSL(サイトシール付)を導入する例を紹介します。
(各サーバーによって違いますが、わたしはこんなかんじでした。)

コモンネーム:www.example.com
confディレクトリまでのパス:/etc/httpd/conf/
秘密鍵の保存ディレクトリ:/etc/httpd/conf/ssl.key/
秘密鍵のファイル名:www.example.com2014.key
CSRの保存ディレクトリ:/etc/httpd/conf/ssl.csr/
CSRのファイル名:www.example.com2014.csr

コモンネームのwww.example.comの部分は、アルファSSLを導入予定のサイトのアドレスです。
(例)ssl.example.com,example.com,sample.example.comなど。

ちなみにわたしは、www.example.comに設定する予定だったのに、コモンネームをexample.comで申し込んでしまい、再申し込みをしました><;

準備が整ったら、SSHにスーパーユーザーで入ります。

①Apacheのconfのパスに移動

# cd /etc/httpd/conf/

②秘密鍵の生成

秘密鍵を生成します。既存のファイルに上書きをしないように注意してください。

秘密鍵のファイル名、www.example.com2014.keyはなんでもOKです。いつの、何の秘密鍵なのかわかりやすいように年号までつけていますが、正直hogeでもいけます(絶対におすすめしませんw)。

秘密鍵の生成を行う際に、任意のパスワードを設定します。このパスワードは、今後もかなり使うので、メモっておいてください。

# openssl genrsa -des3 -out ./ssl.key/www.example.com2014.key 2048

③CSRの生成

先ほど生成した秘密鍵を元に、CSRを生成します。
./ssl.key/www.example.com2014.keyの部分は、先ほどの秘密鍵のファイル名です。

秘密鍵のファイル名と同様に、CSRのファイル名も、自分でわかればなんでもOKです。
ただ、のちのち困るので、最初に書いたように表にして持っておくのがベストです。

# openssl req -new -key ./ssl.key/www.example.com2014.key -out ./ssl.csr/www.example.com2014.csr

項目を入力

上記のコマンドを実行すると、項目を聞かれます。聞かれる項目は以下です。
例を記します。

Country Name:JP
State or Province Name:Tokyo
Locality Name:Shibuya-ku
Organization Name:Kaishamei
Organization Unit Name:Sales(指定がない場合はハイフン-)
Common Name:www.example.com
Email Addres:入力不要です。
A challenge password:入力不要です。
An optional company name:入力不要です。

⑤CSRをコピー

生成されたCSRを開き、コピー。申し込みフォームに貼り付けます。

# cat ./ssl.csr/www.example.com2014.csr

2.アルファSSL申し込み

alphassl

申し込みフォームから、申し込みを行います。
記入例がこちらに載っていますので参考までに。

申し込みを済ませ、支払いが終わると、承認メールが届き、本人確認を行います。
「SSLサーバ証明書お申し込み確認」にて、承認するを選択してください。

その後、証明書がメールで送られてきます。


3.証明書のインストール

証明書をサーバーにインストールします。ふたたびここで、例の項目の洗い出しを行います。

コモンネーム:www.example.com
confディレクトリまでのパス:/etc/httpd/conf/
SSL設定用confファイル:/etc/httpd/conf.d/ssl.conf
証明書の保存ディレクトリ:/etc/httpd/conf/ssl.crt/
サーバ証明書ファイル名:www.example.com2014.crt
中間証明書ファイル名:www.example.com2014.cer

証明書を保存

まずは、メールで送られてきた証明書をサーバーに保存します。
以下のコマンドを打って、コピペするだけです。
貼り付ける際に、モレがないように注意してください(万が一あっても、編集できます)。

# vi /etc/httpd/conf/ssl.crt/www.example.com2014.crt

中間証明書を保存

つぎに、メールで送られてきた中間証明書をサーバーに保存します。
以下のコマンドを打って、コピペ。

# vi /etc/httpd/conf/ssl.crt/www.example.com2014.cer

以上で証明書のインストールが終了です。


4.ssl.confを設定

証明書をインストールしたら、SSLの設定を行います。

# vi /etc/httpd/conf.d/ssl.conf

ssl.confを編集します。一番最後の行に、以下を追加してください。
VirtualHostの、*部分には、サイトのIPアドレスを設定します。12.34.56.78なら、12.34.56.78:443とします。

DocumentRoot “/var/www/vhosts/example.com/httpdocs”
ここには、サイトが置かれている場所の絶対パスを書きます。

<VirtualHost *:443>
DocumentRoot "/var/www/vhosts/example.com/httpdocs"
ServerName www.example.com

SSLEngine on
SSLCertificateChainFile /etc/httpd/conf/ssl.crt/www.example.com2014.cer
SSLCertificateFile /etc/httpd/conf/ssl.crt/www.example.com2014.crt
SSLCertificateKeyFile /etc/httpd/conf/ssl.key/www.example.com2014.key
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
AddHandler cgi-script .cgi
<Directory "/var/www/cgi-bin">
SSLOptions +StdEnvVars
        AllowOverride All
        Order allow,deny
        Allow from all
</Directory>
<Directory "/var/www/vhosts/example.com/httpdocs">
AllowOverride All
</Directory>
RewriteEngine On
RewriteOptions inherit
</VirtualHost>

5.Apacheの再起動

最後にApacheを再起動して設定終了です。

# /etc/rc.d/init.d/httpd restart

SSHもあまり触ったことがなかったので、アルファSSLの導入はかなり手間取りました。
今回学んだことは、実行したコマンドや入力した項目などは全てメモっておき、不具合が生じた場合にすぐに問題を見つけ、解決すること!です。
メモは重要。



コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です