7回目-13.Let's Encryptの無料SSL導入

さくらVPSCentOS 7 2週間無料のお試し期間 7回目

作業開始

 状態:-  閲覧数:512  投稿日:2018-02-28  更新日:2018-02-28

インストール


CertbotはEPEL(Enterprise Linux用のExtra Packages)にパッケージ化されている
・Certbotを使用するには、最初にEPELリポジトリを有効にする必要がある
$ sudo yum install epel-release
読み込んだプラグイン:fastestmirror, langpacks
base                                                                                                                                  | 3.6 kB  00:00:00    
epel/x86_64/metalink                                                                                                                  | 7.2 kB  00:00:00    
epel                                                                                                                                  | 4.7 kB  00:00:00    
extras                                                                                                                                | 3.4 kB  00:00:00    
nginx                                                                                                                                 | 2.9 kB  00:00:00    
remi-safe                                                                                                                             | 2.9 kB  00:00:00    
updates                                                                                                                               | 3.4 kB  00:00:00    
(1/3): epel/x86_64/updateinfo                                                                                                         | 881 kB  00:00:00    
(2/3): epel/x86_64/primary_db                                                                                                         | 6.2 MB  00:00:00    
(3/3): remi-safe/primary_db                                                                                                           | 1.1 MB  00:00:01    
Loading mirror speeds from cached hostfile
* base: ftp.iij.ad.jp
* epel: mirror.dmmlabs.jp
* extras: ftp.iij.ad.jp
* remi-safe: mirrors.thzhost.com
* updates: ftp.iij.ad.jp
パッケージ epel-release-7-11.noarch はインストール済みか最新バージョンです
何もしません


$ sudo yum install certbot-nginx
//中略
依存性を解決しました

=============================================================================================================================================================
Package アーキテクチャー バージョン リポジトリー 容量
=============================================================================================================================================================
インストール中:
python2-certbot-nginx noarch 0.21.1-1.el7 epel 59 k
更新します:
dracut x86_64 033-502.el7_4.1 updates 321 k
selinux-policy-targeted noarch 3.13.1-166.el7_4.7 updates 6.5 M
systemd x86_64 219-42.el7_4.7 updates 5.2 M
依存性関連でのインストールをします:
audit-libs-python x86_64 2.7.6-3.el7 base 73 k
certbot noarch 0.21.1-1.el7 epel 20 k
checkpolicy x86_64 2.5-4.el7 base 290 k
dialog x86_64 1.2-4.20130523.el7 base 208 k
libcgroup x86_64 0.41-13.el7 base 65 k
libsemanage-python x86_64 2.5-8.el7 base 104 k
policycoreutils-python x86_64 2.5-17.1.el7 base 446 k
pyOpenSSL x86_64 0.13.1-3.el7 base 133 k
pyparsing noarch 1.5.6-9.el7 base 94 k
python-IPy noarch 0.75-6.el7 base 32 k
python-backports x86_64 1.0-8.el7 base 5.8 k
python-backports-ssl_match_hostname noarch 3.4.0.2-4.el7 base 12 k
python-cffi x86_64 1.6.0-5.el7 base 218 k
python-enum34 noarch 1.0.4-1.el7 base 52 k
python-idna noarch 2.4-1.el7 base 94 k
python-ipaddress noarch 1.0.16-2.el7 base 34 k
python-ndg_httpsclient noarch 0.3.2-1.el7 epel 43 k
python-parsedatetime noarch 1.5-3.el7 epel 61 k
python-ply noarch 3.4-11.el7 base 123 k
python-pycparser noarch 2.14-1.el7 base 104 k
python-requests noarch 2.6.0-1.el7_1 base 94 k
python-setuptools noarch 0.9.8-7.el7 base 397 k
python-urllib3 noarch 1.10.2-3.el7 base 101 k
python-zope-component noarch 1:4.1.0-3.el7 epel 227 k
python-zope-event noarch 4.0.3-2.el7 epel 79 k
python-zope-interface x86_64 4.0.5-4.el7 base 138 k
python2-acme noarch 0.21.1-1.el7 epel 120 k
python2-certbot noarch 0.21.1-1.el7 epel 475 k
python2-configargparse noarch 0.11.0-1.el7 epel 30 k
python2-cryptography x86_64 1.7.2-1.el7_4.1 updates 502 k
python2-dialog noarch 3.3.0-6.el7 epel 94 k
python2-future noarch 0.16.0-6.el7 epel 799 k
python2-josepy noarch 1.0.1-1.el7 epel 86 k
python2-mock noarch 1.0.1-9.el7 epel 92 k
python2-psutil x86_64 2.2.1-3.el7 epel 116 k
python2-pyasn1 noarch 0.1.9-7.el7 base 100 k
python2-pyrfc3339 noarch 1.0-2.el7 epel 13 k
pytz noarch 2016.10-2.el7 base 46 k
setools-libs x86_64 3.3.8-1.1.el7 base 612 k
依存性関連での更新をします:
audit x86_64 2.7.6-3.el7 base 242 k
audit-libs x86_64 2.7.6-3.el7 base 96 k
dracut-config-rescue x86_64 033-502.el7_4.1 updates 56 k
dracut-network x86_64 033-502.el7_4.1 updates 98 k
libgudev1 x86_64 219-42.el7_4.7 updates 84 k
libselinux x86_64 2.5-11.el7 base 162 k
libselinux-python x86_64 2.5-11.el7 base 234 k
libselinux-utils x86_64 2.5-11.el7 base 151 k
libsemanage x86_64 2.5-8.el7 base 145 k
libsepol x86_64 2.5-6.el7 base 288 k
policycoreutils x86_64 2.5-17.1.el7 base 858 k
selinux-policy noarch 3.13.1-166.el7_4.7 updates 437 k
systemd-libs x86_64 219-42.el7_4.7 updates 376 k
systemd-python x86_64 219-42.el7_4.7 updates 117 k
systemd-sysv x86_64 219-42.el7_4.7 updates 71 k

トランザクションの要約
=============================================================================================================================================================
インストール 1 パッケージ (+39 個の依存関係のパッケージ)
更新 3 パッケージ (+15 個の依存関係のパッケージ)

総ダウンロード容量: 22 M
Is this ok [y/d/N]:

y
//中略
インストール:
 python2-certbot-nginx.noarch 0:0.21.1-1.el7                                                                                                                

依存性関連をインストールしました:
 audit-libs-python.x86_64 0:2.7.6-3.el7         certbot.noarch 0:0.21.1-1.el7                  checkpolicy.x86_64 0:2.5-4.el7                              
 dialog.x86_64 0:1.2-4.20130523.el7             libcgroup.x86_64 0:0.41-13.el7                 libsemanage-python.x86_64 0:2.5-8.el7                      
 policycoreutils-python.x86_64 0:2.5-17.1.el7   pyOpenSSL.x86_64 0:0.13.1-3.el7                pyparsing.noarch 0:1.5.6-9.el7                              
 python-IPy.noarch 0:0.75-6.el7                 python-backports.x86_64 0:1.0-8.el7            python-backports-ssl_match_hostname.noarch 0:3.4.0.2-4.el7  
 python-cffi.x86_64 0:1.6.0-5.el7               python-enum34.noarch 0:1.0.4-1.el7             python-idna.noarch 0:2.4-1.el7                              
 python-ipaddress.noarch 0:1.0.16-2.el7         python-ndg_httpsclient.noarch 0:0.3.2-1.el7    python-parsedatetime.noarch 0:1.5-3.el7                    
 python-ply.noarch 0:3.4-11.el7                 python-pycparser.noarch 0:2.14-1.el7           python-requests.noarch 0:2.6.0-1.el7_1                      
 python-setuptools.noarch 0:0.9.8-7.el7         python-urllib3.noarch 0:1.10.2-3.el7           python-zope-component.noarch 1:4.1.0-3.el7                  
 python-zope-event.noarch 0:4.0.3-2.el7         python-zope-interface.x86_64 0:4.0.5-4.el7     python2-acme.noarch 0:0.21.1-1.el7                          
 python2-certbot.noarch 0:0.21.1-1.el7          python2-configargparse.noarch 0:0.11.0-1.el7   python2-cryptography.x86_64 0:1.7.2-1.el7_4.1              
 python2-dialog.noarch 0:3.3.0-6.el7            python2-future.noarch 0:0.16.0-6.el7           python2-josepy.noarch 0:1.0.1-1.el7                        
 python2-mock.noarch 0:1.0.1-9.el7              python2-psutil.x86_64 0:2.2.1-3.el7            python2-pyasn1.noarch 0:0.1.9-7.el7                        
 python2-pyrfc3339.noarch 0:1.0-2.el7           pytz.noarch 0:2016.10-2.el7                    setools-libs.x86_64 0:3.3.8-1.1.el7                        

更新:
 dracut.x86_64 0:033-502.el7_4.1              selinux-policy-targeted.noarch 0:3.13.1-166.el7_4.7              systemd.x86_64 0:219-42.el7_4.7            

依存性を更新しました:
 audit.x86_64 0:2.7.6-3.el7                        audit-libs.x86_64 0:2.7.6-3.el7                  dracut-config-rescue.x86_64 0:033-502.el7_4.1          
 dracut-network.x86_64 0:033-502.el7_4.1           libgudev1.x86_64 0:219-42.el7_4.7                libselinux.x86_64 0:2.5-11.el7                        
 libselinux-python.x86_64 0:2.5-11.el7             libselinux-utils.x86_64 0:2.5-11.el7             libsemanage.x86_64 0:2.5-8.el7                        
 libsepol.x86_64 0:2.5-6.el7                       policycoreutils.x86_64 0:2.5-17.1.el7            selinux-policy.noarch 0:3.13.1-166.el7_4.7            
 systemd-libs.x86_64 0:219-42.el7_4.7              systemd-python.x86_64 0:219-42.el7_4.7           systemd-sysv.x86_64 0:219-42.el7_4.7                  

完了しました!


$ certbot --nginx

 閲覧数:144 投稿日:2018-02-28 更新日:2018-02-28 
$ certbot --nginx
The following error was encountered:
[Errno 13] Permission denied: '/var/log/letsencrypt'
Either run as root, or set --config-dir, --work-dir, and --logs-dir to writeable paths.


$ sudo certbot --nginx
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel):


自分のメールアドレスを入力
☆☆3@yahoo.co.jp
Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org

-------------------------------------------------------------------------------
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
-------------------------------------------------------------------------------
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:


Let's Encrypt project をやっている非営利団体にメールアドレスを共有しても良いなら y を入力
・嫌なら n を入力
・共有しても良いけれども、何のために共有するか分からないので
n

Which names would you like to activate HTTPS for?
-------------------------------------------------------------------------------
1: a.w4c.work
2: b.w4c.work
-------------------------------------------------------------------------------
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel):


スペースキー入力後、Enter
Obtaining a new certificate
Resetting dropped connection: acme-v01.api.letsencrypt.org
Performing the following challenges:
http-01 challenge for a.w4c.work
http-01 challenge for b.w4c.work
Waiting for verification...
Cleaning up challenges
Deployed Certificate to VirtualHost /etc/nginx/conf.d/a.conf for a.w4c.work
Deployed Certificate to VirtualHost /etc/nginx/conf.d/b.conf for b.w4c.work

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):


httpアクセスがあった場合の処理を聞かれている
・1: httpsにリダイレクトさせない(httpを受け付けない)
・2: すべてhttpsにリダイレクトさせる
・httpでのアクセスを拒否してしまってもいいが、すでにhttpでブックマークされている場合などにアクセスできなくなってしまうので、リダイレクトさせる=2を選択


2
Redirecting all traffic on port 80 to ssl in /etc/nginx/conf.d/a.conf
Redirecting all traffic on port 80 to ssl in /etc/nginx/conf.d/b.conf

-------------------------------------------------------------------------------
Congratulations! You have successfully enabled https://a.w4c.work and
https://b.w4c.work

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=a.w4c.work
https://www.ssllabs.com/ssltest/analyze.html?d=b.w4c.work
-------------------------------------------------------------------------------

IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
  /etc/letsencrypt/live/a.w4c.work/fullchain.pem
  Your key file has been saved at:
  /etc/letsencrypt/live/a.w4c.work/privkey.pem
  Your cert will expire on 2018-05-29. To obtain a new or tweaked
  version of this certificate in the future, simply run certbot again
  with the "certonly" option. To non-interactively renew *all* of
  your certificates, run "certbot renew"
- 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.
- 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


ブラウザ経由でアクセスして動作確認

 閲覧数:134 投稿日:2018-02-28 更新日:2018-02-28 

https対応済み


http://a.w4c.work/
→「https://a.w4c.work/」へリダイレクトする
a


https://a.w4c.work/
a


http://b.w4c.work/
→「https://b.w4c.work/」へリダイレクトする
b


https://b.w4c.work/
b


上記以外


デフォルト
・https未対応

http://www.w4c.work/
hoge


https://www.w4c.work/
この接続ではプライバシーが保護されません

セキュリティで保護されたページに戻る


http://IPアドレス/
hoge


https://IPアドレス/
この接続ではプライバシーが保護されません

セキュリティで保護されたページに戻る


証明書の更新

 閲覧数:152 投稿日:2018-03-01 更新日:2018-03-01 

「certbot renew」動作確認


$ sudo certbot renew
[sudo] password for : 
Saving debug log to /var/log/letsencrypt/letsencrypt.log

-------------------------------------------------------------------------------
Processing /etc/letsencrypt/renewal/a.w4c.work.conf
-------------------------------------------------------------------------------
Cert not yet due for renewal

-------------------------------------------------------------------------------

The following certs are not due for renewal yet:
 /etc/letsencrypt/live/a.w4c.work/fullchain.pem (skipped)
No renewals were attempted.



作業開始


毎週火曜の3時にrenewを起動
・その後Nginx再起動
$ sudo vi /etc/cron.d/letsencrypt
0 3 * * 2 root /usr/bin/certbot renew && systemctl restart nginx


確認


cron.d/*ファイル確認
$ ls -la /etc/cron.d/letsencrypt
-rw-r--r-- 1 root root 65  3月  1 13:27 /etc/cron.d/letsencrypt


所有者
・rootであることを確認

permission
・所有者以外に書き込み権限(w)がないことを確認
・644

r
・readのr

w
・writeのw

cron
・起動確認
$ service crond status
Redirecting to /bin/systemctl status  crond.service
● crond.service - Command Scheduler
  Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)
  Active: active (running) since 水 2018-02-28 11:55:15 JST; 1 day 1h ago
Main PID: 20270 (crond)
  CGroup: /system.slice/crond.service
          └─20270 /usr/sbin/crond -n

2月 28 11:55:15 ☆☆.vs.sakura.ne.jp systemd[1]: Started Command Scheduler.
2月 28 11:55:15 ☆☆.vs.sakura.ne.jp systemd[1]: Starting Command Scheduler...
2月 28 11:55:15 ☆☆.vs.sakura.ne.jp crond[20270]: (CRON) INFO (RANDOM_DELAY will be scaled with factor 83% if used.)
2月 28 11:55:15 ☆☆.vs.sakura.ne.jp crond[20270]: (CRON) INFO (running with inotify support)
2月 28 11:55:15 ☆☆.vs.sakura.ne.jp crond[20270]: (CRON) INFO (@reboot jobs will be run at computer's startup.)



7回目-12.Go1.10インストール /usr/local/go/bin/go CentOS7

7回目-14.新規サブドメイン追加 + Let's Encryptの無料SSL導入



週間人気ページランキング / 9-14 → 9-20
順位 ページタイトル抜粋 アクセス数
1 PHPのmb_send_mail関数でメール送信できない | メール処理システム 29
2 Nginx設定。エラーログレベル | Nginx(Webサーバ) 21
3 Python 3.5 アンインストール / yum remove | Python(プログラミング言語) 11
4 FFmpeg 2.8.15 を yum インストール | ソフトウェアスイート 10
5 PHP実行ユーザ設定 / CentOS6 / Apache | PHP(プログラミング言語) 9
6 PHP Version 7.1.2 php-mecabエクステンション対応 / PHP 7.0.14 からのアップグレード  | MeCab(形態素解析) 8
6 ソースからビルドしたPython 2.7.3 アンインストール失敗 | Python(プログラミング言語) 8
7 touch コマンド / viコマンド。新規ファイル作成時の違い | Linuxコマンド 7
7 さくらVPS0 7
8 9回目-13.MySQL5.7.21設定 | CentOS 7 2週間無料のお試し期間 9回目(さくらVPS) 6
8 「設定ファイルに、暗号化 (blowfish_secret) 用の非公開パスフレーズの設定を必要とするようになりました。」対応 6
9 PHPファイルでchmodエラー | PHP(プログラミング言語) 5
9 設定 2019/1/22 / 一般ユーザがmailコマンドでメール送信 / 管理者がmailコマンドでメール送信 5
10 Postfix | メール処理システム 4
10 CentOSでcpコマンド動作確認するためには、Control + T ではなく、 -v オプションを使用 | cp(Linuxコマンド) 4
10 499 (Request has been forbidden by antivirus) | HTTP(通信プロトコル) 4
10 tar | Linuxコマンド 4
10 Python 3.6 インストール / make altinstall | Python(プログラミング言語) 4
10 「CentOS6」から「CentOS7」への移行 | CentOS 7 (CentOS) 4
10 echo と cat の違い 4
2021/9/21 1:01 更新