サーバー再構築覚書 -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なんて使わないんだけど。

Proxy越えでWindows Update

いろいろと調べた結果、ミソは二つ 1.
HTTP(80)とHTTPS(443)の両方ともProxyで中継されること 2.
インターネットオプションでプロクシにHTTP1.1を利用にチェックすること

いろいろと調べた結果、ミソは二つ

1. HTTP(80)とHTTPS(443)の両方ともProxyで中継されること

2. インターネットオプションでプロクシにHTTP1.1を利用にチェックすること

portsdb

ついで。 ひさしぶりにcvsupをしてportsdb
-uUでINDEXとINDEX.dbを更新しようとしたら、一部portsのMakefileが壊れているとやらでINDEXが更新できない。うむむ。
調べてみたら、わざわざ-Uをする必要はないのね。 portsdb -Fu
としてあげるとportsディレクトリの完成済みINDEXをfetchしてきてくれる。localでportsディレクトリをいじってない限り、こっちを使った方がよさそげ。

ついで。

ひさしぶりにcvsupをしてportsdb -uUでINDEXとINDEX.dbを更新しようとしたら、一部portsのMakefileが壊れているとやらでINDEXが更新できない。うむむ。

調べてみたら、わざわざ-Uをする必要はないのね。

portsdb -Fu

としてあげるとportsディレクトリの完成済みINDEXをfetchしてきてくれる。localでportsディレクトリをいじってない限り、こっちを使った方がよさそげ。

FreeBSDのPERL_LEVEL

ひさしぶりにサーバーのアップデートをやっていたら、またしてもトラブル。
一部のPerl関連のportsがPerl5.8以降を要求しやがる。で、japanese/perl5をアンインストールしてからlang/perl5.8をインストールしてやるが、システムに書かれたPERL_LEVELが5.6のままなので、PERL_LEVELをチェックしてやがるportsはそのままではインストールできない。
で、調べてみると以下のコマンドを使えばportsでいれたPerlを使うようにいろいろ設定を書き換えてくれ…

ひさしぶりにサーバーのアップデートをやっていたら、またしてもトラブル。

一部のPerl関連のportsがPerl5.8以降を要求しやがる。で、japanese/perl5をアンインストールしてからlang/perl5.8をインストールしてやるが、システムに書かれたPERL_LEVELが5.6のままなので、PERL_LEVELをチェックしてやがるportsはそのままではインストールできない。

で、調べてみると以下のコマンドを使えばportsでいれたPerlを使うようにいろいろ設定を書き換えてくれるらしい。

use.perl port

うーむ。

ThinkPad X20でSUSE 10.2 その2

どうやら、10.2からはBroadcom
43xxベースのカードについてはndiswrapper経由でなくカーネルドライバーが導入されたらしい。でも、カードごとのファームウェアは必要みたい。
で、まずはbcm43xx-fwcutterをYaSTでインストール
メルコのAirStationドライバーのcbg54/win2000にあるbcmwl5.sysがWin用のドライバーなので、ここからファームウェアを抽出する。
bcm43xx-fwcutter -w /lib/firmware bcmwl5….

どうやら、10.2からはBroadcom 43xxベースのカードについてはndiswrapper経由でなくカーネルドライバーが導入されたらしい。でも、カードごとのファームウェアは必要みたい。

で、まずはbcm43xx-fwcutterをYaSTでインストール

メルコのAirStationドライバーのcbg54/win2000にあるbcmwl5.sysがWin用のドライバーなので、ここからファームウェアを抽出する。

bcm43xx-fwcutter -w /lib/firmware bcmwl5.sys

で、後はカードをさしてあげるだけで自動認識〜。すげ〜。これでkismacとかも使えるかも。

ThinkPad X20でSUSE 10.2 その1

SUSE 10.2でtpbを使う。 とりあえず、nvram
moduleは最初からロードされる設定でインストールされるので、/usr/share/doc/packages/tpb/README.SUSEの指示どおりにここにある00-nvram.rulesを/etc/udev/rules.d/にコピーして再起動。
これで使えるはず? とりあえず~/.tpbrcを作成してみれ。see
man tpb.

SUSE 10.2でtpbを使う。

とりあえず、nvram moduleは最初からロードされる設定でインストールされるので、/usr/share/doc/packages/tpb/README.SUSEの指示どおりにここにある00-nvram.rulesを/etc/udev/rules.d/にコピーして再起動。

これで使えるはず?

とりあえず~/.tpbrcを作成してみれ。see man tpb.