SSL証明書をLet’s Encryptでwebrootに変えました

以前から気にはなっていたんですが、今回SSL証明書をLet’s Encryptに変更しました。

さくらインターネットなんかでもコンパネから使えるようになってたんで、導入したいなぁとは思ってたんです。

で、今回切り替えました!!

ただ、3ヶ月単位で更新が必要なんで自動更新もやっておかねば。。。。

自動更新編はこちらを参照ください。

ここでは、まずは導入編を記載します(^^)

インストールします

Let’s Encryptの環境のインストールです。

1)作業ディレクトリを作成します。

今回は ~/letsencrypt を作成しました。

2)cd ~/letsencrypt

3)足らないパッケージを導入したりもするので、ここからrootで作業します。

もちろんsudoでもいけると思います(^^;

4)# ./letsencrypt-auto –help

yum であれこれ設定されます。

※rootになってなかったときは下記のようにsudoパスワードを聞いてきます

Requesting to rerun ./letsencrypt-auto with root privileges…

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.

[sudo] password for username:

今回はこんな感じのパッケージはインストールされました。

===================================================================
パッケージ アーキテクチャ バージョン リポジトリー 容量
===================================================================
インストールしています:
augeas-libs x86_64 1.0.0-10.el6 base 314 k
python34 x86_64 3.4.8-1.el6 epel 50 k
python34-devel x86_64 3.4.8-1.el6 epel 186 k
python34-tools x86_64 3.4.8-1.el6 epel 426 k
更新:
ca-certificates noarch 2017.2.14-65.0.1.el6_9 updates 1.3 M
gcc x86_64 4.4.7-18.el6_9.2 updates 10 M
mod_ssl x86_64 1:2.2.15-60.el6.centos.6 updates 99 k
openssl x86_64 1.0.1e-57.el6 base 1.5 M
openssl-devel x86_64 1.0.1e-57.el6 base 1.2 M
redhat-rpm-config noarch 9.0.3-51.el6.centos base 60 k
依存性関連でのインストールをします。:
python-rpm-macros noarch 3-11.el6 epel 5.4 k
python-srpm-macros noarch 3-11.el6 epel 4.8 k
python3-rpm-macros noarch 3-11.el6 epel 4.9 k
python34-libs x86_64 3.4.8-1.el6 epel 8.4 M
python34-tkinter x86_64 3.4.8-1.el6 epel 336 k
tcl x86_64 1:8.5.7-6.el6 base 1.9 M
tk x86_64 1:8.5.7-5.el6 base 1.4 M
依存性関連での更新をします。:
cpp x86_64 4.4.7-18.el6_9.2 updates 3.7 M
gcc-c++ x86_64 4.4.7-18.el6_9.2 updates 4.7 M
gcc-gfortran x86_64 4.4.7-18.el6_9.2 updates 4.7 M
httpd x86_64 2.2.15-60.el6.centos.6 updates 836 k
httpd-devel x86_64 2.2.15-60.el6.centos.6 updates 158 k
httpd-tools x86_64 2.2.15-60.el6.centos.6 updates 80 k
libgcc x86_64 4.4.7-18.el6_9.2 updates 103 k
libgfortran x86_64 4.4.7-18.el6_9.2 updates 268 k
libgomp x86_64 4.4.7-18.el6_9.2 updates 134 k
libstdc++ x86_64 4.4.7-18.el6_9.2 updates 296 k
libstdc++-devel x86_64 4.4.7-18.el6_9.2 updates 1.6 M

トランザクションの要約
====================================================
インストール 11 パッケージ
アップグレード 17 パッケージ

Creating virtual environment…
Installing Python packages…
#
# This is the main Apache server configuration file. It contains the
# configuration directives that give the server its instructions.
# See <URL:http://httpd.apache.org/docs/2.2/> for detailed information.
# In particular, see
# <URL:http://httpd.apache.org/docs/2.2/mod/directives.html>
# for a discussion of each configuration directive.
#
#
# Do NOT simply read the instructions in here without understanding
# what they do. They’re here only as hints or reminders. If you are unsure
# consult the online docs. You have been warned.
#
# The configuration directives are grouped into three basic sections:
# 1. Directives that control the operation of the Apache server process as a
# whole (the ‘global environment’).
# 2. Directives that define the parameters of the ‘main’ or ‘default’ server,
# which responds to requests that aren’t handled by a virtual host.
# These directives also provide default values for the settings
# of all virtual hosts.
# 3. Settings for virtual hosts, which allow Web requests to be sent to
# different IP addresses or hostnames and have them handled by the
# same Apache server process.
#
# Configuration and logfile names: If the filenames you specify for many
# of the server’s control files begin with “/” (or “drive:/” for Win32), the
# server will use that explicit path. If the filenames do *not* begin
# with “/”, the value of ServerRoot is prepended — so “logs/foo.log”
# with ServerRoot set to “/etc/httpd” will be interpreted by the
# server as “/etc/httpd/logs/foo.log”.
#

### Section 1: Global Environment
#
# The directives in this section affect the overall operation of Apache,
# such as the number of concurrent requests it can handle or where it
# can find its configuration files.
#

#
# Don’t give away too much information about all the subcomponents
# we are running. Comment out this line if you don’t mind remote sites
# finding out what major optional modules you are running
ServerTokens OS

#
# ServerRoot: The top of the directory tree under which the server’s
# configuration, error, and log files are kept.
#
# NOTE! If you intend to place this on an NFS (or otherwise network)
“/etc/httpd/conf/httpd.conf” 1053L, 35956C
Installation succeeded.

——————————————————————————-

letsencrypt-auto [SUBCOMMAND] [options] [-d DOMAIN] [-d DOMAIN] …

Certbot can obtain and install HTTPS/TLS/SSL certificates. By default,
it will attempt to use a webserver both for obtaining and installing the
certificate. The most common SUBCOMMANDS and flags are:

obtain, install, and renew certificates:
(default) run Obtain & install a certificate in your current webserver
certonly Obtain or renew a certificate, but do not install it
renew Renew all previously obtained certificates that are near
expiry
enhance Add security enhancements to your existing configuration
-d DOMAINS Comma-separated list of domains to obtain a certificate for

–apache Use the Apache plugin for authentication & installation
–standalone Run a standalone webserver for authentication
–nginx Use the Nginx plugin for authentication & installation
–webroot Place files in a server’s webroot folder for authentication
–manual Obtain certificates interactively, or using shell script
hooks

-n Run non-interactively
–test-cert Obtain a test certificate from a staging server
–dry-run Test “renew” or “certonly” without saving any certificates
to disk

manage certificates:
certificates Display information about certificates you have from Certbot
revoke Revoke a certificate (supply –cert-path)
delete Delete a certificate

manage your account with Let’s Encrypt:
register Create a Let’s Encrypt ACME account
–agree-tos Agree to the ACME server’s Subscriber Agreement
-m EMAIL Email address for important account notifications

More detailed help:

-h, –help [TOPIC] print this message, or detailed help on a topic;
the available TOPICS are:

all, automation, commands, paths, security, testing, or any of the
subcommands or plugins (certonly, renew, install, register, nginx,
apache, standalone, webroot, etc.)
——————————————————————————-

SSL証明書発行します

1)設定方法としてwebrootを使用します。

standaloneはインストール中に80ポートを要求されるので、現在httpdなどを動かしている場合、

一度停止させる必要があります。

webrootは停止させる必要なく証明書発行ができます。

webrootではDocumentRootが必要となります。

参照:https://letsencrypt.jp/docs/using.html#webroot

# ./certbot-auto certonly –webroot -w /opt/www/www.life-conf.com/html/ -d www.life-conf.com

※ここでssl用のDocumentRootを指定すると認証エラーになりました(^^;

メールアドレスの入力が要求されます。

Saving debug log to /var/log/letsencrypt/letsencrypt.log

Plugins selected: Authenticator webroot, Installer None

Enter email address (used for urgent renewal and security notices) (Enter ‘c’ to

cancel):

証明書の有効期限が近づいた際にお知らせしてくれたりすることなどに利用されます。 有効なメールアドレスを入力しましょう。

規約に同意するかを問われます。

——————————————————————————-
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.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とします。

Electronic Frontier Foundation にメールアドレスを共有するかを問われます。

——————————————————————————-
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 our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
——————————————————————————-
(Y)es/(N)o:

メールアドレスを共有すると、 EFF や証明書のことなどについてのメールを送ると書かれています。

ここではYとします。

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator webroot, Installer None
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for www.life-conf.com
Using the webroot path /opt/www/www.life-conf.com/html for all unmatched domains.
Waiting for verification…
Cleaning up challenges
IMPORTANT NOTES:
– Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/www.life-conf.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/www.life-conf.com/privkey.pem
   Your cert will expire on 2018-09-27. 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

2)証明書ができてるか確認します。

# ls -al /etc/letsencrypt/live/www.life-conf.com/

-rw-r–r– 1 root root  682  6月 30 02:00 2018 README
lrwxrwxrwx 1 root root   41  6月 30 02:00 2018 cert.pem -> ../../archive/www.life-conf.com/cert1.pem
lrwxrwxrwx 1 root root   42  6月 30 02:00 2018 chain.pem -> ../../archive/www.life-conf.com/chain1.pem
lrwxrwxrwx 1 root root   46  6月 30 02:00 2018 fullchain.pem -> ../../archive/www.life-conf.com/fullchain1.pem
lrwxrwxrwx 1 root root   44  6月 30 02:00 2018 privkey.pem -> ../../archive/www.life-conf.com/privkey1.pem

※chain.pemとfullchain.pmの違い。

参照:https://letsencrypt.jp/docs/using.html

chain.pemはApache2.4.8未満、fullchain.pemはApache2.4.8以上かnginxで使用する

3)Apacheに設定します。

/etc/httpd/conf.d/ssl.confを編集します。

SSLCertificateFile /etc/letsencrypt/live/www.life-conf.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/www.life-conf.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/www.life-conf.com/chain.pem

4)Apacheを再起動します。

# /etc/rc.d/init.d/httpd restart

5)確認します

ブラウザで設定を確認しておきます。

Chrome使っての方法です。

・その他のツールからデベロッパーツールを起動します。

・「Security」タブをクリックします。

・[View cetificate]ボタンをクリックします。

有効期限が9/28ですが、設定されていました。

さて、自動更新もやっておかねば。。。

投稿者プロフィール

上辻 敏之
上辻 敏之
株式会社スタジオくまかけ代表取締役で業界としては30年近く存在(^^;
数年前に事故で緊急入院し、突然連絡が取れなくなり、仕事に支障をきたした経験から、事業を継続させるためには安否確認と自動的な情報継承が必須だと考えました。
当初他社のサービスを利用するつもりで探したのですが、自分にフィットするものがないため「人生金庫」の開発をスタート。
「終活」に興味を持ち、気になった情報を収集して発信しています。

「人生金庫」申し込み

忘れたくない、残していきたい。
そして、もしものときに、キチンと伝えていきたい
あなたにとって大切な情報を、想いを、ガッチリお預かりします。

コメントを残す

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