Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
0
Help us understand the problem. What is going on with this article?
@Motozzi

Amazon Linux2でLet's EncryptするのをItamae化

More than 1 year has passed since last update.

はじめに

RailsアプリケーションのサーバーをItamaeで管理しているます。
環境構築時にELBを立てず、サーバー直接でアクセスさせる場合、サーバーへのSSL証明書の設定が必要になります。
サーバーはAmazon Linux2で、SSL証明書はLet's Encriptで取得するのをItamae化してみました。

nginx, Itamae, Certbotのインストール、構築は既に済んでいるものとします。

環境

  • サーバー
    EC2

  • OS
    Amazon Linux2

  • バージョン
    Rails: 5.x.x(複数プロジェクト)
    Ruby: 2.x.x

手動構築手順

参照:
https://qiita.com/MysteriousMonkey/items/4d3d857c0e68d4bfff39[https://qiita.com/MysteriousMonkey/items/4d3d857c0e68d4bfff39]

簡単に説明すると、下記コマンドを打つ

$ sudo certbot --nginx

すると、対話式でメールアドレス、対象ドメイン、規約への同意などなどの確認があったのち、SSL証明書が作成され、nginx.confに自動的に設定される.

その対話をコマンドオプション指定でなくすことができるかどうかが今回の争点!

結論

  • cookbooks/certbot/default.rb

execute 'download EPEL7' do
  user 'root'
  command "wget -r --no-parent -A 'epel-release-*.rpm' http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/"
end

execute 'install EPEL7' do
  user 'root'
  command "rpm -Uvh dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-*.rpm"
end

execute 'enable EPEL7' do
  user 'root'
  command 'yum-config-manager --enable epel*'
end

package 'certbot'
package 'python2-certbot-nginx'


execute 'SSL証明書を作成' do
  user 'root'
  command "certbot --nginx -d #{node[:dns][:server_name]} --agree-tos --register-unsafely-without-email -n"
end

やったこと

  • Amazon Linux 2 でEPEL7を使用可能にする。
  • certbotとpython2-certbot-nginxをインストール
  • 証明書の作成
    • オプション
      • -d example.com # => DNSを指定。nginx.confのserver_nameと同じにする
      • --agree-tos # => 規約に同意
      • --register-unsafely-without-email # => メールを登録しない(非推奨)
      • -n #=> 対話をなくす

certbot自体のオプションはそのまま流用可能なようなので、registerする場合は

--email test@example.com

などの指定も可能。

これでめっちゃ手軽にLet's Encript生活!!

事後作業

証明書更新のCronの設定は適宜参照してください。===>> 上記URL

参考にさせていただいたサイト

0
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Motozzi
フリーランスのAPI, Frontend, インフラなどするフルスタックエンジニアです。 たまにバーテンしてます。最近は新規企画練ってます。 ゲストハウス立てたい。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
0
Help us understand the problem. What is going on with this article?