ArchLinuxでLet'sEncryptをさくっとためす

この記事はArch Linux Advent Calender 2015の4日目です。

#概要
Let's EncryptがついにPublic Betaになりました。のでArchLinuxでさくっとためしてみました。（Arch関係ないじゃんとは言わないで）

Archでは、本記事執筆時の12/4時点でCommunityリポジトリにLet'sEncryptがありました。
https://www.archlinux.org/packages/community/any/letsencrypt/

```
[root@localhost ~]# pacman -Ss letsencrypt
community/letsencrypt 0.1.0-1
    A tool to automatically receive and install X.509 certificates to enable TLS on servers. The client will interoperate with the Let・ｽE・ｽfs
    Encrypt CA which will be issuing browser-trusted certificates for free.
community/letsencrypt-apache 0.1.0-1
    Apache plugin for Let's Encrypt client
community/letsencrypt-nginx 0.1.0-1
    Nginx plugin for Let's Encrypt client
community/letshelp-letsencrypt 0.1.0-1
    Let's help Let's Encrypt client
```

今回はさくっとつかえそうな、`letsencrypt-nginx`をインストールして使ってみます。

#事前準備
let's encryptを実行するサーバをドメイン名で引けるようにしておきます。
あとはnginxもインストールしておきます。

#インストール
```
[root@localhost ~]# pacman -S letsencrypt-nginx
依存関係を解決しています...
衝突するパッケージがないか確認しています...

パッケージ (36) dialog-1:1.2_20150920-1  letsencrypt-0.1.0-1  python2-acme-0.1.0-1  python2-cffi-1.3.1-1  python2-chardet-2.3.0-2
                python2-configargparse-0.10.0-1  python2-configobj-5.0.6-2  python2-cryptography-1.1.1-1  python2-enum34-1.0.4-1
                python2-funcsigs-0.4-1  python2-idna-2.0-2  python2-ipaddress-1.0.15-1  python2-mock-1.3.0-3
                python2-ndg-httpsclient-0.4.0-2  python2-packaging-15.3-2  python2-parsedatetime-1.5.20151107-1  python2-pbr-1.8.1-1
                python2-pip-7.1.2-2  python2-ply-3.8-1  python2-psutil-3.2.2-1  python2-pyasn1-0.1.9-1  python2-pycparser-2.14-2
                python2-pyopenssl-0.15.1-2  python2-pyparsing-2.0.5-1  python2-pyrfc3339-1.0-1  python2-pythondialog-3.3.0-1
                python2-pytz-2015.7-1  python2-requests-2.8.1-1  python2-setuptools-1:18.7.1-1  python2-six-1.10.0-1  python2-urllib3-1.12-3
                python2-werkzeug-0.11.2-1  python2-zope-component-4.2.2-1  python2-zope-event-4.1.0-1  python2-zope-interface-4.1.3-2
                letsencrypt-nginx-0.1.0-1

合計ダウンロード容量:   4.66 MiB
合計インストール容量:  30.71 MiB
:: インストールを行いますか？ [Y/n] y
```

数秒待てばインストールが完了します。

```
[root@localhost ~]# letsencrypt --help

  letsencrypt [SUBCOMMAND] [options] [-d domain] [-d domain] ...

The Let's Encrypt agent can obtain and install HTTPS/TLS/SSL certificates.  By
default, it will attempt to use a webserver both for obtaining and installing
the cert. Major SUBCOMMANDS are:

  (default) run        Obtain & install a cert in your current webserver
  certonly             Obtain cert, but do not install it (aka "auth")
  install              Install a previously obtained cert in a server
  revoke               Revoke a previously obtained certificate
  rollback             Rollback server configuration changes made during install
  config_changes       Show changes made to server config during installation
  plugins              Display information about installed plugins

Choice of server plugins for obtaining and installing cert:

  (the apache plugin is not installed)
  --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

OR use different plugins to obtain (authenticate) the cert and then install it:

  --authenticator standalone --installer apache

More detailed help:

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

   all, automation, paths, security, testing, or any of the subcommands or
   plugins (certonly, install, nginx, apache, standalone, webroot, etc)

```

#実行
さくっと実行します。

```
[root@localhost ~]# letsencrypt --nginx -d www.example.com
```

実行すると、「Easy」か「Secure」が選べますが、とりあえず「Secure」を選んでおきます。

これで完了です。（本当にこれだけ！）

#テスト
![letsencrtpt.png](https://qiita-image-store.s3.amazonaws.com/0/36522/2961a130-8edd-0ccf-f157-1cdc7703b218.png)

#まとめ
こんな簡単にHTTPS化ができるなんて、本当にすごい時代になったものです。
ArchLinuxだとすでに公式リポジトリ(Communityですが、AURではない）にあがっているのでさらに簡単でした。
こうやって最新のツールをさくっとためしたり、新しいバージョンをすぐにつかってみたりできるのが、Archの魅力だと思います。みんなもArchをつかってみよう！（雑なまとめ）