Help us understand the problem. What is going on with this article?

さくらVPSでApache+SSL環境の構築(CentOS6.5+Apache+RapidSSL)

More than 3 years have passed since last update.

参考
さくらのVPSにRapidSSLを導入する
[さくらのSSL]nginxにRapidSSLの証明書をインストールした

概要

必要なもの 該当ふぃある 説明
秘密鍵 server.key
SSL証明書 server.crt
中間証明書 rapidssl-chain.crt

Apache,SSLインストール

Apacheインストール

yum install httpd

mod_sslのインストール

yum install mod_ssl

CSR作成

サーバ証明書を発行するためにCSR(署名要求)を作る。
CSRは秘密鍵から作る。

秘密鍵作成

# cd /etc/pki/tls/certs/
# openssl genrsa -des3 -out server.key 2048
Generating RSA private key, 2048 bit long modulus
...............................+++
.................................................
.................................................
................+++
e is 65537 (0x10001)
Enter pass phrase for server.key: (←パスフレーズを入力)
Verifying - Enter pass phrase for server.key: (←パスフレーズを再入力)

CSR作成

設定する項目のうちでドメイン名は合っている必要がある。
さくらVPSのデフォルトのドメインは使えないので、独自ドメインを取得する必要がある。

# openssl req -new -key server.key -out server.csr
Enter pass phrase for server.key:(←秘密鍵のパスフレーズを入力)
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
 -----
Country Name (2 letter code) [XX]:JP (←国名)
State or Province Name (full name) :Osaka (←都道府県)
Locality Name (eg, city) [Default City]:Osaka-shi (←市区町村)
Organization Name (eg, company) [Default Company Ltd]: example.info (←組織名)
※個人運営なのでドメイン名にしています(何でも良い)
Organizational Unit Name (eg, section) : (←部署名)
Common Name (eg, your name or your server's hostname) :www.example.info (←ドメイン名)
Email Address :webmaster@example.info (←メールアドレス)

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password : (←空Enter)
An optional company name : (←空Enter)

CSRの内容を確認する。Subject: の行が合っていることと、Public-Key: の行が 2048 bitであることが確認する。

# openssl req -text -noout -in server.csr
Certificate Request:
    Data:
        Version: 0 (0x0)
        Subject: C=JP, ST=Osaka, L=Osaka-shi, O=example.info, CN=www.example.info/emailAddress=webmaster@example.info
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (2048 bit)
                Modulus:
                    (略)
                Exponent: 65537 (0x10001)
        Attributes:
            (略)
    Signature Algorithm: sha1WithRSAEncryption
         (略)

SSL証明書と中間証明書の申請・購入とサーバへの設定

※以降は、さくらでラピッドSSLを購入する例です。

SSL証明書の購入

さくらのSSLからラピッドSSLを購入する。
購入する際にCSRの入力を求められるので、先ほど作成したserver.csrの中身をコピペする。

BEGIN行とEND行も貼り付けること。

 -----BEGIN CERTIFICATE-----
 (略)
 -----END CERTIFICATE-----

メールが届けば購入完了。

認証作業

認証ファイルをDLして、Webサーバへアップロードする。
1分おきに認証ファイルへリクエストがあるので、認証ファイルが返されることで認証が完了する。

認証ファイルDL

会員メニュー より、「契約情報」→「契約サービスの確認」で、「SSL ラピッドSSL」の「サーバ証明書」を開く。
「認証ファイルDL」をクリックして、認証ファイルをダウンロードする。

Webサーバへアップロード

Webサーバのルート(/var/www/html)へDLした認証ファイルをそのまま配置する。
1分置きにルートの認証ファイルへリクエストがあり、認証ファイルが返されることで認証が完了する。
リクエストはアクセスログで確認可能。

サーバ証明書ダウンロードして、サーバへ

先ほど「認証ファイルDL」だった箇所が「サーバ証明書DL」になっているのでDLする。

テキストでサーバ証明書開いて、サーバに張り付ける。

# vim /etc/pki/tls/certs/server.crt
 -----BEGIN CERTIFICATE-----
 (略)
 -----END CERTIFICATE-----

また、Apache再起動の度に確認が来るためパスフレーズ応答を削除する。

# openssl rsa -in server.key -out server.key
Enter pass phrase for server.key: (←秘密鍵のパスフレーズ入力)
writing RSA key

中間CA証明書の取得して、サーバへ

「ジオトラスト SSLサーバ証明書発行のお知らせ」というメールが届くので、中段の「ジオトラスト ラピッドSSL」を開く。

SHA-2であることを確認して、サーバに貼り付ける。

# vim /etc/pki/tls/certs/rapidssl-chain.crt
 -----BEGIN CERTIFICATE-----
 (略)
 -----END CERTIFICATE-----

設定変更/確認

Apache設定変更

# vim /etc/httpd/conf.d/ssl.conf
~以下を編集~
DocumentRoot "/var/www/html"
ServerName www.example.info:443(←自分の環境のドメイン名を書く)
SSLProtocol all -SSLv2 -SSLv3
SSLCertificateFile /etc/pki/tls/certs/server.crt
SSLCertificateKeyFile /etc/pki/tls/certs/server.key
SSLCertificateChainFile /etc/pki/tls/certs/rapidssl-chain.crt

Apache再起動

# service httpd configtest
Syntax OK
# service httpd restart
httpd を停止中:                                            [  OK  ]
httpd を起動中:                                            [  OK  ]

確認

ブラウザでhttpsでアクセスして確認する。

kazu56
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした