ex1-lab

Linux, CentOS, Mac OS X, Windows, 仮想化, Apache等のLinux中心に気になることをメモがわりに・・・

無料のSSL証明書 Let's EncryptでApacheをSSL化

    この記事は約3分で読むことができます。

概要

ownCloudをサーバーに導入しましたが、暗号化したいのでSSL証明書をインストールします。SSL証明書は無料の「Let's Encrypt」を利用します。

Let's Encryptは、2016年4月から正式なサービスを開始され、SSL(TLS)に利用できるサーバ証明書を無償で発行している認証局またはサービスです。証明書の発行期限は90日と短いですが、無料なのと、導入にはコマンドを叩くだけで導入できます。
また、証明書の発行期限は90日と短いですが、証明書を発行するコマンドをcronに設定すれば自動でおこなえます

Let's Encryptの詳しい説明は以下のサイトを参考にして下さい

ITmedia:無償かつ自動でSSL(TLS)証明書を発行できる「Let's Encrypt」とは?

CentOS7 に Let's Encryptインストール

インストールする場所に移動して、githubからcertbotのレポジトリをcloneします。

そのあとに、Let's Encrypt クライアントが依存するパッケージをインストールします

下記のコマンドで証明書を取得します。使用する環境でディレクトリ、ドメイン名、メールアドレスは変更して下さい

・パラメータの詳細

--webroot WEBサーバのドキュメントルートに認証用ファイルが生成されます。
「.well-known/」というディレクトリが作成され、この中に生成されます
-w WEBサーバのDocumentRootを指定します
-d 証明書を取得するドメインを指定します
-m メールアドレスを指定します。更新期限が近づくとこのアドレスにメールが来ます
--agree-tos Let's Encrypt の利用規約に同意します

証明書や秘密鍵は「/etc/letsencrypt/archive/」以下に保存されます。下記の場所にシンボリックリンクが生成されます。

  • 証明書: /etc/letsencrypt/live/<ドメイン名>/cert.pem
  • 証明書+中間CA証明書: /etc/letsencrypt/live/<ドメイン名>/fullchain.pem
  • 秘密鍵: /etc/letsencrypt/live/<ドメイン名>/privkey.pem
  • 中間CA証明書: /etc/letsencrypt/live/<ドメイン名>/chain.pem

Apacheの設定

ApacheのSSL設定は以下のように設定しました

SSL証明書 自動更新を設定する (cron)

SSLの更新は以下のコマンドをcronに設定して、毎月1日の朝5時に証明書を自動更新して、Apacheをリロードします。

 



 - Linux