別に 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://ホスト名
オレオレ証明書なので、ブラウザで警告がでますが・・・
そのまま続行して表示されれば成功です。
関連記事





手順としてはSSL設定の前にmod_sslのインストールが必要なのではないでしょうか?
ServersMan@VPSサーバには最初はmod_sslが入っていないようですが。。
ohhh… デフォは入ってないかもです。すっかり記憶にございません^p^
手順に入れときますデス!
畏れ入ります。
以下のようなエラーが出ます。
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
を付けなかったのが原因でした 」
とあるのですが・・・
エラー見る限り、miss spell ではなさそうなので mod_ssl が入ってないのかもしれません。
yum install mod_ssl してどうなるか、ssl.conf の LoadModule ssl_module modules/mod_ssl.so
あたりがコメントアウトされてないか、など確認してみては如何でしょう。
ちなみに apache はCentOSで最初からインストールされてるものを使ってるので
自分でコンパイルはしてないです。
[...] っているてもぐさんの記事を参考に設定しまする ⇒http://temog.info/archives/vps/serversmanvps-ssl%E3%81%AE%E8%A8%AD%E5%AE%9A-2.html [...]