サクラのレンタルサーバでLet’s Encryptを使う

公式のクライアントを使用するとROOT権限が必要なため証明書を取得することができないため
制約回避としてletsencrypt.shという互換クライアントを使用する。

【使い方】

  1. 適当なフォルダに移動し「git clone https://github.com/lukas2511/letsencrypt.sh」を実行
  2. 作成されたフォルダの中に入る「cd ./letsencrypt.sh」
  3. SSL証明書発行時、Let’s Encryptサーバから「http://ドメイン名/.well-known/acme-challenge/」にアクセスがおこなわれるためのフォルダ作成
    今回は「letsencrypt.sh」フォルダの中に「tmp」フォルダを作成しシンボリックリンクで対応
    「mkdir tmp」
    「cd tmp」
    「mkdir .well-known」
    「cd .well-known」
    「mkdir acme-challenge」
  4. シンボリックリンク作成(めんどくさいので.well-knownを作ってしまう。必要無ければ後で消しても良いが、再取得時に必要になる。)
    「ln -s /home/ユーザID/パス/letsencrypt.sh/tmp/.well-known /home/ユーザID/www/.well-known」
  5. 「docs/examples」の「domains.txt.example」と「config.sh.example」を「letsencrypt.sh」フォルダにコピー
    このとき「.example」を消しておくこと
  6. 「config.sh」を編集
    「WELLKNOWN」の部分を先ほど作成したフォルダに変更
    「WELLKNOWN=”/home/ユーザID/パス/letsencrypt.sh/tmp/.well-known/acme-challenge”」
  7.  domain.txtを編集
    SSLの証明書を発行したいドメインをスペース区切りで書き出す
  8.  letsencrypt.shを実行
    「./letsencrypt.sh –config ./config.sh –cron」% ./letsencrypt.sh –config ./config.sh –cron
    # INFO: Using main config file ./config.sh
    + Generating account key…
    + Registering account key with letsencrypt…
    Processing ドメイン名 with alternative names: ドメイン名
    + Signing domains…
    + Creating new directory ./certs/ドメイン名 …
    + Generating private key…
    + Generating signing request…
    + Requesting challenge for ドメイン名…
    + Responding to challenge for ドメイン名…
    + Challenge is valid!
    + Requesting certificate…
    + Checking certificate…
    + Done!
    + Creating fullchain.pem…
    + Done!
  9. うまくいくと証明書が「certs/ドメイン名」に取得されるのでコントロールパネルから設定する
    秘密鍵→「privkey.pem」
    証明書→「cert.pem」(「fullchain.pem」を使うと中間証明書の設定作業がいらないかも)
    中間証明書→「chain.pem」
  10. 証明書の取得から3ヶ月経過する前に8と9の作業を繰り返す

正直この作業が一番めんどくさい。最低でも年4回は作業しないといけないが作業を忘れそう。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください