お手軽無料のSSL証明書発行サービス Let’s Encryptを使ってみる

ちょいと前ですが、正式サービスが開始されたようなのでLet’s Encrypt を使ってみた。

README / Introduction — Certbot 0.7.0.dev0 documentation

インストール

user@webserver:~$ git clone https://github.com/letsencrypt/letsencrypt
user@webserver:~$ cd letsencrypt
user@webserver:~/letsencrypt$ ./letsencrypt-auto --help

インストールなのかヘルプなのかよくわからないコマンドですが・・・。

インストールが終わるとパスが表示されるので、パスを通すなりなんなりする。

詳しい使い方はヘルプで。

$ letsencrypt --help all

SSL証明書の発行の仕方

nginxはbuggyだって書いてるので、certonlyで行う。apacheならインストールまでしてくれるっぽい。

nginxを使っていて、

  • domainが hoge.com
  • webのrootが /var/www/hoge.com

の場合

まず、普通にウェブを80ポートで動かして、アクセスできる状態にする。
認証の仕組みとしては、上記の webrootに認証用のファイルを配置して、letsencryptのサーバーからそこにアクセスして確認するっぽい。

証明書の発行は次のコマンド

sudo letsencrypt certonly --webroot -d hoge.com -w /var/www/hoge.com

処理が終わると、/etc/letsencrypt/live/hoge.com に証明書が保存される。

nginxへの設定

今回はすでに別のSSL証明書を設定しているnginxにドメインを追加しての設定だったので、SNI機能が有効かを確認。

$ nginx -V 2>&1 | grep SNI
TLS SNI support enabled

問題なければ、設定ファイルをつくる。

server {
    listen 443;
    server_name hoge.com
    ssl on 
    ssl_certificate /etc/letsencrypt/live/hoge.com/cert.pem
    ...

証明書の更新

サーバーにインストールしているすべての証明書のうち期限が近い証明書を更新する。

sudo letsencrypt renew

個別に更新したい場合には、発行時と同じコマンドを動かし、Renewを選択する

sudo letsencrypt certonly --webroot -d hoge.com -w /var/www/hoge.com

直接操作できないサーバーの場合

FTPのみの場合であれば、–manualで表示された内容を自分で設置すると同じようにSSL証明書を作成できる。

sudo letsencrypt certonly --manual -d hoge.com

instagramタグ検索とjquery-mobile

(´ぅω・`)

instagramのタグ検索とjquery-mobileで作ってみました。

これ
pcからjquery-mobileのレイアウト見るときはこっち
そ〜す

110415-0001.jpg

110415-0002.jpg

とりあえず、忘れないうちにってことで。
・pythonでflaskを使ってみた。
・nginx、gunicornを利用して動かしてみた。
 よくわからないけど、meinheldも使ってみた。
・jquery-mobileを使ってiphoneから見れるように。

気になること

・pythonでアプリを作って実稼働させるときってどうすりゃいいんだろ。
 nginx+gunicornで動かしてみたけど、これでよいのかなぁ。
・必要なライブラリなんかは、開発でvirtualenv使って、pip freezeとかで揃えるのかな。
・jquery-mobileは適用するとさっそくおしゃれになってくれるけど、iphoneのブラウザでページ遷移するときに、(ロードしなきゃいけないときに?、)上からメニューが降ってきたりして邪魔臭いし、動きがきもい。

nginxでwordpressを高速化

この記事(WordPressを100倍速くする! MySQLの調整やnginx proxy cache | KRAY Inc)をみて、触りたかったけど放置していたnginxがもう我慢できなーいになってしまいましたケロッグ。

Web Server Survey | Netcraftによると2011年1月のウェブサーバのシェアはapache 59.13%、iis 21.00%、nginx 7.50%となっています。
なかなか元気です。

というわけで、まずはこのブログをnginx上で動かしてみました。
nginx+php(fastcgi)+nginx cache+mysql+wordpressです。
簡単にabで計測してみたところは以下の通り。

Requests per second:
|~apache|~nginx(キャッシュなし)|~nginx(キャッシュ)|
|5.47 |14.74 |335.43 |

キャッシュありは比較するようなものではありませんが、とても早いですね。
キャッシュ効かせなくても通常のapacheよりは軽快に動作してくれそうです。