home>>各種設定memo>>月毎覚書

月毎覚書

2009年6月

table of contents

  1. 20090628:MacOS Xで、MSの.chmファイルを閲覧する
  2. 20090628:TextMateのバックスラッシュ入力方法
  3. 20090624:MacPortsで自動作成される利用者がログイン画面に登場する
  4. 20090623:Mediapartners-Googleが来てる?
  5. 20090623:コーヒーモニターとか
  6. 20090623:サイトをつくりはじめる
  7. 20090621:WEB画面取得サイトを使う
  8. 20090620:画像大きさ変更用道具
  9. 20090620:時計表示リンクというのがあるんだ
  10. 20090619:IEは、CSSのmarginをちゃんと認識しないわけだな
  11. 20090619:MacOSXの標準emacsを使う
  12. 20090616:Product Advertising API (旧 AmazonアソシエイトWebサービス)の署名認証に関するお知らせ
  13. 20090613:Kohanaで仮サイトを作る
  14. 20090611:zenphotoに決定
  15. 20090609:くやしいのでMySQLを入れたが、はまり続ける
  16. 20090608:dfgalleryではまり、日和見
  17. 20090607:Kohanaを使い始める
  18. 20090607:phpの入れ直し:PostgreSqlも入れる
  19. 20090607:iTunesライブラリの再構成
  20. 20090607:MacOS XにMovableType4を入れる
  21. 20090605:MacOSXで、MovableType用ImageMagick (PerlMagick)を入れる方法
  22. 20090606:mod_rpafでは接続制限ができない件
  23. 20090606:リバースプロキシのリモートホストIP取得のためにmod_rpafをインストール
  24. MacOSXで、グループメンバーに新利用者を加える
  25. 20090603:web環境の整理:
    1. (目的と方法
    2. 設定
    3. リバースプロキシ用apache2のダイエット)
  1. 20090603:dnsmasqのログ調べ
  2. 20090601:MacOSXのsshポート番号変更について

20090628:MacOS Xで、MSの.chmファイルを閲覧する

http://chmox.sourceforge.net/。ありがたいです。

20090628:TextMateのバックスラッシュ入力方法

option + ¥ で出来る。http://wiki.fdiary.net/textmate/?HowToInputBackSlash

20090624:MacPortsで自動作成される利用者がログイン画面に登場する

いまやapacheサーバーと化したmac mini 君に、ひさしぶりに画面共有でログインしようとしたら、先日入れたpostgresqlの利用者名が画面に登場していた。なんだかなあw

mac_login_pgsql.jpg

20090623:Mediapartners-Googleが来てる?

まだ公開登録は考え中で、誰も知らない筈のこのサイト、http://bsn.river.tcであるが、Mediapartners-Googlegoogle がlogに残っていた。http://www.seo-diary.com/p_158/index.htmlによればgoogleのAdSenseを付けたら来るbotだということなのだが。

20090623:コーヒーモニターとか

ところで、感想をblogに書くという条件のコーヒーモニタープレゼントに、さっき応募しました。当選したら、その感想を(骨格ができたら)最初に書き始めようと思います。当たればいいなあ(アピール).

20090623:サイトをつくりはじめる

2009年6月半ばから、頁をつくりはじめました。6月23日現在、頁の骨格をKohanagoogle で作ってる最中です。

20090621:WEB画面取得サイトを使う

うゑぶ頁を作っていて、閲覧関係で困ることは2つある。

一つはブラウザ別の「見栄え」を調べたい、いま一つは、途中でreverse_proxyを入れたり、中にcURLの処理を入れたりして作ったアプリの頁が、グローバルIPからはマトモに接続出来ているかを調べたい。

これを2つとも同時に解決するには、外部IPから、OS別の20近いブラウザを入れた機械から、逐一接続することだが、さすがにあり得ない。

というわけで、指定したURLの画面を取ってくれるサイトを使ってみた。大昔、40ドル/monthというサイトを使ったことがあったので、多分いまなら日本でもあるだろうということで探したら、http://screenshots.jpというのがあった。。

URL(orブラウザ)別、合計50個閲覧コースの、900円/月というやつです[1]



screenshot_url.jpg

20090620:画像大きさ変更用道具

頁づくり準備も佳境に入り?、MacOS X用の道具を探す。

デジカメールXを使い始める。PNGも読み込めるので、ありがたく使わせていただく。[2]

20090620:時計表示リンクというのがあるんだ

http://www.clocklink.com/で配布しているswf形式の時計表示リンク。一日で2300万ビューがあるらしい。

クリック広告を受け入れれば自由利用可能。下に掲載の時計は、USAワシントン州のHarborstone Credit Unionという信用組合のHomePageとリンクされている。

コードはたったこれだけ。すばらしい

<script src="http://www.clocklink.com/embed.js"></script>
<script type="text/javascript" language="JavaScript">
obj=new Object;obj.clockfile="harborstone001-gray.swf";obj.TimeZone="JST";
obj.width=150;obj.height=150;obj.Place="";obj.wmode="transparent";
showClock(obj);</script>

20090619:IEは、CSSのmarginをちゃんと認識しないわけだな

個人的にはIEを使うことはない[3]とはいえ、頁を公開するとなると、対応が必要になります。普通は、ブラウザの中央になるように頁を置きたいわけですから。単にbodyでmargin:0 autoでOKかと思ったら、IEは効いてくれない。頁全体が、左寄せのまま。。。

text-alignを使ってこれを回避するしかないようで、CSSを使って綺麗な構成をしているサイトのCSSを幾つか眺めてわかったのは、

body要素全体をtext-align:center;とする。

その上で、#wrapperなどの名前で頁全体を囲い、

---

#wrapper
{
	margin:0 auto;
	text-align:left
}

で、中央に戻せばいい。なるほど。

でも、上の#wrapperでmargin-top,padding-topがIEでは効かない。。。これだと下の画像のように、頁上部のスキマを表示できないのである(左はWindows版IE7、右はMac OS X版FireFox 3)。



diff_IE_FireFox.jpg

20090619:MacOSXの標準emacsを使う

Mac mini内部でUTF-8ファイルを書き換える作業が増えてきたので、emacs -nw モードでの.emacsの設定を行う。感謝=> Beginning OS X 10.5/インフラ整備編

20090616:Product Advertising API (旧 AmazonアソシエイトWebサービス)の署名認証に関するお知らせ

表記のメール がAmazonから舞い込んだ。Amazon アソシエイト Web サービスの仕様がかわり、Amazon のアソシエイトDataBaseを利用するさいに、電子署名付きの要求が必要となる。署名なしの場合、2009年8月15日をもって拒絶されるらしい。

別に商用で使っている訳ではないが、使えなくなるのは痛い。個人的な覚えを頁で書いてるばあい、結構、利用するからだ。

[PHP] Amazon Product Advertising API で認証付きリクエストを送る方法まとめというサイトの説明が判りやすいので、ありがたい。試してみようと思います[4]

20090613:Kohanaで仮サイトを作る

一応、Kohanaで作った。最低限の機能は、動いているみたい。そろそろ、頁公開の準備をしたい・・・・が、頁がない!

ちょっとKohanaの覚えなどを書いて、yahooあたりに登録しようと思う。

20090611:zenphotoに決定

dfgalleryは、URI(routerまわり)、cURLあたりの扱いがちょっと変なのだろうと見切りをつけて、他の写真アルバム を探したところ、zenphotoに決定。MySQLを入れているので、問題なし。スクリプトの中身を眺めたが、扱いやすそうである。

zenphoto.png



20090609:くやしいのでMySQLを入れたが、はまり続ける

dfgallery試用のために、結局MySQLを入れたのだった。launchctl unload /Library/LaunchDaemons/org.macports.postgresql83-server.plistで、portgresを停止。

phpをportで再構築。

---

  sudo port installed |grep php
  php5 @5.2.9_2+apache2+macosx+mysql5+pear+sqlite+tidy (active)
  php5 @5.2.9_2+apache2+macosx+pear+postgresql83+sqlite+tidy
  phpmyadmin @3.1.5_0 (active)

となっている。コマンドラインの道具(mysql)はよくわからないので、phpmyadminもportでinstallしている。

DB接続は問題なくなったので一応サイトが出来たが、uploadが変。うまく動作しない。今日はこの程度で許してやるよ dfgallery

20090608:dfgalleryではまり、日和見

ところが、install時にpostgresにテーブルが出来ない。app/controles/admin/setup.phpの_run_initial_upgrade()で、app/libraries/Upgrade_Manager.phpをloadして、$result = $this->upgrade_manager->execute ( '2000/Task_2000_1', $args );してるあたりで、おなくなりになってるようだ。本家サイトのbbsをざっと覗いた限りでは、mod_rewrite,cURLに関する質問ばかりで、この点について触れてる記事はなかった。MySQLの普及率の高さを示す出来事。

ソースを見ると、DB毎の分岐もなしにIF NOT EXISTSとか、int(10)とかunsignedとかMySQL独自仕様てんこもりのCREATE文を検索してる。Postgresql対応を銘打ってるアプリなのに、これでは使えないではないか。

多分2000/Task_2000_1のSQLを書き直せば動くとは思うが、面倒。さりとて、MySQLを入れるのも面倒。というか上で見るような標準から外れすぎるところがあるので好きじゃないので、どうしようか考えつつ本日はオシマイ。

20090607:Kohanaを使い始める

うえぶ頁をPHP化するのに、フレームワークの選択をする。電脳網を探しているとKohanaというFWが面白そうなのでいじることにした。

20090607:phpの入れ直し:PostgreSqlも入れる

下で書いたMovableType4を画像貯蔵庫にするという案だけど、ちょっと気に入らないので、方針を速攻変更し、 dfgallery_v2.005.zipというのを試してみることにする。postgresかmysqlが必要なので、portgresを入れる。設定は、MacでPostgreSQLをインストールするCommentsAdd Star、が簡潔かつ要を得ている。

更に、MacOS X用pgadmin3 = http://www.postgresql.org/ftp/pgadmin3/release/v1.8.4/osx/を日常的に使ってるiMacに入れる。

自分のiMacからも接続できるように、/opt/local/var/db/postgresql83/defaultdb/postgresql.confでホスト書き換え。pg_hba.confも同様に。でも後者は必要あるのか?。

なお、MacPortsで入れたときのpostgresqlの動作は下記のようになっている

40353   ??  Ss     0:00.00 /opt/local/bin/daemondo --label=postgresql83-server --start-cmd /opt/local/etc/LaunchDaemons/org.macports.postgresql83-server/postgresql83-server.wrapper start ; --stop-cmd /opt/local/etc/LaunchDaemons/org.macports.postgresql83-server/postgresql83-server.wrapper stop ; --restart-cmd /opt/local/etc/LaunchDaemons/org.macports.postgresql83-server/postgresql83-server.wrapper restart ; --pid=none44132   ??  S      0:00.33 /opt/local/lib/postgresql83/bin/postgres -D /opt/local/var/db/postgresql83/defaultdb

次にPHP5を入れ直す。

 port install php5 +apache2 +macosx +pear +sqlite +postgresql +gd +curl

20090607:iTunesライブラリの再構成

Webサーバー設定の過程でmac mini君のディレクトリやファイルをいろいろいじったので、iTunes用のxmlが変になってしまった。再構築する。→やりかた:http://support.apple.com/kb/HT1473?viewlocale=ja_JP

20090607:MacOS XにMovableType4を入れる

blogを使うかどうかは判らないのだけれど、静止画を扱うのにMovable Type4は便利そうなの入れる。下のImageMagickもその前提だった。

http://www.movabletype.jp/documentation/linux.htmlを参考にして、各種ディレクトリを配置する。なお、cgi-binディレクトリは作っていないので、cgiディレクトリに.htaccessで以下を記載

---

Options +ExecCGI
AddType application/x-httpd-cgi .cgi

データベースはPHP標準で使えるSQLiteにする。

少し考える必要があったのは、MTのperlスクリプトのperl版。MTは/usr/bin/perlを指定しているのだが、Mac Portでperl の版を上げると/opt/local/bin/に入る。新版を使いたいので、MT側を書き直すか、mv /usr/bin/perlして、/opt/local/bin/のperlから/usr/bin/にシンボリックリンクを張るか。

システム側をいじりたくないので、MTを書き換えることにした。変更は、昔からお世話になってる NAKAMURA Hiroshi氏のperlスクリプト replaceで。

---

replace '#!/usr/bin/perl -w' '#!/opt/local/bin/perl -w' -r

で、動いた。嬉しいです。PHOTO貯蔵庫

---

toriha_oisii_yone.JPG


20090605:MacOSXで、MovableType用ImageMagick (PerlMagick)を入れる方法

Mac portやCPANでは、うまくいかない。。Web検索で見ると、原因はライブラリ関係の不整合らしい。整合をとるよりはソースから入れるのが簡単。

verion 6.3.2で試したが、ImageMagickの本体をmake install後、cd PerlMagickで、perl Makefile.PL;make;make installで問題がなかった。

20090606:mod_rpafでは接続制限ができない件

mod_extract_forwardedというのを利用すると可能になるらしい。一瞬考えたが、電脳検索の様子を見ると、あまり使われてなさそうなので採用はしないことにした。

近々PHP化の予定なので、PHP側で対応する予定(REMOTE_HOSTはmod_rpafのおかげで取得出来るようだから).

20090606:リバースプロキシのリモートホストIP取得のためにmod_rpafをインストール

miniと玄箱を弄り始めたら、ちょっと面白くなってきて、公開Webなどを作ってみようかと思い始めている。となると、ログをちゃんととらなければいけない。このままでは、miniに接続してくるIPは全部玄箱のIPになるので、miniのapacheでログをとるためにリモートIPの記録が必要。

昔poundを使っていた頃はpound側でX-http-forwardヘッダの設定をした記憶がある。apache2のreverse proxyでは、後方サーバで動くapache2にmod_rpafモジュールを組み込めばIP取得が可能であるそうだ。

portではモジュールがないので、ソースから入れる。

  1. gmakeを使うので port install gmake
  2. 最新版のmod_rpaf-0.6をtar zxvf
  3. MakefileでAPXS2=/opt/local/apache2/bin/apxsに修正
  4. make rpaf-2.0;make install-2.0
  5. *confで、LoadModuleし、RPAFenable Onして、RPAFproxy_ipsでプロキシ側のIPを指定

これでログが取れる。ただしどこまでそのIPを信頼すればいいかは不明。

MacOSXで、グループメンバーに新利用者を加える

htmlファイルを簡単に編集したいので、apache2の利用者・グループを独自に作ってグループに編集利用者も所属させる。

/etc/groupだけですませればいいんだけど、無理なのが辛い。dsclコマンドを使う。

dscl . -read /Groups/グループ名

dscl . -read /Users/ユーザ名

で中身を確認。

dscl . -append /Groups/加えたいグループ名 GroupMemberShip ユーザ名

で付け加えることが出来るようだ。

なお各利用者の所属gid,uidを調べるには

id 利用者名

で可能。

しかるのち、おもむろにchown -R 自分:apacheのグループ ./htdocsして、find ./htdocs ¥! -name ".htaccess" -type f -exec chmod 660 {} \;find ./htdocs -type d -exec chmod 750 {} \;とかを発行しておく。

20090603:web環境の整理:

目的と方法

Webサーバだった(と言っても、ちょっとしたメモを書いて置いていた未公開Webだけど)Mac mini君が家出した。で、この機会にweb環境の整理を行う。

Web環境の変更

いままで:
ROUTER-->[DMZ]192.168.x.Z=apache2

今後:
ROUTER-->[DMZ]192.168.x.Z=apache2 reverse proxy-->192.168.y.Z=apache2

機械がなくなったのに、サーバーを増やすには訳がある。

家出した子の力量に匹敵する機械が、内側(192.168.y.0/24)にしかないからだ。そこでもっぱらiTunesサーバ役のもうひとつのmini君に、Webの仕事 も受け持ってもらうことにする。

iTunesのコンテンツを外[DMZ]に出すのは嫌なので、弱小機械(玄箱)を、リーバスプロキシの受け口として置く。プロキシとは言え玄箱の能力が試される瞬間である。

設定

まず、ルータの設定。YAMAHA RTX1000。x.Zとy.Zの間のHTTP port通信を可能にする必要がある。ついでに、各種設定を見直す。次のYAMAHAサイトのURLを参考。http://netvolante.jp/solution/int/case4.html久しぶりなのでtftpの仕方を忘れてしまってた。http://www.kuwazou.net/blog/cat38/yamaha_rtx1000/

P1010011.JPG

つぎにdebian ETHCが動いてる玄箱に、apache2を入れる。apg-get install apache2、でOK。

起動は、/etc/init.d/apache2らしい。

/etc/apache2以下にモジュールON/OFFとconfファイル。ディレクトリベースの管理となる。各ファイルは「a2dismod a2dissite a2enmod a2ensite」コマンドをつかってavaiable<->enable化するとのこと。debianでapacheを動かすのははじめてなので、最初は戸惑った。以下最低限の設定方法

  1. proxy.conf,proxy.load,proxy_http.loadをenableにする
  2. proxy.conf内のAllow from を allに変更
  3. site-enabled内のファイルでVirtualHostの設定。例はこれ。内側のapache2の設定でHost Nameベースに対応するために、プロキシ側で、ProxyPreserveHost Onが必須。

参照サイト:http://www.asahi-net.or.jp/~aa4t-nngk/apache3.html

リバースプロキシ用apache2のダイエット

上記サイトを参考に、可能な限りモジュールを削る。

proxy,proxy_httpdをenableにした場合の↓初期状態

---

ls etc/apache2mods-enabled/
mods-enabled/alias.load            mods-enabled/authz_host.load  
mods-enabled/dir.conf          mods-enabled/proxy.conf
mods-enabled/status.load
mods-enabled/auth_basic.load       mods-enabled/authz_user.load 
mods-enabled/dir.load          mods-enabled/proxy.load
mods-enabled/authn_file.load       mods-enabled/autoindex.load 
mods-enabled/env.load          mods-enabled/proxy_http.load
mods-enabled/authz_default.load    mods-enabled/cgid.conf    
mods-enabled/mime.load         mods-enabled/rewrite.load
mods-enabled/authz_groupfile.load  mods-enabled/cgid.load   
mods-enabled/negotiation.load  mods-enabled/setenvif.load

・・・面倒なので、後回しにする。

20090603:dnsmasqのログ調べ

dnsmasqを動かしていてdynamic dns名をlocalからの問い合わせすると、時間がかかったので、原因究明のためのログをとる必要がでた。ログをとるには、/etc/dnsmasq.confの下記の行のコメントを外す。/var/log/syslogに書き込まれる。なお放置しているとファイルが膨大になるので、原因がわかったらコメントアウトするのを忘れないように。

# For debugging purposes, log each DNS query as it passes through
# dnsmasq.
#log-queries

20090601:MacOSXのsshポート番号変更について

/System/Library/LaunchDaemons/ssh.plistのkey要素 SockServiceNameのstring要素のssh部分をポート番号に変更する。














annex

補足情報はありません













note
[1] 儲かってるかどうかはわからないけど、 便利なので、続いて欲しいものです。
[2] 出力がjpgだけなのので、本当はpngのまま保存出来るともっとうれしい。
[3] すみません><。嘘です・・・yahoo動画で野球中継見る時必須だもんね・・・
[4] ところでこの方の会社が作ってる 疑似個人情報、はじめました は、なるほど、とおもった。