iPhone用ページに自動で転送する

【MovableType】iPhone用テンプレートの導入 | blog.delphinus.dev」では iPhone 用のページを作成し、切り替えて利用できるようにした。しかし、実際に使うときにはPCで見たときは PC 用ページ、iPhone で見たときには iPhone 用ページを表示して欲しい。そんなときは Apache の mod_rewrite モジュールを利用する。ここのサイトが詳しかった。

杉浦とホームページ製作〜 URL を書き換えろ!「Rewrite 機能とは」
http://www.nurs.or.jp/~sug/homep/rewrite/rewrite1.htm

Apache の設定を確認

httpd.conf に次の一行があるか確認する。そもそもこれがないとモジュール自体が機能しない。

LoadModule rewrite_module libexec/apache2/mod_rewrite.so

そして肝心の「iPhone 用のページに自動で転送する」ためには次の設定を使う。

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} (iPhone|iPod)
RewriteCond %{REQUEST_URI} !^/m/
RewriteRule ^(.*)\.html$ /m/$1.html [L]

User-Agent 文字列に「iPhone」「iPod」を含み(2 行目)、要求された URI が「/m/」で始まらない場合は(3 行目)、HTML ファイルの要求を「/m/」ディレクトリにある同名のファイルへ転送する(4 行目)。これをどこに書くかは二通りある。

  1. httpd.conf(またはそこにインクルードされるファイル)に書く
  2. 転送したいファイルのあるディレクトリの .htaccess に書く

Continue reading

【MovableType】iPhone用テンプレートの導入

IMG_1031.PNG

MovableType の iPhone 用テーマを導入してみた。この種のテーマでは crema 氏による iPhone テンプレート for MTがデファクトスタンダードのようだが、インストール手順が非常に煩雑だったことで導入をためらっていた。

そんなとき、もう一つの選択肢を発見。

Ogawa::Buzz: Pluggable なテンプレートセットを実現する Templetsフレームワーク
http://blog.as-is.net/2008/08/pluggable-templets.html

このプラグインを使うと、ベースとなるテンプレートに対して小さなテーマの固まり(「テンプレット」と呼ばれる。)を追加することができる。デフォルトで上述の「iPhone テンプレート for MT」を「テンプレット化」したものが用意されており、導入がだいぶ簡単になっている。手順は次の通りだ。

  1. テンプレットプラグインのインストール
  2. iPhone テンプレットをインストール
  3. 現在のテーマにテンプレットを適用する

Continue reading

【Mac OS X】newsyslogを使ってログローテートする

Mac OS Xにおいて定期的なログローテートを行うには「newsyslog」を使う。今回はApacheとSquidのログについて設定する。設定ファイル「/private/etc/newsyslog.conf」に、以下の行を追加した。

#### Apache用の設定
/var/log/apache2/access_log 644 7   *   $W1D04  JB  /var/run/httpd.pid
/var/log/apache2/error_log  644 7   *   $W1D04  JB  /var/run/httpd.pid
#### Squid用の設定
/opt/local/var/squid/logs/access.log    squid:squid 644 7   *   $W1D04  JB  /opt/local/var/run/squid/squid.pid
/opt/local/var/squid/logs/cache.log     squid:squid 644 7   *   $W1D04  JB  /opt/local/var/run/squid/squid.pid
/opt/local/var/squid/logs/store.log     squid:squid 644 7   *   $W1D04  JB  /opt/local/var/run/squid/squid.pid

以降の説明は以下のサイトを参考にさせていただきました。

MacOSXでサーバー稼業 : Web共有機能のログをローテーションさせよう
http://earlybirds.ddo.jp/namahage/inegalog/article.php?id=64
newsyslog.conf(5) OS X Manual Page
https://developer.apple.com/library/mac/#documentation/darwin/reference/manpages/man5/newsyslog.conf.5.html#//apple_ref/doc/man/5/newsyslog.conf

Continue reading

【MovableType】iPhone用管理ツール「iMT」がMT5に正式対応

iPhoneなどのスマートフォンで記事の投稿・編集、コメントの閲覧・削除などが行えるプラグイン、「iMT」がバージョンアップしてMT5に対応してた。

iMT – iPhone Interface for Movable Type
http://plugins.movabletype.org/imt/

インストール方法はこちら。MT4用の文書だが、MT5でも方法は変わっていない。

Movable Type 4 を iPod touch または iPhone で利用する
http://www.movabletype.jp/documentation/appendices/imt.html

Continue reading

【Mac】iPhoneで高画質なニコニコ動画(3G + VPN編)

【Mac】iPhoneで高画質なニコニコ動画(Wi-Fi編) | blog.delphinus.devではeXstreamNicoを使ってWi-Fi環境でニコニコ動画を視聴するところまで書いた。3Gで視聴するためにはルータなどでポートを開けるだけでよい(多分)のだが、認証機構が存在しないので色々と問題がある。

だったら通信経路自体を暗号化しよう! というのがVPN。VPNとはVirtual Private Networkの略で、公衆回線を経由していながら、自宅や会社などのLAN内と同じセキュリティレベルと利便性を維持するための技術だ。

Virtual Private Network – Wikipedia
http://ja.wikipedia.org/wiki/Vpn

携帯機器 ---(3G)---> 自宅の鯖 ---(通常の回線)---> 外部
    +----- 暗号化 ------+

こんなイメージになる。別にニコニコ見るためだけに導入するような技術ではない。安全に自宅鯖へアクセスできるのでLAN内でしか許されないようなサービスを利用しやすい。通信は必ず自宅を経由することになるので、携帯機器からのアクセスを禁じているサービスも利用可能になる1

デメリットは、ネットワーク的に廻り道をすることになるので速度が犠牲になる(ことが多い)。また、携帯機器で使う場合は通信の暗号化・複合化に電池をもりもり食うのでその辺にも注意が必要。

その他注意点として、通信はあくまで3G回線を経由するので回線使用料はきちんと取られる。僕みたいに毎月iPhoneを限度額以上に使っているのなら今更気にすることではないけどね2

前置きが長くなった。では、実際にVPNを使うための設定をしていこう。例によって、Macでの設定方法だ。

Continue reading

【Mac】iPhoneで高画質なニコニコ動画(Wi-Fi編)

「3G + VPN編」をアップしました → Go!

iPhoneは標準アプリでYoutubeに対応しており、App Storeからアプリ(Peece.TVなど)をダウンロードすれば他の動画サイトにも接続できる。

しかし、ニコニコ動画だけは視聴できない。一応、公式アプリもあるので不可能とは言えないのだが、ほとんどの動画は有料会員専用だし、画質も非常に低レベル。カスタマーレビューには怨嗟の声が満ちあふれている。

そこで登場したのがこれだ。

eXstreamNico
http://itunes.apple.com/jp/app/exstreamnico/id344415552?mt=8&ign-mpt=uo%3D6

予めPC or Macにサーバソフト(無料)をインストールしておくことで、iPhoneのアプリ(こっちは有料)からアクセスしたときに、動画をトランスコードしながらストリーミング配信してくれるのだ。トランスコードのパラメータは自由に設定できるので、(回線状況が良ければ)公式アプリよりも遙かに高画質で視聴できる。

いいことずくめではあるのだが、いくつか問題がある。

  1. サポートサイトには必要最低限の説明しかないので初心者には導入が困難。
  2. iPhoneアプリのUIは日本語化されていない(日本人のソフトなのに……)。
  3. 視聴するときに認証機構が存在しない。ローカルで使うなら問題ないが、外から使いたいときは一工夫必要。
  4. そもそもニコニコ動画の利用規約的にはグレー?

Continue reading

/dev/nullの消失

今日は外からSSHでログインしサーバ管理をしていた。設定ファイルを書き換えてサーバ(確かsnmpdだった)を再起動。起動したか確認しようとしたところ……

$ ps aux | grep snmpd
Illegal instruction

えっ?……えっ?? psコマンドが動かない。別のウィンドウ(GNU Screenを使っていた)でもダメだし、sudo付きで実行しても全く同じメッセージで止まってしまう。

Illegal instruction」でググってみるが、同様の症状は見つからない。そのとき、さっきのサーバの起動でログの出力先を「/dev/null」にしたのを思い出した。確認してみると、

$ ls /dev/null
ls: /dev/null: No such file or directory

うわああぁぁああぁぁあ。どうすんの?これ直せるの?

あ、そうだ。Time Machine!!……でもコマンドラインじゃ使えない……1

Continue reading