DTIのServersMan@VPSで無料サーバー証明書Let’s Encryptを使うには?

サイト運営
サイト運営
スポンサーリンク

ブログのSSL化はSEO上有利と言われています。

しかも最近では、Let’s Encryptのように無料でサーバー証明書を導入できるサービスもある。

当ブログも早速、Let’s EncryptでSSLの準備を始めようとしたのですが、ServersMan@VPSにはインストールできない!

そこでServersMan@VPSにも使える、無料サーバー証明書のインストール方法を説明します。

  • 2018.02.18 Apacheの設定でRC4を無効化するように変更しました

当サイトのサーバーはカゴヤVPSに移行したため、Let’s Encryptのエージェントが動作するようになりました。どうしてもエージェントを動作させたいという人は、こちらの記事も参照してください。

スポンサーリンク

Let’s Encryptのエージェントがインストールできない

Let’s Encryptは、エージェントというサーバー常駐型のサービスをインストールして使います。

エージェントをインストールすることで、サーバー証明書の発行から、サーバー証明書の自動更新までやってくれる便利なもの。

当ブログサーバーでも使ってみたかったのですが、残念ながらエージェントのインストール途中でエラーになりました。

[root@kozenist ~]# yum install certbot python-certbot-apache
   (中略)
--> 衝突を処理しています: libselinux-2.5-11.el7.x86_64 は systemd < 219-20 と衝突しています --> 衝突を処理しています: systemd-219-42.el7_4.1.x86_64 は initscripts < 9.49.28-1 と衝突しています --> 依存性解決を終了しました。
エラー: systemd conflicts with initscripts-9.49.17-1.el7_0.1.x86_64
 問題を回避するために --skip-broken を用いることができます。
 これらを試行できます: rpm -Va --nofiles --nodigest

当ブログはServersMan@VPSで運営していて、OSはCentOS 7.0。

が、無理やりinitscriptsを更新すると、最悪サーバーが起動しなくなるとのこと。

そもそも、サーバー証明書の発行ってopensslがあればできてしまうのに、なぜそこまで複雑な仕組みが必要なのか・・・?

そういう疑問はもちつつ、とにかく欲しいのはサーバー証明書のファイルだけなので、Let’s Encryptは諦めることに。

スポンサーリンク

ZeroSSLならエージェントのインストール不要!

そこで見つけたのがZeroSSL

これもLet’s Encryptを利用したサービスなので無料です。

しかもインストールが不要で、webから申し込むだけでサーバー証明書が手に入ります。

Let’s Encryptのインストールができなかった人にはうってつけですね。

便利な世の中になったものです。

 

ZeroSSLを使ったサーバー証明書の手順については以下の記事を参考にしてください。

【5分で完了】ZeroSSLで無料サーバー証明書を発行する手順
サーバー証明書発行サービスZeroSSLを使うと、無料でサーバー証明書を発行できます。 ZeroSSLも認証局がLet's Encryptなのですが、エージェントのインストールが不要なので使い勝...
スポンサーリンク

ApacheのSSL化とサーバー証明書のインストール

サーバー証明書が発行できれば、あとは特別な手順はありません。

サーバー証明書の配置

ZeroSSLで発行したサーバー証明書と秘密鍵をサーバーに配置します。

このサーバーでは複数ドメイン管理しているので、サーバー証明書のファイル名は[ドメイン名].crt、秘密鍵のファイル名は[ドメイン名].keyにしておきます。

種類 ファイルパス
サーバー証明書 /etc/pki/tls/certs/kozenist.com.crt
秘密鍵 /etc/pki/tls/private/kozenist.com.key

秘密鍵のオーナーと権限を変更しておきます。

[root@kozenist ~]# chown root:root /etc/pki/tls/private/kozenist.com.key
[root@kozenist ~]# chmod 600 /etc/pki/tls/private/kozenist.com.key

Apache設定変更

Apacheの設定を変更し、443ポートを処理する<VirtualHost>セクションを追加します。

<VirtualHost *:443>
  ServerName kozenist.com
  DocumentRoot /var/www/kozenist.com
  ErrorLog logs/ssl_error_log
  CustomLog logs/ssl_access_log combined

  SSLEngine on
  SSLProtocol all -SSLv2 -SSLv3
  SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!SEED:!IDEA:!RC4
  SSLCertificateFile /etc/pki/tls/certs/kozenist.com.crt
  SSLCertificateKeyFile /etc/pki/tls/private/kozenist.com.key
</VirtualHost>

apachectl configtestで設定確認ができたら、systemctl restart httpdコマンドで再起動します。

SSLポートを開放

iptablesで443ポートも開放するようにします。

[root@kozenist ~]# iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT

httpsプロトコルでサイトにアクセスできることを確認したら、iptables設定を保存します。

[root@kozenist ~]# iptables-save

まとめ

この後、HTTP/HTTPSのどちらでもアクセスできるようにして運用した後、HTTPSのみに切り替えました。

紆余曲折あったけど、ブログのSSL化ができてよかった。

ServerMan@VPSを利用している方は参考にどうぞ。

スポンサーリンク
kozenistをフォローする
小銭スト
タイトルとURLをコピーしました