Let's EncryptのSSL取得の際にはまらないように解説

個人メモとして、まずポイントだけまとめました。

GUIで行う方法を見つけました。こちらの方が簡単で良いと思います。

GUIで行えるサイト

わかりやすい解説サイト

ポイント一覧(window10のケースを想定しています。シェルのインストール作業は事前に行ってください。2017年実施。)

1.一般的なコマンドプロンプトを開く

2.bashコマンドを押すと、シェルに切り替わるので、シェル上でコマンドを打っていってください。

3.作成後に出来上がった秘密鍵などの、三つのファイルは、シンボリックリンク(実際のファイルではなく、実際のファイルの場所へのショートカットのようなもの)と、混合しやすいので注意してください。
実際のファイルの場所は下記になっていますので、気を付けてください。
C:\Users\user\AppData\Local\
lxss\rootfs\etc\letsencrypt\archive

もう一つの注意点

下記lsコマンドで表記されるファイルはシンボリックリンクで実際のファイルでないので注意。

コマンド
ls /etc/letsencrypt/live/domainname/

表記されるファイル名
README cert.pem chain.pem fullchain.pem privkey.pem

作業時のソースコード

参考用にソースを張り付けておきます。赤い文字が実際に自分で打ったり、選択する所です。(何度か失敗したため、下記は二度目以降のソースです。一回目と多少の違いがあることは、ご理解ください。)

1.C:\WINDOWS\system32>bash

2./mnt/c/Windows/System32$./certbot-auto certonly --manual

Bootstrapping dependencies for Debian-based OSes... (you can skip this with --no-bootstrap)

3.[sudo] password for centos5:ここにパスワードを記載

												
取得:1 http://security.ubuntu.com trusty-security InRelease [65.9 kB]
取得:2 http://security.ubuntu.com trusty-security/main amd64 Packages [625 kB]
取得:3 http://security.ubuntu.com trusty-security/restricted amd64 Packages [14.0 kB]
取得:4 http://security.ubuntu.com trusty-security/universe amd64 Packages [173 kB]
取得:5 http://security.ubuntu.com trusty-security/multiverse amd64 Packages [4,135 B]
取得:6 http://security.ubuntu.com trusty-security/main Translation-en [339 kB]
取得:7 http://security.ubuntu.com trusty-security/multiverse Translation-en [2,201 B]
取得:8 http://security.ubuntu.com trusty-security/restricted Translation-en [3,491 B]
取得:9 http://security.ubuntu.com trusty-security/universe Translation-en [99.6 kB]
無視 http://archive.ubuntu.com trusty InRelease
取得:10 http://archive.ubuntu.com trusty-updates InRelease [65.9 kB]
ヒット http://archive.ubuntu.com trusty-backports InRelease
ヒット http://archive.ubuntu.com trusty Release.gpg取得:11 http://archive.ubuntu.com trusty-updates/main amd64
Packages [991 kB]
取得:12 http://archive.ubuntu.com trusty-updates/restricted amd64 Packages [17.1 kB]
取得:13 http://archive.ubuntu.com trusty-updates/universe amd64 Packages [417 kB]
取得:14 http://archive.ubuntu.com trusty-updates/multiverse amd64 Packages [14.3 kB]
取得:15 http://archive.ubuntu.com trusty-updates/main Translation-en [489 kB]
取得:16 http://archive.ubuntu.com trusty-updates/multiverse Translation-en [7,430 B]
取得:17 http://archive.ubuntu.com trusty-updates/restricted Translation-en [3,978 B]
取得:18 http://archive.ubuntu.com trusty-updates/universe Translation-en [223 kB]
ヒット http://archive.ubuntu.com trusty-backports/main amd64 Packages
ヒット http://archive.ubuntu.com trusty-backports/restricted amd64 Packages
ヒット http://archive.ubuntu.com trusty-backports/universe amd64 Packages
ヒット http://archive.ubuntu.com trusty-backports/multiverse amd64 Packages
ヒット http://archive.ubuntu.com trusty-backports/main Translation-en
ヒット http://archive.ubuntu.com trusty-backports/multiverse Translation-en
ヒット http://archive.ubuntu.com trusty-backports/restricted Translation-en
ヒット http://archive.ubuntu.com trusty-backports/universe Translation-en
ヒット http://archive.ubuntu.com trusty Release
ヒット http://archive.ubuntu.com trusty/main amd64 Packages
ヒット http://archive.ubuntu.com trusty/restricted amd64 Packages
ヒット http://archive.ubuntu.com trusty/universe amd64 Packages
ヒット http://archive.ubuntu.com trusty/multiverse amd64 Packages
ヒット http://archive.ubuntu.com trusty/main Translation-ja
ヒット http://archive.ubuntu.com trusty/main Translation-en
ヒット http://archive.ubuntu.com trusty/multiverse Translation-ja
ヒット http://archive.ubuntu.com trusty/multiverse Translation-en
ヒット http://archive.ubuntu.com trusty/restricted Translation-ja
ヒット http://archive.ubuntu.com trusty/restricted Translation-en
ヒット http://archive.ubuntu.com trusty/universe Translation-ja
ヒット http://archive.ubuntu.com trusty/universe Translation-en
無視 http://archive.ubuntu.com trusty/main Translation-ja_JP
無視 http://archive.ubuntu.com trusty/multiverse Translation-ja_JP
無視 http://archive.ubuntu.com trusty/restricted Translation-ja_JP
無視 http://archive.ubuntu.com trusty/universe Translation-ja_JP
3,553 kB を 36秒 で取得しました (98.4 kB/s)
パッケージリストを読み込んでいます... 完了%

ls /etc/letsencrypt/live/mydomain/
表記されるファイル名
README  cert.pem  chain.pem  fullchain.pem  privkey.pem
パッケージリストを読み込んでいます... 完了0%
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
python はすでに最新版です。
ca-certificates はすでに最新版です。
openssl はすでに最新版です。
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
libfreetype6 os-prober
これを削除するには 'apt-get autoremove' を利用してください。
以下の特別パッケージがインストールされます:
binutils cpp cpp-4.8 gcc-4.8 libasan0 libatomic1libc-dev-bin libc6
libc6-dev libcloog-isl4 libexpat1-dev libgcc-4.8-dev libgmp10 libgomp1
libisl10 libitm1 libmpc3 libmpfr4 libpython-dev libpython2.7-dev
libquadmath0 libtsan0 linux-libc-dev python-setuptools python2.7-dev
zlib1g-dev
提案パッケージ:
augeas-doc binutils-doc cpp-doc gcc-4.8-locales gcc-multilib make
manpages-dev autoconf automake1.9 libtool flex bison gdb gcc-doc
gcc-4.8-multilib gcc-4.8-doc libgcc1-dbg libgomp1-dbg libitm1-dbg
libatomic1-dbg libasan0-dbg libtsan0-dbg libquadmath0-dbg augeas-tools
glibc-doc
推奨パッケージ:
libssl-doc python-pip
以下のパッケージが新たにインストールされます:
augeas-lenses binutils cpp cpp-4.8 gcc gcc-4.8libasan0 libatomic1
libaugeas0 libc-dev-bin libc6-dev libcloog-isl4libexpat1-dev libffi-dev
libgcc-4.8-dev libgmp10 libgomp1 libisl10 libitm1libmpc3 libmpfr4
libpython-dev libpython2.7-dev libquadmath0 libssl-dev libtsan0
linux-libc-dev python-dev python-setuptoolspython-virtualenv python2.7-dev
zlib1g-dev
以下のパッケージはアップグレードされます:
libc6
アップグレード: 1 個、新規インストール: 32 個、削除: 0 個、保留: 39 個。
48.0 MB のアーカイブを取得する必要があります。
この操作後に追加で 116 MB のディスク容量が消費されます。
												
											

4.from /etc/letsencrypt/accounts (Enter 'c' to cancel):myaddress@ex.com
(メールアドレスを記載してほしいという意味になります。よってmyaddress@ex.comは、メールアドレスの例です。ご自身のメールアドレスを記載してください。)

5.(ソースコードが先に表記されます。この質問に対してAgreeを選択します。)
													
-------------------------------------------------------------------------------
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf. You must agree
in order to register with the ACME server at
https://acme-v01.api.letsencrypt.org/directory
-------------------------------------------------------------------------------																	
												

(ここで選択する。)
(A)gree/(C)ancel:a
(aはAgreeの事。aと一文字だけ打てば問題ありません。)

6.(ソースコードが先に表記されます。この質問に対して私はYesを選択しました。)
													
-------------------------------------------------------------------------------
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about EFF and
our work to encrypt the web, protect its users and defend digital rights.
-------------------------------------------------------------------------------															
												

(ここで選択する。)
(Y)es/(N)o:y(yはyesの事。私はこの選択をyにしました。)

7.(ソースコードが先に表記されます。この質問に対してYesを選択します。)

												
Please enter in your domain name(s) (comma and/or space separated)  (Enter 'c'
to cancel):mydomain
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for mydomain

-------------------------------------------------------------------------------
NOTE: The IP of this machine will be publicly logged as having requested this
certificate. If you're running certbot in manual mode on a machine that is not
your server, please ensure you're okay with that.

Are you OK with your IP being logged?
-------------------------------------------------------------------------------
												
											

(ここで選択する。)
(Y)es/(N)o:y(yはyesの事。私はこの選択をyにしました。)

8.(ソースコードが先に表記されます。この質問に対してYesを選択します。)

自分のレンタルサーバに下記のような順番に、フォルダ二つ、その中にファイルを一つ作ります。
(通常はサーバのルート)/.well-known(サーバ上にこの名前のフォルダを自分で作成)/acme-challenge(サーバ上にこの名前のフォルダを自分で作成)/(サーバ上に、下記ソースの二行目にある(ファイル名)をファイル名としたファイルを作成)。
最後に、ソース三行目の、(ファイル名).(パスワード)のパスワードを、自分で作ったファイルの中に記載します。

													
-------------------------------------------------------------------------------
Make sure your web server displays the following content at
http://mydomain/.well-known/acme-challenge/(ファイル名) before continuing:

(ファイル名).(パスワード)


If you don't have HTTP server configured, you can run the following
command on the target server (as root):

mkdir -p /tmp/certbot/public_html/.well-known/acme-challenge
cd /tmp/certbot/public_html
printf "%s" (ファイル名).(パスワード) > .well-known/acme-challenge/(ファイル名)
# run only once per server:
$(command -v python2 || command -v python2.7 || command -v python2.6) -c \
"import BaseHTTPServer, SimpleHTTPServer; \
s = BaseHTTPServer.HTTPServer(('', 80), SimpleHTTPServer.SimpleHTTPRequestHandler); \
s.serve_forever()"

Press Enter to Continue
Waiting for verification...
Cleaning up challenges
Failed authorization procedure. mydomain (http-01): urn:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from http://mydomain/.well-known/acme-challenge/(ファイル名): "
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p"
IMPORTANT NOTES:
 - The following errors were reported by the server:

   Domain: mydomain
   Type:   unauthorized
   Detail: Invalid response from
   http://mydomain/.well-known/acme-challenge/(ファイル名):

   <html><head>
   <title>404 Not Found</title>
   </head><body>
   <h1>Not Found</h1>
   <p"

   To fix these errors, please make sure that your domain name was
   entered correctly and the DNS A record(s) for that domain
   contain(s) the right IP address.
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
													
												

(ここで選択する。)
(Y)es/(N)o:y(yはyesの事。)

9.Congratulations!と下記ソースのように出れば、三つのファイル作成終了です。

													
-------------------------------------------------------------------------------
Press Enter to Continue
Waiting for verification...
Cleaning up challenges

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at
   /etc/letsencrypt/live/web.com/fullchain.pem. Your cert
   will expire on 2017-09-23. To obtain a new or tweaked version of
   this certificate in the future, simply run certbot-auto again. To
   non-interactively renew *all* of your certificates, run
   "certbot-auto renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

________________
													
												

お疲れさまでした。私もこの作業は、非常に大変疲れました。その後はレンタルサーバに三つのファイルをアップロードしてください。やり方はレンタルサーバによって違うので割愛します。

CONTACT