この記事を運用しているサーバもMacOSX 10.7で動いているMac miniに移行した。いろいろ苦労したので、しばらく自分用の忘備録が続く予定。
mod_pythonは以前はMacOSに最初から入っていたような気がしていたが、今はどうやらないので、自分で入れなければならない。mod_wsgi使えみたいな記述を見かけるが、よく判らないのでここはmod_pythonで。最新版を(といってもちょっと古いが)をダウンロードして展開後、./configure → make → make install で簡単だろうと思ったら、
connobject.c: In function ‘_conn_read’: connobject.c:142: error: request for member ‘next’ in something not a structure or union apxs:Error: Command failed with rc=65536というエラーが出てしまった。途方に暮れて検索してみると、Snow Leopardにmod_pythonを導入(festangoの日記)というのを見つけたので、connobject.cの142行目の
!(b == APR_BRIGADE_SENTINEL(b) ||の (b) を (bb) に書き換えて、再度コンパイルすると問題なく完了。
次に、httpd.confに一行追加する。
LoadModule python_module libexec/apache2/mod_python.soさらに、/etc/apache2/extra/httpd-vhosts.conf の pythonスクリプトを動かしたいディレクトリについて、
<Directory /Library/WebServer/xxx/> AddHandler mod_python .py .psp PythonHandler mod_python.publisher | .py PythonHandler mod_python.psp | .psp PythonDebug On PythonInterpreter main_interpreter </Directory>などと追加。意味はよく判らない。動作確認のために、
from mod_python import apache def handler(req): req.write("It Works!!") return apache.OKというのを作って配置して確認しようとすると、not foundと云われてしまう。なぜなんだ。HOWTO: apache2 & mod_pythonというサイトにある
import time def index(): html = """ <html><head> <title>mod_python.publisher first html page</title> </head> <body> <h1>This page was generated by mod_python.publisher</h1><hr> The local time of this server is: %sThe timezone of this server is : %s </body> </html> """ % (time.ctime(time.time()), time.timezone/3600) return htmlというのを置いてみたら、ちゃんと表示された。やれやれ、よく判らないが動いたようだなと思って、設定したディレクトリを確認したらpythonスクリプトなんて一つもなかった。何年も前に頑張って作ったが、その後、もう使わなくなったのだった。何のための努力だったのか。まあ、また使う必要が生じるかも知れないので、ここに書き残しておこう。
pdfファイルをepsにするときに便利なのが、XPDFに含まれているpdftopsである。XPDFのダウンロードサイトからソースファイルをもらってきて、展開後、./configure → make → make install でコンパイルとインストールが完了する。そして、日本語のLanguage Support Packagesもダウンロードして展開後、/usr/local/share/xpdf/japanese以下に中身をそっくりいれる。これだけだが、xpdfそのものは使えない。別に要らないと思うが。pdftotextとかpdftopsが使いたいという人がほとんどだろうし。
使うときは
pdftops -eps xxx.pdf xxx.epsでいいのだが、
Syntax Error: Unknown character collection 'Adobe-Japan1'というエラー表示が出てくることがある。これが出てもepsファイルはできていた。でも、このままでいいのかどうか不安になるので、~/.xpdfrc というファイルを作り、以下のように記す。
cidToUnicode Adobe-Japan1 /usr/local/share/xpdf/japanese/Adobe-Japan1.cidToUnicode unicodeMap ISO-2022-JP /usr/local/share/xpdf/japanese/ISO-2022-JP.unicodeMap unicodeMap EUC-JP /usr/local/share/xpdf/japanese/EUC-JP.unicodeMap unicodeMap Shift-JIS /usr/local/share/xpdf/japanese/Shift-JIS.unicodeMap cMapDir Adobe-Japan1 /usr/local/share/xpdf/japanese/CMap toUnicodeDir /usr/local/share/xpdf/japanese/CMapこれでエラーは出なくなった。ReadMeファイルを読めばそう書いてあるのだが、いつも読まずに済ませて狼狽えるので、ここに書き残しておく。こうやっても、これも読まずに狼狽えることがほとんどではあるのだが……
古くなって妻が使わなくなったMac miniを自宅用サーバにしようと思った。Dell T100もあるのだが、音がうるさい。Mac miniは静かである。
インストール用ディスクでSnow Leopardをインストールしたのち、AppStoreで前に購入したLionを使ってアップグレード。このMac miniが対応できるのはここまで。Mountain Lionには対応していないのだ。IPアドレスは固定で設定。環境設定でScreen SharingとRemote Loginをオンにして、一旦終了。キーボードもマウスもモニターも外して隣の部屋に持っていって、LANケーブルでAirMac Extremeに接続して起動。もちろん、本体を見ていても何もできない。
先ほど設定したIPアドレスで画面共有して操作。SSHで入ってもいい。Web Sharingをオンにすれば、WebServer(Apache)も起動する。FileSharingもオンにしてAFPでファイル共有もできるようにした。
さて、WebDAVである。外からファイルを保存したり読み出したりするときに使おうという目的だ。前にUbuntuでは使っていたのだが、MacOSで設定するのは初めて。ここに記録しておく。
ほぼ、プラスα空間(跡地):LionをWebDAVサーバにする(Digest認証対応)をそのまま参照にしただけ……でもないのだが、以下の記載はまあそんな感じかも。
WebDAV専用ディレクトリは、/Library/WebServer/WebDAVとした。Lock用ファイルを収納するところを/Library/WebServer/lockとした。所有者をwww:wwwに設定。次に、/etc/apache2/httpd.confを開いて、
#Include /private/etc/apache2/extra/httpd-dav.confの#を外す。ServerNameに自分が使っているドメイン名を記入。
/etc/apache2/extra/httpd-dav.confを開いて、次のようにした。
DavLockDB "/Library/WebServer/lock/DavLock" Alias /dav/ "/Library/WebServer/WebDAV/" <Directory "/Library/WebServer/WebDAV"> Dav On AllowOverride AuthConfig Order Deny,Allow Allow from all Options Indexes FollowSymLinks MultiViews AuthType Digest AuthName "WebDAV" AuthUserFile "/XXX/.htdigest" AuthGroupFile /dev/null require valid-user </Directory>Digest認証のユーザとパスワードの設定は通常の手順で。時間がかかったのは、Allow from allにしないと認証画面が現れずにエラーが出て接続できなかったところ。アドレスと認証の両方の許可がともにクリアされなければアクセスできないので、こう書いたからといって無条件でアクセスできるわけではない。
兎もも肉を買ったので白ワイン煮を作ってみた。自分用の覚書なので、何もかも不正確です。
冷凍の兎もも肉二本入りを入手。1000円くらいだったか。よく覚えていない。重量も覚えていない。鍋に入れて、300 mLの白ワインで煮る。アルコールがとんだ頃、玉葱を二個、皮を剝いてそれぞれ四分割したもの、セロリを切ったのを適量、大蒜を数個適当に切ったものを入れて煮る。ローリエの葉を1〜2枚とタイムを適量追加して、水を足して沸騰するまで加熱。兎肉にはあまりこくがないという話を読んだので、先日鴨を一羽丸ごと焼いたときにたまった油を冷凍保存しておいた塊を砕いて適量加えてから、保温鍋に入れて一晩待つ。翌朝再加熱して保温鍋に戻す。このとき塩を小さじ1/2くらい入れた。夜になってもう一度加熱して少し水分を飛ばしてこのましい水分量にまで濃縮して器に移して食べた。
何もかも適量で何だか判らない。一般的にはニンジンを入れるといいと思うが私は嫌いだから入れない。セロリは溶けてしまってもう見えない。玉葱も溶けかかっている。兎肉は柔らかくつついただけで骨かが剥がれる。美味い。多分、兎肉の白ワイン煮としてはかなり美味い部類に入ると思うのだ。以前、一度だけレストランで兎肉の白ワイン煮を食べたことがあるのだが、それに匹敵する美味さ。野菜と一緒に24時間くらい煮込めば大抵の肉は美味くなると思っているからそんなに驚かないが。
美味いのだが、鶏の胸肉と云われても信じてしまいそうな味である。だから、鶏肉で作っても同じくらい美味い白ワイン煮が作れそうな気がする。そしてもっと安価に。だから、もう自分や家族が食べるために作ることはなさそうな予感。人を呼んだときに話題作りとして供することはあるかも知れないけど。