ServersMan@VPS SSLの設定


別に vps だから必要ってわけでもないのですが、ServersMan@VPS でやった作業ログ的に記事をまとめてるのでよしとしましょう。古い情報より新しい情報のほうが ServersMan@VPS ユーザのためになると思いますし。

なお、自己署名の証明書(通称:オレオレ証明書)を前提としてます

mod_sslのインストール

sudo yum list mod_ssl
mod_ssl.i386  1:2.2.3-43.el5.centos  installed

installed と表示されない場合は、以下のコマンドで mod_ssl を install します。

sudo yum install mod_ssl

※2010/07/07 追記。突っ込み感謝、sfpgさん!

秘密鍵の作成

cd /etc/pki/tls/certs
make server.key
Enter pass phrase: パスワード入力
Verifying - Enter pass phrase: 上で入れたパスワード再入力

※エラーが出たらパスワードが間違っているので、作成されたファイルを削除して、もう一度作り直し

この秘密鍵を使うと apache 起動時にパスワードを毎回聞かれるので、面倒な場合は以下を入力。パスワードなしで起動できます。

openssl rsa -in server.key -out server.key

公開鍵の作成

make server.csr
Country Name (2 letter code) [GB]:JP
State or Province Name (full name) [Berkshire]:
Locality Name (eg, city) [Newbury]:
Organization Name (eg, company) [My Company Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []: IPアドレス or ドメイン名
Email Address []:
A challenge password []:
An optional company name []:

※ Country Name と Common Name 以外、全部デフォルトのまま(何も入力なしでEntryキー)です。オレオレ証明書なんで。。
※ Common Name にドメイン名を入れる場合は、デフォルトで割り当てられているホスト名を入れときます。

ホスト名の調べ方

nslookup VPSサーバのIPアドレス
# name = のあとの文字列がホスト名です。
name = ホスト名

SSL証明書の作成

openssl x509 -in server.csr -out server.pem -req -signkey server.key -days 3650

※ server.pem が作成される証明書のファイル。daysに指定する数値は、証明書の有効期間日数です。3650なので10年間持ちます。

インポート用SSL証明書の作成

必須じゃないです。ブラウザとかメールクライアントとかで使いたい人は server.der を利用。

openssl x509 -in server.pem -outform DER -out server.der

パーミッションの設定

chmod 400 server.key
chmod 400 server.csr
chmod 400 server.pem

apache の設定

ssl 設定ファイルを編集します。

vi /etc/httpd/conf.d/ssl.conf
DocumentRoot "/var/www/html"
SSLCertificateFile /etc/pki/tls/certs/server.pem
SSLCertificateKeyFile /etc/pki/tls/certs/server.key

動作確認

設定を有効にするため apache をリブートします。

/etc/init.d/httpd restart

エラーが出ていなければ、ブラウザでアクセスできるか確認してみます。

ブラウザで
https://IPアドレス または https://ホスト名

オレオレ証明書なので、ブラウザで警告がでますが・・・

そのまま続行して表示されれば成功です。

8 Responses to ServersMan@VPS SSLの設定

  1. sfpg より:

    手順としてはSSL設定の前にmod_sslのインストールが必要なのではないでしょうか?
    ServersMan@VPSサーバには最初はmod_sslが入っていないようですが。。

  2. ても より:

    ohhh… デフォは入ってないかもです。すっかり記憶にございません^p^
    手順に入れときますデス!

  3. やーみん より:

    畏れ入ります。

    以下のようなエラーが出ます。

    Starting httpd: Syntax error on line 2 of /etc/httpd/conf.d/ssl.conf:
    Invalid command ‘SSLCertificateFile’, perhaps misspelled or defined by a module not included in the server configuration

    http://blog.k-go.org/archives/cat_10007427.html
    には
    「apacheをmakeするときにconfigureオプションに
    –enable-ssl –with-ssl
    を付けなかったのが原因でした 」

    とあるのですが・・・

  4. ても より:

    エラー見る限り、miss spell ではなさそうなので mod_ssl が入ってないのかもしれません。
    yum install mod_ssl してどうなるか、ssl.conf の LoadModule ssl_module modules/mod_ssl.so
    あたりがコメントアウトされてないか、など確認してみては如何でしょう。

    ちなみに apache はCentOSで最初からインストールされてるものを使ってるので
    自分でコンパイルはしてないです。

  5. […] っているてもぐさんの記事を参考に設定しまする ⇒http://temog.info/archives/vps/serversmanvps-ssl%E3%81%AE%E8%A8%AD%E5%AE%9A-2.html […]

  6. […] 手順としては基本てもぐさんのところを参考にしてますが、自分の備忘録を兼ねてメモメモ。 […]

  7. […] 参考にしたサイトは主にこちらです。 Redmine 2.5をCentOS 6.5にインストールする手順 | Redmine.JP Blog さくらインターネット | VPS設定のつぼ | VPS虎の巻 -VPS比較&設定のつぼ- S… […]

コメントを残す

メールアドレスが公開されることはありません。

Top