15
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Posted at

参考
さくらの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でアクセスして確認する。

15
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?