potpro (ぽとぷろ)
Full-stuck engineer(Not Full-stack)
JS/PHP/Go/Docker/Nginxなど。技術または趣味寄りの発信ブログです。
全 85 記事無償利用で使えるSSL証明書"Let's Encrypt"を仮想環境で動かしてみたかった
無償利用で使えるSSL証明書"Let's Encrypt"を仮想環境で動かしてみたかった
Let's EncryptのDeveloper版がなんか公開されてましたので、なんとなく使ってみました。 まだdeveloper版なので本番環境では使えません。
というか、セキュリティ的に使うなよ!絶対使うなよ! って感じです。
・・・いや、さすがに怖いのでまだ本番では使わないのですが。
Let's Encryptに関しては、ニュースサイトなどで取り上げてるところも多かったので、知ってる人は知ってると思いますが、 簡単に言うと無償で使えるSSL/TLS証明書(ちゃんとした署名付き)が使えます。
これをやっているのでfirefoxのMozillaさんやネットワークのラスボスCiscoさんなんかが参加してる団体です。なので多分セキュリティ的にも問題ないはずです。
無料で容易なHTTPS導入を支援する「Let's Encrypt」、2015年に運用開始へ
このLet's encryptのソースはgithubにあります。
てっきりサイトで証明書だけ発行してダウンロードするタイプと思ったら、 そんなわけではなくインストールして端末からコマンドで発行します。
コマンド1発で証明書を生成することができますが、同時にapacheやnginxサーバーなども作ってくれたりもする様子。こりゃ簡単ですね。 Let's Encryptは、無償で使える以外にも簡単にすぐ扱えることもコンセプトなので、インストールからサーバ構築まで多分数行で終わります。素敵です。
そんなわけで、動かす。仮想環境はご存知Ubuntu15.04を用意。
ダウンロードで1時間掛かりました インストール方法はここにあります。 Using the Let’s Encrypt client
Ubuntuであれば、githubからファイルをダウンロードした後、sudo ./bootstrap/ubuntu.sh
と打つと自動で必要なパッケージを取得してきます。
その後、インストールは、 virtualenv --no-site-packages -p python2 venv
./venv/bin/pip install -r requirements.txt acme/ . letsencrypt-apache/ letsencrypt-nginx/
と打てばいいそうです。
virtualenvとは、pythonの仮想環境らしいのですが、なぜこれを使うかというと、元々のpythonに上書きしてぶっ壊さないようにらしいです。
ちゃんと、注意書きにぶっ壊しても知らねーぞと書いてありました。 で、ここで動かない。どうやら一括でインストールしたはずなのにpipが入っておらず実行できない。
ということで、sudo apt-get install python-pip
で手動インストール。 まだpreview版なせいか、いろいろ警告出てる気がするのですがようやく動いた。 動かすにはこれを入力。
sudo ./venv/bin/letsencrypt auth
すると・・・
わざわざGUIで操作できる親切設計。
今のところ、立てられるサーバはapacheだけの模様。 その後、メールアドレス登録やドメイン名が求められます。 が、途中でエラー出るし、メールアドレスには届かないし・・
githubの説明にも書いてないので、まだ動かないのだろうか。というかまだ認証鯖が動いてないから動かない? まあpreviewなんで。こんな感じで動きますよってことですね。
今、ベータプログラムの募集なんかを行っているようです。
https://letsencrypt.org/2015/09/14/our-first-cert.html
公式ブログによると、正式公開は2015/11/16の週(General availability: Week of November 16, 2015)とのことなので、気長に待ちましょう。