Diary/2008-07-24

最終更新時間:2010年09月10日 23時47分10秒

 [iPod]iPhone 2.0 + lighttpd でローカルをブラウズ

当初動かなかった lighttpd が動く事が確認出来たんで Memo。
まず、Mac から ssh でログインして lighttpd としてみたらちゃんと返事が返ってきたんで、あ、こりゃ動くねぇ。と、
じゃ、なぜ起動しないんだ?config 何タラ -f 使えとか返事してきてるけど、lighttpd 全くの素人なんでチンプンカンプン。とりあえず Google さんに lighttpd -f ってなんじゃ?聞いてみたら lighttpd -f <configfile> らしい。ふ〜ん configfile 何処じゃと検索しても iPod Touch の中にはみつからず。Google さんに再度来いいたら「Cydia で入れると無いよ」言われた。んだもんでどう書きゃいいのか検索。で、出来たのがとりあえず以下。/etc/lighttpd.conf。これだと root 起動しちゃうので iPhone だと危険な事も有る、鴨w。とりあえずわしは無視。

# index
server.document-root = "/private/var/mobile/Media/"
dir-listing.external-css = "/style.css"
server.dir-listing = "enable"
dir-listing.hide-dotfiles = "enable"
dir-listing.encoding = "utf-8"
index-file.names = (
	"index.html",
    "index.shtml"
)

# mimetype mapping
mimetype.assign             = (
  ".pdf"          =>      "application/pdf",
  ".sig"          =>      "application/pgp-signature",
  ".spl"          =>      "application/futuresplash",
  ".class"        =>      "application/octet-stream",
  ".ps"           =>      "application/postscript",
  ".torrent"      =>      "application/x-bittorrent",
  ".dvi"          =>      "application/x-dvi",
  ".gz"           =>      "application/x-gzip",
  ".pac"          =>      "application/x-ns-proxy-autoconfig",
  ".swf"          =>      "application/x-shockwave-flash",
  ".tar.gz"       =>      "application/x-tgz",
  ".tgz"          =>      "application/x-tgz",
  ".tar"          =>      "application/x-tar",
  ".zip"          =>      "application/zip",
  ".mp3"          =>      "audio/mpeg",
  ".m3u"          =>      "audio/x-mpegurl",
  ".wma"          =>      "audio/x-ms-wma",
  ".wax"          =>      "audio/x-ms-wax",
  ".ogg"          =>      "application/ogg",
  ".wav"          =>      "audio/x-wav",
  ".gif"          =>      "image/gif",
  ".jar"          =>      "application/x-java-archive",
  ".jpg"          =>      "image/jpeg",
  ".jpeg"         =>      "image/jpeg",
  ".png"          =>      "image/png",
  ".xbm"          =>      "image/x-xbitmap",
  ".xpm"          =>      "image/x-xpixmap",
  ".xwd"          =>      "image/x-xwindowdump",
  ".css"          =>      "text/css",
  ".html"         =>      "text/html",
  ".htm"          =>      "text/html",
  ".js"           =>      "text/javascript",
  ".asc"          =>      "text/plain",
  ".c"            =>      "text/plain",
  ".cpp"          =>      "text/plain",
  ".log"          =>      "text/plain",
  ".conf"         =>      "text/plain",
  ".text"         =>      "text/plain",
  ".txt"          =>      "text/plain",
  ".dtd"          =>      "text/xml",
  ".xml"          =>      "text/xml",
  ".mpeg"         =>      "video/mpeg",
  ".mpg"          =>      "video/mpeg",
  ".mp4"          =>      "video/quicktime",
  ".mov"          =>      "video/quicktime",
  ".qt"           =>      "video/quicktime",
  ".avi"          =>      "video/x-msvideo",
  ".asf"          =>      "video/x-ms-asf",
  ".asx"          =>      "video/x-ms-asf",
  ".wmv"          =>      "video/x-ms-wmv",
  ".bz2"          =>      "application/x-bzip",
  ".tbz"          =>      "application/x-bzip-compressed-tar",
  ".tar.bz2"      =>      "application/x-bzip-compressed-tar",
  # default mime type
  ""              =>      "application/octet-stream",
 )

それと、このままじゃ Safari でブラウズしても文字が小さくみにくいので css も用意。/private/var/mobile/Media へ style.css。

body,table{
  width:980px;
}

a,.n,.t{
  height:150px;/* =* line-heigh */
}

*{
  line-height:150px;/* =a,.n,.t height */
  font-size:48px;
  margin:0;
  padding:0;
  font-family: "Arial Unicode MS"; 
  vertical-align:middle;
  font-weight:bold;
  text-decoration:none;
  background-color:#2e2e2e; /* =.n color */
}

td{
  display:block;
  overflow:hidden;
  border-bottom:5px solid #595959;
}

.n,.t{
  float:left;
}

.n{
  color:#2e2e2e; /* =background-color */
  width:760px;
}

a{
  color:#e5e5e5;
  width:740px;
  text-indent:40px;
  display:block;
  float:left;
  overflow:hidden;
}

.t{
  font-size:35px;
  width:220px;
  color:#7f7f7f;
}

h2,th,.m,.s,.foot{
  display:none;
}


以下のコマンドで起動。

sudo lighttpd -f /etc/lighttpd.conf

再起動は

sudo killall lighttpd

このままじゃ iPod Touch 再起動毎に起動コマンドを打つ必要が有るので、自動で起動する様に /Library/LaunchDaemons へ net.lighttpd.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>Label</key>
	<string>net.lighttpd</string>
	<key>OnDemand</key>
	<false/>
	<key>Program</key>
	<string>/usr/sbin/lighttpd</string>
	<key>ProgramArguments</key>
	<array>
		<string>/usr/sbin/lighttpd</string>
		<string>-f/etc/lighttpd.conf</string>
		<string>-D</string>
	</array>
</dict>
</plist>

だいたいこんな感じで NewsClip ビューワな iPod Touch(iPhone 2.0) の出来上がり。もちろんエクセル・ワード・PDF・各種画像に動画も見れます。


  • このページのlighttpdで念願のオフライン表示ができました。私はこれまでapacheでしたのでなんとか2.0でも動かないかと・・・cydiaのAPRをinstallすると/usr/binにapr-1-configができ、terminalーsshで、同じ様に反応はあるのですが英語がよく解らない上に、その説明内容も????インターネットやgoogleで参考になるものはないかと探していましたらここにたどり着きました。全くありがたいページで頭が下がります。cssなどを少し直させていただいて使わせていただきます。(感謝!感謝!) - takaho0319 (2008年07月25日 02時02分55秒)
  • APR... ほぉ。Cydia にも Apache 有ったんですか...。知らなかったですなぁ。知っていたら、きっと lighttpd チャレンジしていないですw。ま、そんな話はさておき、お役に立てて幸いです。Apache と比べて index 関係はやれる事が少ないですけど、噂に違わず lighttpd は動作軽快でかなり気に入りましたよ。それと、ここに書いてあるままだとセキュリティーが×だと思いますんで、root で起動させないとか、localhost からしかアクセス出来ない様にするとか、何かしらしたほうが良いと思います。 - kitta (2008年07月25日 13時29分44秒)
  • あ、会社に iPod touch 忘れて来ちゃった...。 - kitta (2008年07月25日 20時39分32秒)

コメントページを参照

お名前: コメント:

trackbackプラグインは存在しません。

ヘルプ 検索 ソース Farm 一覧 差分 トップ ログイン