2012-08-01
_ 日記を IPv6アドレスからでも閲覧できるようにしてみた
利用しているプロバイダーで今日から IPv6アドレスが割り当てられるようになったので,せっかくなのでこの日記も IPv6アドレスからでもアクセスできるようにしてみた.
さくらの VPS では「さくらの6rd(トライアル)」として,IPv6接続サービスを提供されているのでサーバー側はこの手順の通りに設定しています.
割り当てられた IPv6アドレスで Web サーバーにアクセスできるように設定します.ここでは Nginx を利用していて,以下の定義を追加しました.
server { listen [2001:e41:31d4:9423::1]:80; ...
その後,上記のターゲットとホスト名を DNS 情報に登録してしばらく待って,以下のように確認.
$ dig -t AAAA www.smallstyle.com ... ;; ANSWER SECTION: www.smallstyle.com. 3536 IN AAAA 2001:e41:31d4:9423::1
ブラウザでも指定したサーバー名でアクセスすると問題なく表示され,Nginx の AccessLog にも IPv6アドレスでアクセスされたログが記録されていたので,ひとまず IPv6アドレスでのアクセスは問題ないことが確認できた.
せっかく IPv6アドレス対応したのでIPv6アクセスを Google Analytics で計測するを参考にして,この日記でも同様の設定してみた.IPv6アドレスかどうかの判断は以下のようなプラグインで判定している.
require "resolv" def ipv6? Resolv::IPv6::Regex =~ @cgi.env_table_rack['HTTP_X_REAL_IP'] end
このプラグインで接続元の IP アドレスが IPv6アドレスかどうかを判定するようにしている.Rack 環境だと remote_addr からではなくて,上記のように取得しないと接続先の IP アドレスは取得できない.ひとまずついさっき仕込んだばかりなので,Google Analytics での計測がうまく動作しているかどうかはまた今度.
2012-08-07
_ 音を使って情報を共有する Chirp を試してみた
音を使ってアドレスや画像などのデータを共有できる Chirp という iPhone アプリを試してみました.Chirp は,受信した音声をもとにデータをダウンロードする仕組みのようです.
Chirp の Blog のいくつかのエントリーにある黄色のボタンをクリックすると Chirp の音声が再生されます.この音声を iPhone にインストールした Chirp のアプリで受信すると,関連付けられたデータがダウンロードされます.
音声を受信するだけでデータを取得できるというのは面白い.近くでテレビの音声を流したり,音楽を再生している環境で,Chirp の音声を再生しても,ちゃんと認識してデータのダウンロードを行えました.
2 台の iPhone に Chirp をインストールして,iPhone 同士で Chirp を利用してデータをやり取りすることも可能です.データは Chirp のサーバーにいってしまうので,なんでもかんでもというのは躊躇してしまいますが.
Android アプリやその他のプラットフォームでのアプリも出てくるみたいで,新しいデータの転送手段のひとつとして盛り上がってくると面白そう.
2012-08-08
_ IPv6アドレスでのアクセスの割合
今月からこの日記へ IPv6アドレスからもアクセスできるようにしてみたのですが,IPv4 と IPv6 でアクセスはどのくらいの割合になるのか 1 週間分の Google Analytics のデータを確認してみました.
アクセス数が少ないサイトなのであまり参考にならないとは思いますが,結果としては IPv6 アドレスのアクセスは全体の 3% ほどでした.
2012-08-09
_ SFTP で chroot する
とあるサーバーにファイルをコピーするのに SFTP を利用するときに,アップロード用のディレクトリ以外は見せたくなかったので,chroot できるように設定した.条件としては,アップロードするユーザーは SFTP 専用のユーザーとし,それ以外の操作はできないようにする.また,認証は公開鍵認証とする.以下,設定手順の覚え書き.
ユーザーの作成
まずは SFTP 専用のユーザーを作成し,鍵ファイルを作成する.
# useradd sftpuser # su - sftpuser $ mkdir .ssh $ chmod 700 .ssh $ ssh-keygen $ cat id_rsa.pub >> authorized_keys
SFTP の設定
sftp 時に chroot できるように OpenSSH サーバーの設定を変更する.特定のユーザーの場合において,強制的に internal-sftp を利用するよう指定し,さらに ChrootDirectory を指定することで,クライアントに対してファイルシステムのルートディレクトリを変更することができる.
# sshd_config Match User sftpuser ForceCommand internal-sftp ChrootDirectory /opt/sftpuser
ここでは Match ブロックの条件を User とし,特定のディレクトリに対して chroot したが,Group や Host などでも条件を指定できるので,状況に応じて使い分けできる.ChrootDirectory についても %u でユーザー名の指定もできる.
ワーキングディレクトリの作成
chroot の上位ディレクトリはすべて root が所有していなければならず,他のユーザーやグループが書き込みできるようになっていない必要がある.
# mkdir /opt/sftpuser # chown root.root /opt/sftpuser # chmod 755 /opt/sftpuser
書き込み用のディレクトリの作成
ワーキングディレクトリは SFTP ユーザーは書き込み権限をもたないため,書き込み可能なディレクトリを作成する.
# mkdir /opt/sftpuser/files # chown sftpuser.sftpuser /opt/sftpuser/files # chmod 755 /opt/sftpuser/files
これで当初の目的のとおりの環境を作成することができた.実際に WinSCP など SFTP に対応したクライアントでアクセスすると,chroot 先の上位ディレクトリには移動できず,書き込み可能なディレクトリにのみファイルをアップロードできた.
上記は以下のサイトを参考にしました.
2012-08-21
_ 虫歯の治療(1)
1本だけ親知らずが斜めになっていて,ハブラシが届きにくい場所があるので歯磨きするときには特に注意して磨くようにはしていたのだけれど,最近,冷たいものを口にしたり,強くかんだときに痛みを感じるようになったので,歯医者で見てもらったところ,努力もむなしく虫歯になってしまっていた.年に1回は歯科検診など受けてみてもらってはいたけど,レントゲンをとってみないとわからない感じなようでした.レントゲンの写真を見てみると,歯科医から説明される前に,素人の自分が見てもわかるくらいの虫歯だったので,それなりに進行してしまった虫歯のよう.
今日の治療は,麻酔後に虫歯の部分を削って,詰め物の型を取って,仮の詰め物をして終了.長らく虫歯はなかったので,久々の虫歯治療で歯をかなり削られたけど,麻酔をしてても痛かった….麻酔が切れてくると,削った部分の歯がえらく痛みだしてくるし,息するだけでも痛かったりとなかなかきつかった.夜になって多少痛みはひいてきたけど,冷たいものを口にしたり,ものをかんだりするとまだ痛む.数日は様子見だろうし,来週には,今日,型をとった詰め物に置き換わるので,これで楽になれるといいのだけど.治療後に痛みがひどければ神経を取ってしまう必要もあるかもということだったけど,さてどうなることやら…
2012-08-28
_ 虫歯の治療(2)
先週,削って仮詰めしていた部分を型取りした詰め物に入れ替え.歯に比べて金属なので熱いものや冷たいものの刺激が強いので慣れるまでは結構痛いということだったけど,想像以上に痛い…さすがにちょっとがまんできなかったので,ロキソニンを服用.30分ほどでひとまず痛みからは解放された.先週も仮詰めの状態で2,3日は結構痛かったので慣れるまで少し辛抱だな.
親知らずの生え方が悪いのでセメントとるのにも苦戦されていたようで,思ったよりも時間がかかってしまったよう.痛みがひどいようだと神経を抜くことになるようだけど,なんとかこのまま残せるといいけどということ.
来週は経過の確認と全体のクリーニングをしてひとまず完了の予定.