Let’s Encrypt とはなんぞや。
無料の証明書を使って、httpsにするものである。
ちょっと調べたら、Let’s Encrypt で証明書を取得する方法が想像以上に簡単だったのでお勧めする。
以下は、CentOS6.9 + Apache に証明書を導入する方法をざっくりと記載する。
導入
epelのリポジトリを追加
# yum install epel-release
パッケージをインストールする場所にカレントディレクトリを移動。自分はrootのホームディレクトリにした。
# cd ~
wgetコマンドでパッケージを落としてくる。
# wget https://dl.eff.org/certbot-auto
ディレクトリの権限を変更
# chmod a+x certbot-auto
certbot-autoを実行する。これより対話的に証明書のインストールが開始される。
# ./certbot-auto
途中でyes no 聞かれるので、yと答える。
総ダウンロード容量:49M これでいいですか?[y/N]
なんかエラー (CentOS6の場合はでる可能性大の模様)
# ./certbot-auto: line 530: virtualenv: コマンドが見つかりません
解決策で、Python入れろとのこと。
# yum install centos-release-scl
Python27をインストール
# yum install python27 python27-python-tools
Python27をroot権限で一時的使うようにする。
scl enable python27 bash
再度、certbot-auto実行
# ./certbot-auto
Emailの入力を催促されるので適当に入力
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.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 -------------------------------------------------------------------------------
emaiに何か送ってもいいか~?的な
------------------------------------------------------------------------------- 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. -------------------------------------------------------------------------------
virtulhostの場合、どのドメインに割り当てるか聞かれるので該当の数を入れる。
ちなみに、virtualhostでない場合は、ドメイン直接入力して~的な画面が出る。
Which names would you like to activate HTTPS for? ------------------------------------------------------------------------------- 1: gomocool.net 2: gomokulog.gomocool.net 3: xxxxxx -------------------------------------------------------------------------------
HTTPに来たらHTTPSにアクセスをリダイレクトするか。
------------------------------------------------------------------------------- 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. -------------------------------------------------------------------------------
以下がでたら成功
------------------------------------------------------------------------------- Congratulations! You have successfully enabled https://toretomo.gomokuro.net You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=toretomo.gomokuro.net -------------------------------------------------------------------------------
更新
ちなみに、3か月で期限は切れる。
cronで./certbot-auto renew を設定すれば、期限が切れそうなものだけ勝手に更新する。
まとめ
何か色々インストールされてごにょごにょされているので、本番サイトで使うのはちょっと怖いが、ステージングサイトにわざわざ証明書入れるの勿体ないとか、お問い合わせ程度のフォームしかないサイトぐらいに証明書をわざわざ購入するもの勿体ないという場合には最高かも。
参考
https://letsencrypt.jp/