2017年5月27日土曜日

Let's Encript

無料のSSL証明書が、メジャーなアプリのルート証明書に登録された認証局から発行されるとのこと。SSL証明書を入手するにはお金がかかるし、手間もかかるので見送っていたが、やってみることにした。

下記当たりの記事がとても参考になりました。

  • http://knowledge.sakura.ad.jp/knowledge/5573/
  • https://hyper-text.org/archives/2016/10/lets_encrypt_ssl_quick_start.shtml
  • https://letsencrypt.jp/usage/install-certbot.html
  • https://hyper-text.org/archives/2015/01/full_time_ssl_website_quick_start.shtml

自分で確認した感じ。。。。
  • 証明書系
    • DV証明書がでる。まあSSL暗号化で利用する分程度に問題ない証明書と思えばよいのかな。
    • 証明書のレベルってこんな感じ?
      • DV証明書:ドメインとサイトが同じ管理者を確認。フィッシングなどでユーザ側のタイポとかのちょっとしたミスで別のサイトに行っても正しい証明書が出る。
      • OV証明書:申請者企業があることを証明。フィッシングサイトを作ることもできるが、企業情報を認証局に送るので逃げることができない。(実際には、逃げるやり方はいっぱいあるだろけど。)
      • EV証明書:信頼できる!(ようわからんが)
  • 仕組み系
    • certbotというツールが標準
    • ACMEというプロトコルで実施する
    • 取得できる証明書はドメインとサイトが「正しい」こと。
    • 「正しい」のは1(certbotが稼働するなかで)認証局からWebサーバにアクセスして、想定されるコンテンツがあることを確認する。
    • Webサーバは、以下のどちらの方法も可能。
      • certbotが起動してくれる方法(デフォルト?)
      • 既存で起動しているWebサーバにコンテンツを置く(オプションで-wしてdocumentrootパスを指定)する方法。
とりあえず、無料証明書うれしいっす!!

2017年4月30日日曜日

ubuntuでnokogiriをgemでインストール

「Ubuntu 16.04.2 LTS」にはlibzがシステムインストール(※1)されている。 なのに、gemでnokogiriをinstallしようとしたら、libzがないといわれてしまう。
システムのlibzを使いたいとおもい色々ググった結果(※2)、以下でOKみたい。 「--」で「extconf.rb」にオプションを渡せるようだ。

% gem update nokogiri -- --use-system-libraries

しかし、これだけではpkg-configで「libxml-2」、「libxslt」、「libexslt」が見つからないといったエラーが出てしまっているので、libxml2-dev、libxslt1-devをパッケージでインストール。pkg-config用の「.pc」ファイルが作成された(※3)。これでinstalを進めたらうまくインストールできた。

bundle対応

bundleでインストールする際にオプションをつけたい場合には、bundle configコマンド(※4)で対応。
% bundle config build.nokogiri --use-system-libraries
このコマンドを実行すると「~/.bundle/config」に設定が書き込まれるようだ。
(※1) /lib/x86_64-linux-gnu/libz.so.1
(※2) http://www.nokogiri.org/tutorials/installing_nokogiri.html
(※3) /usr/lib/x86_64-linux-gnu/pkgconfig/{libxml-2.0,libxslt,libexslt}.pc
(※4) http://ruby.studio-kingdom.com/bundler/bundle_config/#build_options