reStructuredText

reStructuredTextを使って、エントリーボディーに書き込んだURLを自動的にハイパーリンクを引かせようとして、最近のZopeではUnicodeDecodeErrorが出てしまうことに気付いた。:-P
/usr/local/www/Zope29/lib/pythonに以下のファイルを置く。
sitecustomize.py —内容始まり— import sys sys.setdefaultencoding(“utf-8”)
—内容終わり— これで、EntryにreSt…

reStructuredTextを使って、エントリーボディーに書き込んだURLを自動的にハイパーリンクを引かせようとして、最近のZopeではUnicodeDecodeErrorが出てしまうことに気付いた。:-P

/usr/local/www/Zope29/lib/pythonに以下のファイルを置く。

sitecustomize.py

—内容始まり—
import sys
sys.setdefaultencoding(“utf-8”)
—内容終わり—

これで、EntryにreStructuredTextを選択してもエラーが出なくなった。

サーバー再構築覚書 -X.org 7.2-

というわけで、インストール時にX.orgを入れなかったので、
/usr/ports/x11/xorg をインストールすれば、素直にX.org
7.2が導入される。 実は、X.org
7.2に変更時にXのインストールベースが/usr/X11R6から/usr/localに変更されたので、/usr/X11R6が/usr/localのシンボリックリンクになっている。
で、FreeBSDは起動時にローカルrc.dを探すパスに/usr/local/etc/rc.dだけでなく/usr/X11R6/etc/r…

というわけで、インストール時にX.orgを入れなかったので、

/usr/ports/x11/xorg

をインストールすれば、素直にX.org 7.2が導入される。

実は、X.org 7.2に変更時にXのインストールベースが/usr/X11R6から/usr/localに変更されたので、/usr/X11R6が/usr/localのシンボリックリンクになっている。

で、FreeBSDは起動時にローカルrc.dを探すパスに/usr/local/etc/rc.dだけでなく/usr/X11R6/etc/rc.dも含まれているので、/usr/local/etc/rc.dを二度呼び出そうとすることになる。

これを防ぐために、/etc/rc.confに以下の記述を加える。

local_startup=”/usr/local/etc/rc.d”

これで、一度しか呼び出さない様になる。

サーバー再構築覚書 -Zope-

COREBlog
1.2.3を使うためにZopeをインストールしないといけないのだけど、portsからzope-coreblogを入れるとpythonの古いバージョンである2.3を入れた上にさらにzopeも古いバージョンの2.7を入れようとしてセキュリティの問題があるからと拒否される。
というわけで、zope29を入れておいて、手作業でCOREBlogを導入する。
zope29をportinstallで導入後、/usr/ports/www/zope29でmake
instanceでinstanc…

COREBlog 1.2.3を使うためにZopeをインストールしないといけないのだけど、portsからzope-coreblogを入れるとpythonの古いバージョンである2.3を入れた上にさらにzopeも古いバージョンの2.7を入れようとしてセキュリティの問題があるからと拒否される。

というわけで、zope29を入れておいて、手作業でCOREBlogを導入する。

zope29をportinstallで導入後、/usr/ports/www/zope29でmake instanceでinstanceと初期ユーザーを作成する。この時、errorが出るが、これはReadmeを表示しようとして失敗してるだけなので、無視する。

zope29は標準ではiso-8859-5のcharsetを勝手につけてくれやがるので、/usr/local/www/Zope29/etc/zope.conf(zope.conf.sampleからコピー)に

default-zpublisher-encoding utf-8

を追加して、utf-8で出力する様にしてあげる。

後は、http://takanory.net/に沿ってzopeの設定をしてあげる。で、ProductsにCOREBlogとejSplitterを展開してzopeを再起動してあげた後、exportしておいたブログをImportしてあげればいい。この時、Importする内容のownershipを保持する様にしてあげること。

サーバー再構築覚書 -howl-

今回はカーネルを再構築しないので、netatalkを入れる時にappletalkを使用できない。とは言え、どうせクライアントは既にMac
OS Xなのでafp over tcpだからいらないといえばいらない。
といっても、サーバーが探索に応じないのも気持ち悪いので、bonjourで答えさせることにするために、howlをportsからインストールする。
manが不完全なので、かなり情報収集がいったが、とりあえず動いたのでメモ。
/etc/rc.conf mdnsresponder_enable=…

今回はカーネルを再構築しないので、netatalkを入れる時にappletalkを使用できない。とは言え、どうせクライアントは既にMac OS Xなのでafp over tcpだからいらないといえばいらない。

といっても、サーバーが探索に応じないのも気持ち悪いので、bonjourで答えさせることにするために、howlをportsからインストールする。

manが不完全なので、かなり情報収集がいったが、とりあえず動いたのでメモ。

/etc/rc.conf

mdnsresponder_enable=”YES”
mdnsresponder_flags=”-i vr0 -f /usr/local/etc/mDNSResponder.conf”

flagsでbonjourで答えるインターフェースを書いておく。で、mDNSResponder.confでbonjourで答える内容を記述する。

/usr/local/etc/mDNSResponder.conf

izumi _afpovertcp._tcp local. 548

最初の項目が答えるサーバー名、二番目がサービス、三番目がbonjourドメイン、四番目がサービスが運用されてるportである。

ここで注意しないといけないのは、サーバーの名前がsambaで答えるnetbios名と同じ場合、Mac OS XのFinderのネットワークにはsambaのサーバーしか表示されない。なので、sambaと重複しない名前をつける必要がある。

これで、Finderのネットワークからafpdサーバーが表示されてアクセス出来るようになる。

サーバー再構築覚書 -apache22-

apacheをインストールする時は、mod_proxy問題が必ず起きる。なので、portupgrade導入後に/usr/local/etc/pkgtools.confを以下の通り修正する。
MAKE_ARGS = { ‘www/apache2*’ => ‘WITH_PROXY_MODULES=yes’, }
これで、portinstallでapache2系列を入れる時に何も指定しないでもmod_proxyもインストールされる。
apache22は設定ファイルの書き方がちょっと変わった。 /us…

apacheをインストールする時は、mod_proxy問題が必ず起きる。なので、portupgrade導入後に/usr/local/etc/pkgtools.confを以下の通り修正する。

MAKE_ARGS = {
‘www/apache2*’ => ‘WITH_PROXY_MODULES=yes’,
}

これで、portinstallでapache2系列を入れる時に何も指定しないでもmod_proxyもインストールされる。

apache22は設定ファイルの書き方がちょっと変わった。

/usr/local/etc/apache22/Includes

に*.confなファイル名で設定を追加しておくと、自動的にIncludeしてくれる。

proxyやmailmanなんかはここで、個別の*.confを書いてあげることにした。

ついでに、/etc/rc.confに以下の記述を加える。

apache22_enable=”YES”
apache22_http_accept_enable=”YES”

で、/usr/local/etc/apache22/Includes/no-accf.confを書いてあげる。

<IfDefine NOHTTPACCEPT>
AcceptFilter http none
AcceptFilter https none
</IfDefine>

これで、HTTPの要求が完了するまで新しいプロセスを立ち上げないので、サーバー負荷が減るんだそうだ。

サーバー再構築覚書 -sendmail-

ここからは再構築時の覚書。
今のサーバーはBIGLOBEのOP25Bによってメールサーバーとしては機能しないので、ASAHI-NETのSubmission
PortにSMTP AUTHで認証して中継させていることは前に書いた。
この設定はCyrus
SASLがないと動かないので、portsからsendmail+SASLなものをインストールしてあげる必要がある。
Libraryさえ参照できればいいので、saslauthdとかを上げてやる必要はない。

ここからは再構築時の覚書。

今のサーバーはBIGLOBEのOP25Bによってメールサーバーとしては機能しないので、ASAHI-NETのSubmission PortにSMTP AUTHで認証して中継させていることは前に書いた。

この設定はCyrus SASLがないと動かないので、portsからsendmail+SASLなものをインストールしてあげる必要がある。

Libraryさえ参照できればいいので、saslauthdとかを上げてやる必要はない。

サーバーをFreeBSD-6.2Rに更新

サーバーのハードディスクがいよいよ怪しくなってきたので、データをバックアップしてHDDを交換。このついでに、継ぎはぎもいよいよ苦しくなってきたFreeBSDを6.2にバージョンアップして、無駄なサービス類をやめてサーバーをすっきりさせることに。
まずは、FreeBSD-6.2のインストール。この時、いつもならDistributionをALLにしてしまうところだが、6.2リリース後にX.orgが7.2にバージョンアップして、UPGRADEが困難を極めるので、DistributionでX.org

サーバーのハードディスクがいよいよ怪しくなってきたので、データをバックアップしてHDDを交換。このついでに、継ぎはぎもいよいよ苦しくなってきたFreeBSDを6.2にバージョンアップして、無駄なサービス類をやめてサーバーをすっきりさせることに。

まずは、FreeBSD-6.2のインストール。この時、いつもならDistributionをALLにしてしまうところだが、6.2リリース後にX.orgが7.2にバージョンアップして、UPGRADEが困難を極めるので、DistributionでX.org 6.9を入れないようにCustomでX関係だけを外して選択する。

インストール後、いつもならkernelを作り直すところだが、今回は管理を楽にするためにあえてGENERICのままで使うことにする。

なぜかというと、freebsd-updateとportsnapを使いたいから。6.2からこれらが正式にシステムに組み込まれてるので、binary patchとports updateの管理が非常に楽になっている。freebsd-updateの条件としてGENERICカーネルを使っていることなので、kernelは独自につくらない。

で、まずはfreebsd-updateでセキュリティパッチを適用する。

freebsd-update fetch
freebsd-update install

次回からも適当にこれを実施すればいい。次にportsnapでports treeを更新する。

portsnap fetch
portsnap extract

portsnapは最初だけ完全なports treeを展開して上書きする必要があるので、これを行う。ports treeが更新されたら、さっさとports-mgmt/portupgradeを導入しておく。

次回からは、差分だけを取ってくるので、早い。INDEXも一緒に更新されるので、portsdb -Uもいらない。

portsnap fetch
portsnap update
portsdb -u

これで最新のportsでpkgdbが維持される。cvsupなんかとは雲泥の違いだね。

後は、しこしこサービスをインストール。

ThinkPad X20 Intel Pro10/100 PXE-E05 Error

ThinkPad
X20のXircomの内蔵EthenetカードがPXE-E05なるエラーを起動時に吐く様になってきたと思ったら、ついに認識されなくなった。
ということで、秋葉原に行って物色しておいたXircom LAN/Modem
Combo MiniPCI CardをQC
Passで¥1980で購入。XircomはIntelに買収されて、XircomのWinModemなチップとIntelのEtherExpress
PRO/100+のチップが乗っているはずなので、ThinkPad X20に搭載…

ThinkPad X20のXircomの内蔵EthenetカードがPXE-E05なるエラーを起動時に吐く様になってきたと思ったら、ついに認識されなくなった。

ということで、秋葉原に行って物色しておいたXircom LAN/Modem Combo MiniPCI CardをQC Passで¥1980で購入。XircomはIntelに買収されて、XircomのWinModemなチップとIntelのEtherExpress PRO/100+のチップが乗っているはずなので、ThinkPad X20に搭載されているものと本質的に同じはず。ほんとは3Comのコンボを入れたかったんだけど、こいつは国内で入手はまず不可能、輸入すると高くつくのであきらめる。

ThinkPad X20の保守マニュアルを旧IBM(現Lenovo)のThinkPadサポートページをより入手して交換。BIOSで見ると無事に認識してるし、WindowsからModemもLANも使用できた。PXE-E05のエラーも出なくなったので、起動時に時間がかかることもなくなった。

で、BIOSでNetwork Bootの項目を見ると、Intel Boot Agentのファームウェアが古いバージョンのものだったので、ファームウェアを更新することに。

まずは、最新のBoot Agent(12.1)をintel.comのサポートページからとってくる。このPROBOOT.EXEを実行して内容を解凍する。で、DOS起動可能なFDを用意して、そこにIBAUTIL.EXEをコピーしておいて、このFDから起動。

まずは、IBAUTILでNICリストを出してあげると、なぜかFlash ROMが未搭載と表示されるが、ここは慌てずNICをデフォルト設定に戻してやる。

IBAUTIL -DEFCFG

もういちどIBAUTILを実行するとFlash ROMがPXE/RPLになったので、今度はファームウェアをバージョンアップ。

IBAUTIL -UP

手順に従って実行したあと、BIOSでバージョンを確認すると、ちゃんと4.0.12.1にバージョンアップしてたので、これでよしとする。

まあ、PXEなんて使わないんだけど。