Mac OS X Server構築記録(1999年7月)

新居雅行(msyk@locus.co.jp



1999/7/31 ユーザーグループ懇親会行ってきました

NeXusの佐藤さんが、日本語版Mac OS X Serverのインストールと、NetBootをインストールして、実際にネットブートができるようになるまでを見せていただきました。成功するためのポイントをうまく指摘されていたので、大変に最高になりました。会場とのやりとりはNetBootのことばかりになってしまいましたが、関心の高さが伺えますね。【】は私からのコメントです。

他にも、ブートのプロセスで何をやっているのかを詳しく説明されていましたのがとても参考になりました。講演終了後は佐藤さんはたくさんの人に囲まれて、質問攻め状態でした。ご挨拶しようと思ったけど、所用で帰らないといけなかったので、ご挨拶できなかったことがちょっと残念でした。ともかく、佐藤さんありがとうございました。

1999/7/31 fmlについてその後に教えていただいたこと

fmlのインストールでアクセス権をどうしても設定しないといけないと書いていますが、それをしなくてもいい方法、そして管理が楽になる方法を花原さんに教えていただきました。

fmlをインストールするときに、fmlというアカウントを作り、そのアカウントのホーム以下の場所に、スプールするディレクトリを作ると管理もバックアップも楽になるそうです。そうすれば、権限とかはあまり考える必要はなく、すべてfmlというオーナーで処理されるというわけです。そして、fmlの環境を.cshrcや.bashrcなどでメーリングリスト管理者向けにカスタマイズしたり、あるいはメーリングリスト管理用のアプリケーションを入れておくなどすれば、管理の環境としては快適になるというわけです。

それから、fmlでは、メーリングリストのアドレスと、-ctrlのアドレス以外に、-adminと付いたアドレスも定義します。メーリングリストへの入会などの結果をそのadminに対して知らせるのですが、うちのサーバーでは私のメールアドレスを設定しています。しかし、そうではなく、adminアカウントに対して、適当なエイリアスのアドレスを指定しておくと、後からメーリングリストの管理者を変更したい場合などに便利になるというわけです。複数の人間が運用に関わる場合には、この設定は有効ですね。

うちのサーバーの設定ですが、機会を見てまた動かしてみたいと思います。しかし、実際にメーリングリストを運用し始めると、さらに作業は厳しくなりますねぇ。花原さん、いろいろ教えていただきありがとうございます。

1999/7/31 ファイルをまとめて消す方法

Webサーバーの移動をしたとき、不要なファイルを消す方法をいろいろ書きましたが、もっと効率的なコマンド入力方法を、花原さんに教えていただきました。ほんとにいろいろありがとうございます。

まず、カレントディレクトリ以下にあるフォルダにある「Icon 」ファイルを消す方法ですが、以下のコマンドで一発でいけるそうです。

find . -name 'Icon*' -exec /bin/rm {} \;

findで見つけた各ファイルに対してrmコマンドを適用するということができるわけです。{}というのはfindで見つかったファイルに置き換わると考えます。-execの後には一連のコマンドが記述できるわけですが、その指定の最後であることを示すためにセミコロンが必要になります。コマンドの中なので、\;でセミコロンを指定します。

また、あちらこちらのディレクトリにある_vti_cnfディレクトリを削除するには、次のコマンドが使えるそうです。

find . -name 'vti_cnf' -exec /bin/rm -rf {} \; -prune

rmコマンドの-rfオプション指定によって、ファイルのパーミッションがどうあろうと確認なしに削除することと、ディレクトリの内部も削除するようになります。したがって、ディレクトリが見つかり削除してしまうと、その中を検索する必要はないので、-pruneをつけておくということになります。

これらをまとめて、こういうコマンドを使えるそうです。

find . \( -name 'vti_cnf' -exec /bin/rm -rf {} \; -prune \) -or \( -name 'Icon*' -exec /bin/rm {} \; \)

-orによって、前後のかっこでくくった評価式のOR演算を取るので、つまりは両方の処理を行うという具合です。

うーん、いろいろできるもんですね。

1999/7/31 DNSで逆引きがある程度できるように

なるほど、サブネットでも、named.bootの書き方は同じなのですね。で、うちのネットワークの逆引きはできるようになったけど、親ネットワークの逆引きができなくなった。もっと外のネットワークは逆引きできるのですが、まあ、いずれにしても、ちょっとは進んだかな。

あと、namedのリスタートの方法ですが、restartというオプションをつけてもだめだったことが気付きました。/var/log/system.logを見ると、すでにnamedは立ち上がっているので起動できないというメッセージが残っていた。リスタートは、「kill -HUP namedのプロセスID」をすればいいということですね。

1999/7/30 Javaアプリケーションの動かし方

MRJ-DEVのメーリングリストを見ていると、Mac OS X ServerでのJavaアプリケーションの動かし方の話題が出ていました。クラスパスがどうなってんだみたいな話題があって、結果的にJames Q. Fosterさんの書き込みで解決したというか、ソリューションを提供してくれました。その手法に、基本的に必要になる大方の情報が含まれているのです。

それは、次のような内容のファイルを作っておけば楽になるよということです。Fosterさんは、/usr/binに、jreqという名前のファイルを作って、内容は以下のようなものにすればいいと書いています。画面ではどこかで改行していると思いますが、1行で書きます。そのまま使いたい人は、コピー&ペーストしましょう。

java -classpath /System/Library/Frameworks/JavaVM.framework/Classes/classes.jar:/System/Library/Frameworks/JavaVM.framework/Classes/awt.jar:$1 $2

何かで上記の内容のファイルを作り、アクセス権の設定を行います。全員に対して読み込みと実行を許可すればいいでしょう。

そうすると、たとえばCodeWarriorで作ったJavaのアプリケーションがあると思います。たいがいはデフォルトで作業していると思いますが、コンパイル結果はAppClasses.jarにあるかと思います。このファイルとその他必要なファイルを集めて、Mac OS X Serverの共有ディレクトリにコピーするとしましょう。そして、Mac OS X ServerのTerminalでカレントディレクトリをAppClasses.jarのあるフォルダにしておき、

jreq AppClasses.jar <mainのあるクラス名>

とコマンド入力すると、アプリケーションが動き出します。

要は、Javaの基本ライブラリであるclasses.jarと、AWTの機能を実現するクラスであるawt.jarをクラスパスに含めて実行しないといけないわけですが、その場所は、上記のコマンドにあるとおりです。これらのファイルですが、OSのインストールだけではいるのか、それともWebObjects CD-ROMの内容をインストールしないと入らないのかは確認できなかったです、残念。

1999/7/30 おっと、逆引きができない…

このところ、仕事が忙しかったので、Mac OS X Serverのお相手ができなかったです。

で、調べてみると、DNSの設定がおかしいことにも気付きました。IPアドレスからネームへの逆引きがうまく動いていないのに気付きました。sendmail以前の問題です。何でなのか、調査中です。通常のネットワークの設定ファイルの作り方は書籍なんかで見るのだけど、うちはサブネット内でDNSを使っています。その場合の書き方ですが、何かおかしいのでしょう。逆引きがなくてもWebとかは動くはずなので、とりあえずはこのまましますが、またまた時間がかかりそう。

そういうわけで、7月が終わってしまう。明日はユーザーグループの懇親会があって、NeXusの人によるMac OS X ServerのTips上級編というのがあるので、行って勉強してこようと思っています。

1999/7/26 “MacユーザーのためのMacOS X Serverの使い方”というページが詳しい

メーリングリストで発言された、古籏一浩さんのページ、“MacユーザーのためのMacOS X Serverの使い方”は、Mac OSユーザー向けに書かれたMac OS X Serverの使い方などが、きちんとした構成でまとめられており、とても分かりやすいです。

そういえば、OpenStepのページは最近更新がなされていませんね。夏休みなんだろうか?

1999/7/26 メーリングリストを作りました

Mac OS 8ユーザーのためのMac OS X Server情報交換メーリングリストを作成しました。題して「MacOS8toX-ML」です。UNIXやOPENSTEPの知識がなくても、なんとかMac OS X Serverを使おうというのが趣旨です。入会などは、こちらを御覧ください。

1999/7/25 いろいろ調べたけど分からない…

sendmailの件は、どうしても分からないので、とりあえず、マシン名の入ったメールアドレスで運用することにしました。CFもダウンロードして見始めたのですが、さすがにすぐには理解できません。sendmail-v8.cfに入れ替えてみたけど結果は同じでした。週が明けると、またあまり時間が取れないかもしれないので、現状でメーリングリストを再開することにしました。

テスト用のメーリングリスト、xtestについては、入会は「xtest-ctl@lui.msyk.locus.co.jp」宛てに本文が「subscribe Your Name」だけのメールを送ってください。もちろん、Your Nameは適当にあなたの名前に書き換えてください。メッセージのポストは「xtest@lui.msyk.locus.co.jp」です。

1997/7/25 Webは完全に引っ越しました

これまで、WebはNT ServerのIISでやっていました。IISでの公開フォルダをファイルサーバーとして公開して、Mac OSからもWindowsからも、ファイルを直接開くことができうるようにしていました。ただ、それでも管理が大変になったので、数ヶ月前くらいから、FrontPage 98そして、FrontPage 2000を使うようになったのです。引越し後もFrontPage 2000を使うのが前提ですね。Webの引越しはファイルを単に既定のディレクトリにコピーするだけだとは言うものの、環境を整えるのにいろいろ手間がかかりました。

IISで公開したフォルダを、まず、Mac OS X Serverの公開ディレクトリにコピーして作業しました。このディレクトリは、Mac OSからもWindowsからも参照できます。

まず、IISで公開したフォルダには、FrontPageがテンポラリ処理に作る、_vti_cnfフォルダを削除したいわけです。あちらこちらに作ります。結局どうしたかといえば、Mac OSのSherlockを使ってこの名前のフォルダを探し出し、1つ1つCommand+deleteで捨てていったという次第です。ただ、これでも非表示になっているものもあったようで、結局はMac OS X Server上で逐一消すことになってしまいました。

他にもごみが残ります。Mac OSでマウントしているので、あっちこっちに「Icon 」というファイルが残るのです。これについては、Mac OS X Serverで、Web公開フォルダのルートをカレントディレクトになっている状態で、

rm `find . -name "Icon*"`

とすれば、まとめて削除できるので、これは一発でクリアでした。

FrontPageの気に入らない部分ではあるのですが、デフォルトのHTMLファイルが「index.htm」になっているのです。以前に、Web経由でインポートしたときに、どうしてもこうなってしまうので、あきらめて、indexファイルは拡張子をhtmで統一しました。だけど、Mac OS X ServerのApacheは、index.htmlだけを既定のファイルとして認識します。そこで、Apacheの設定ファイル(/Local/Library/WebServer/Cofigration/apache.conf)を少し書き直します。途中にある

Directory index.html

という行を

Directroy index.html index.htm

というふうに、index.htmを空白でつなぎます。default.htmは不要なので追加はしません。 

apache.confの修正はこれだけではだめです。実は、Macintosh Java Reportは、IISのデータアクセス機能を使っているため、これはMac OS X Serverには移せません。ただし、ドメイン名は検索エンジンなどに登録されているので、そのまま使いたいわけです。NT Serverには新たに、nt.msyk.locus.co.jpというドメインを割り振ったので、apache.confに次のような行を加えて、リダイレクトさせました。

Redirect /mjr/ http://nt.msyk.locus.co.jp/mjr/
Redirect /mjr http://nt.msyk.locus.co.jp/mjr/

最後に/のあるやつとないやつを定義しないと、うまくいかないようだったので、こうしてみました。これで、MJRにアクセスした人は、記述されたアドレスにリダイレクトされます。

まだまだあります。実は、2バイト文字を含むファイルが少しあったのです。サーバーをバックアップ代わりに使っていた面があったのと、ちょっとした失敗で、どうしても2バイトファイル名になっていたのですが、今回の移行で、すべて1バイトコードだけのファイル名にしました。その修正がちょっと手間取りました。

それから、これまではカウンターをNTで動くDLLタイプのものにしていたのですが、Mac OS X Serverで動くものにする必要があります。複数のページで独立したカウンタがあったので、結果的にフリーで使える西田さんのTcounTを使わせてもらいました。西田さんありがとうございます。ただ、ちょっと失敗があって…。ダウンロードしたファイルを、JeditでLF改行にしたとき、ふと思って漢字コードはUTF-8にしたのです。そうすると、コメントの中の文字の影響で文法チェック(perl -w)でエラーになるのです。EUCコードにして事なきを得ました。余計なことでした。

そんなわけで、Webは整理されて、Mac OS X Serverに移ってきました。ただ、ちょっと残念なのが、FrontPage Server Extensionsダウンロード)が使えないこと。Microsoft製品ながら、UNIX版もあるのですよ。ただし、さすがにMac OS X Server版のバイナリがないですね。仕方ないので、FTPベースでファイルのやりとりをすることにしました。

それから、ほとんど自分向けのメモ(笑)ですが、Web公開ディレクトリに余計なものがあると、FrontPageがいちいち警告を出すので、最初からあるファイルを別のフォルダに移動しました。移動後に気が付いたのですが、WebObjectsというフォルダがあって、WebObjectsで作ったサイトを動かすのに必要なJava関連のファイルが入っていますね。WebObjectsを使うようになったら、このフォルダを戻さないといけない。今は、とりあえず、別のフォルダに移しておくことにします。ただ、それでもFrontPageはいろんな警告を出すのですよね〜。1回警告を無視すればいいのだけど、もう少し何とかならんものかと思ってしまいます。

1999/7/25

メール関係をMac OS X Serverに持ち込んだときのいろんなことを忘れないうちにまとめておきましょう。正確には、24日にやったことですが、まあいいでしょう。それと、まだ完全には終わっていないので、これからいろいろあるかもしれませんが、そのときはそのときで。

で、引越しの段取りはこれで問題なかったかと思います。fmlでまとめていくつもメーリングリストを作りますが、そのとき、メーリングリストごとにaliasesに追加する内容がファイルで作られます。これ、そのままNetInfoで読めればけっこう便利ではあるのですが、前にもやってみたとおり、NetInfoに読み込むと、include関連の設定が取り込まれないようなので、とりあえず、ここでも、/etc/aliasesファイルを利用することにしました。しかし、いちいち、/etc/aliasesに読み込ませなくても、まとめてできます。しかも、複数のメーリングリストをfmlアカウントで作成した後、rootでログインしなおして、

cat `ls /var/spool/ml./*/aliases` >> /etc/aliases

というコマンドを入れれば、すべてのメーリングリストごとのaliasesファイルがまとめて/etc/aliasesにマージされます。既存のものまでマージされるので、後から削除しないといけませんが、この方法で一発でaliasesを作り、newaliasesコマンドを入れておしまいです。

既存のメーリングリストのメンバを新しいメーリングリストに登録しないといけません。AutoShareではあるファイルに「メールアドレス (名前..3)」のような形式で、行に分かれてメンバーが登録されています。このファイルを、Jeditで加工して、メンバー登録のスクリプトを作成しました。最終的には「/usr/local/fml/makefml adduser リスト名 メールアドレス」という各行になるようにしましたけど、正規表現を使いながら、ちょっとずつ加工し、最後はスクリプトを1つのファイルにまとめました。そして、Mac OS X Serverにそのファイルを移動してsourceコマンドで実行です。このとき、fmlアカウントで作業します。以前、rootでやったら、警告メッセージが出ましたので、今回はちゃんと管理用のアカウントでログインして作業を行いました。

メッセージ番号は、メーリングリストごとのディレクトリにあるseqという名前のファイルで管理しているようなので、それを修正すればいいかと思ったけど、メッセージを1本も送っていない段階では、これは作られていないのですね。そこで、作って、番号を埋めます。次に301番のメッセージを送りたいのなら、このファイルには300番を入れるといいみたいですね。で、作業をしたのですが、ふと気が付くと、rootで作業していました。一応、念のため、seqファイルの所有者をfmlにして、アクセス権を所有者だけにしておくという作業も必要になってしまいました。

しかしまあ、リスト自体の移行は比較的スムーズに行ったのに、sendmail自体の設定を触らないといけないということでつまづいてしまったというわけです。うにゃー。

1997/7/25 引越しは不完全

だいたい順調に行ったはずなのですが、最後ではまりました。sendmailの設定を変えないといけないけども、それがちょっとわからないというところで、まだ不完全です。ただ、いろいろやってみるという範囲では、実はWebサーバー、DNSも、NT ServerからMac OS X Serverに動かしました。今、見ているこのページは、Mac OS X Serverにあるものです。

今のところ、メールアドレスとして、マシン名を含まないドメイン名にはできない状態です。うちのネットワークはmsyk.locus.co.jpで、Mac OS X Serverにはluiという名前に付け直したのですが、マシンにはmsykというアカウントがあります。msyk@msyk.locus.co.jp宛てにメールを送付できないのです。msyk@lui.msyk.locus.co.jp宛てなら受け付けます。その結果、今でMac OSで運用していたメーリングリストのアドレスが変わってしまうという結果になってしまいます。まあ、連絡用でやっているメーリングリストなら、アドレスが変わってもまあいかという感じですが、オープンなメーリングリストはどうするか、ちょっと迷っています。

最初、こうなってしまうのは、もしかして、DNSのせいかと思ったので、NT Serverで運用しているDNSをMac OS X Serverにまで移動し、あわせてWebまで動かすという大作業になってしまいました。ちゃんと、MXレコードまで、しっかりMac OS X Server側を参照していますし、メールのログ(/var/log/mail.log)を見ていると、ちゃんとメールはサーバーにまできているのに、relay rejectされているのです。会社のエンジニアに、日曜だけど相談したところ、sendmail 8.9以降はリレー関連の設定をしないとだめかもしれないよと言われました。

というわけで、一応、会社のエンジニアとは相談を始めているのだけど、どうすればいいか思案中です。うーん、暫定的にやってしまうというのも手なんですけどね〜。

1999/7/24 移行計画、まずはメール関係

Sambaの問題も残したままだけど、まずはサーバー移行に着手することに。Webサーバーはファイルを持ってくるだけではないのです。MJRという有償コンテンツが、NT Serverのデータアクセス機能を使っているので、これはMac OS X Serverにそのまま持ってこれない。MJRは別のサーバーに移動する計画があるので、それからWebサーバーを動かすのがよさそうという結論になりました。それで、まずはメールサーバーを動かそう。現在は、Mac OS 8.1(Performa 255)で、EIMSで動かしています。加えてAutoShareで動かしているメーリングリストがいくつもあります。それも動かすことになる。ここで段取りを考えないといけない。というわけで、次の手順で行くことにした。うまくいきますよーに。

  1. 現在のEIMSに登録したユーザーのうち、必要なものをMac OS X Serverにも登録する
  2. メーリングリストの案内ページをまず書き直す
  3. 現状のAutoShareと同じように、いくつかのメーリングリストをfml上に作成する
  4. ユーザーリストからfmlのユーザー登録シェルスクリプトを作成しておく
  5. 各メーリングリストにストップするという告知を行う
  6. AutoShareあるいはEIMSでメーリングリストのアカウントを無効にする
  7. fmlに既存のユーザーを追加する
  8. メッセージ番号を現状のものに合わせる
  9. 次に、NT ServerのDNSのMXレコードを、Mac OS X Server向けに書き直して再起動
  10. メールサーバーが移行したことをメーリングリストに流す

さらに、fmlのguideのメッセージの書き直しをしないといけない。うーん、ちょっと大変だけど、これは今日やってしまうのがよさそう。メーリングリストは、どちらかというと平日の方が活発なんです。

1999/7/23 Mac OS 8ユーザー向けのMac OS X/Server情報交換MLを作る

xtestのメーリングリストで呼びかけたところ、賛同があったので作成することにします。メールサーバーをMac OS X Serverに移動したときに作るといいかな。

1999/7/23 サーバーの移行計画、そんな手があるなんて!

現在は、NT Server(DNS, DHCP, WWW, FTP)とMac OS 8.1(SMTP, POP)の2台でネットワークを運用しています。最終的にはそれらをMac OS X Serverで統合するつもりです。DHCPはとりあえずあきらめて、残りのサービスはMac OS X Serverで動くところまでは確認が取れたわけです。で、実際に移行を具体的に考え始めました。

というわけで、会社のネットワーク管理者とミーティングをしたのです。すでに、Mac OS X ServerにもDNSのレコードを割り当てています。それで、うちのネットワークは会社のサブドメインとなっているわけです。会社のDNSにうちのドメインのレコードを、うちのDNSに割り振る設定をしてもらってあるわけです。

それで、こちらで準備を整えて、会社のDNSの設定を変えてもらうというのだと思っていたら、それはしないほうがいいということになりました。今、このページなどを公開しているのが我が家のNT Serverなのですが、IPアドレスを変えずにDNSの設定を変えてNT ServerからMac OS X Serverに移行した場合、msyk.locus.co.jpというドメイン名に対するIPアドレス値が変わる事になります。そいつはちょっとまずいというのです。というのは、ドメイン名とIPアドレスがどこか世界中のいたるところでキャッシュされていることになっていて、通信エラーが出るというわけです。

で、どうすることになったかと言うと、「Mac OS X ServerとNT ServerのIPアドレスを入れ替える」というのが一番無難だろうということなのです。そうすれば、会社にあるDNSの設定は変えないでいいです。つまり、Mac OS X Serverの準備を万端に整えて、せーのでIPアドレス番地をすげかえるということです。うーん、いろんな方法があるもんだ。

1999/7/22 Sambaのnmbdが起動しない理由を探る…

ふと、Vキーを押しながら起動すると、起動時のコンソールが画面が表示されることを思い出す。即、実行、えーっと…げげげー、最後にコンソールが消えてしまう。Sambaの起動はスタートアッププロセスの最後の方なので、ほとんどコンソールに何か出た瞬間に画面は消えてしまいます。

で、どこぞにログが残っていないかを探してみました。var/logにはない…ということで、/usr/local/samba/varに、log.nmb、log.smbという2つのプロセスのログがありました。見ればしっかり、エラーが出ている。こんなんです。

[1999/07/22 09:32:38, 0] nmbd/nmbd.c:sig_hup(95)
Got SIGHUP dumping debug info.
[1999/07/22 09:32:39, 0] lib/fault.c:fault_report(40)
===============================================================
[1999/07/22 09:32:39, 0] lib/fault.c:fault_report(41)
INTERNAL ERROR: Signal 10 in pid 601 (2.0.4b)
Please read the file BUGS.txt in the distribution
[1999/07/22 09:32:39, 0] lib/fault.c:fault_report(43)
===============================================================
[1999/07/22 09:32:39, 0] lib/util.c:smb_panic(2383)
PANIC: internal error

ディストリビューションのBUGS.txtを見ろと書いてある。おっと、ディストリビューションで展開されたファイルって、ログオフするときにMac OS X Serverが(と思う)自動的に消してくれるので、消してしまったところでした。

ということで、今日分かったのはここまで。とにかく、まだnmbdは手で起動しています。

1999/7/22 起動時にSambaのnmbdが起動しない?なぜ?

SambaはMac OX X Server向けのディストリビューションを取ってきたので、きちんと、etc/startupに起動スクリプトが組み込まれています。しばらくは、その起動スクリプトで、起動時に自動的にデーモンが立ち上がっていたのだけど、ふと気が付くと、smbdは起動しているのに、nmbdが起動していない?? おかしいなと思って手動で起動させるとちゃんと起動して動くじゃないですか。特に起動時のスクリプトを修正した覚えはないですね。なぜか不思議だ。再起動時はチェックしなければならなくなってしまった。

1999/7/21 SambaはUNICODEに対応していないの?

SambaとAppleShareの両方で公開しているディレクトリに、Mac OSクライアントから漢字のファイル名のファイルをコピーしました。それをWindowsで見ると、しっかり文字化けしている…。ということで、マニュアルや書籍を調べてみると、smb.confの設定で、日本語OSをクライアントにするとき、「client code page=932」を指定すること、そして、サーバー側の文字コードを「coding system=euc」などのように設定するようにと書いてありました。しかし、coding systemに設定できるキーワードには、UNICODEのUTF-8に対応するものがありません。もしかして、SambaはUNICODEには対応していないのかな??

1999/7/21 関係ないですが、iBookが発表されましたね

Steve JobsのMW NYでのキーノートをQuickTimeで見ています。「Darwin Streaming Server」というプレゼンテーションがチラッと見えましたね。なるほど、フリー素材でストリーミング放送局ができるってわけですね。と思ったら、ストリーミングが止まってしまった。再度つなぎなおし。Mac OSのあたりで途切れたけど、しばらくするとついに出ましたね、iBook。白っぽいボディで、ちょっと大きそう。よく途切れるのであまりちゃんとは見れなかったけど、まあ、アメリカに行かなくても情報は手に入るというやつですね。しかし、iBookかかえてジャンプするとは(笑)。

今日はMac OS X Server Update 1.0-2が出ていますが、英語のみということで、うちのサーバーへの導入はとりあえず見送り。

1999/7/21 fmlを再インストール、とりあえずVer.3のベータにした

fmlのインストールの仕方が正しくないというご指摘をいただいたので、再度やってみました。ちょうど、Ver.3.0のベータがあったので、それを使うことにしました。インストールマニュアルだと、rootで管理してはいけないということで、もちろんそれは知っていたので、インストールはrootで行い、メーリングリストの作成は一般ユーザーで行っていたのですが、そのため、root状態で作成されたファイルのアクセス権の問題などがあって、後からアクセス権を設定することとなりました。そこで、fmlというユーザーを作り、そのユーザーでインストールやリストの作成、管理などを行うという方針で臨みました。しかしながら、スプールが作成される/var/spoolディレクトリは、root/wheelが所有者、グループで、書き込みは所有者つまりrootにしか設定されていません。で、結局次のような手順でやることになるかと思います。(sendmail.cfを修正した状態であると仮定します。)

  1. まず、rootでログインしておき、fmlというユーザーを新規に作る。もちろん、NetworkManagerを利用して作る。このとき、wheelグループに所属させておく。
  2. /var/spoolディレクトリ、/usr/localディレクトリはいずれも、rootが所有者、wheelがグループになっている。グループの権限として書き込みが設定されていないので、Workspace Managerを使って書き込み権限を設定しておく。
  3. ログオフして、fmlアカウントでログインしなおす。
  4. OmniWebを起動して、fmlの最新版をダウンロードする。(サードパーティソリューションのCDにあるOpenUpはあらかじめインストールしてあるとする。)アドレスは、
    http://www.sapporo.iij.ad.jp/staff/fukachan/fml
  5. ダウンロード後、OpenUpが起動して、ファイルが解凍される。解凍先は、fmlのホームから記述すると、~fml/Library/OpenUp/fml-current_0/fml-3.0BETA-snapshot2というディレクトリになっている
  6. Termimalを起動して上記のディレクトリに移動する。Workspace Managerで上記のディレクトリが表示されていることを利用する。まず、cd とキータイプし、fml-3.0BETA-snapshot2のフォルダのアイコンをTerminalのウインドウにドラッグ&ドロップすればいい。
  7. 「perl makefml install」とコマンドを入れて、あとは対話式にインストールを行う。これで、/var/spool/mlなど新たに作られたディレクトリの所有者は、fmlとなる。
  8. いったん、ログオフして、rootで再度ログインする。
  9. /var/spoolディレクトリ、/usr/localディレクトリのいずれについても、グループの書き込み許可をはずしておく。/var/spool/mlについても、グループの書き込み権限がないようにしておく。
  10. メーリングリストを作るために、ログオフする。そして、fmlで再度ログインする。
  11. Terminalを起動して「/usr/local/fml/makefml newml xtest」を実行する。これで、メーリングリストが作成される。あとは、以前に紹介したとおり。

それで、「/usr/local/fml/makefml config xtest」を実行すると、基本的な設定を変更できますが、HTMLでログを作成したり、Subjectに連番や記号を付けたりする機能は働きません。結局、/var/spool/ml/xtest/config.phを修正することになるわけですが、最初の段階では、fmlでログインすると、Workspace Managerでvarディレクトリとかが見えませんでした。そこで、Terminalで、「open /var/spool/ml/xtest」のようにコマンドを入れると、Workspace Managerでxtestディレクトリが見えるようになりました。もしかすると、「更新」をすればよかったのかもしれませんが、これは未確認です。

以上のようにすると、メーリングリスト関連のファイルの所有者はfmlとなるので、fmlでログインすれば、config.phなどの修正ができるようになるということです。

1999/7/20(2) しまった、インストールマニュアルはCD-ROMにもあった…

日経BPの「Mac OS X Server徹底活用ガイド」を見ていると、インストールマニュアルがシステムのCD-ROMの、Mac OSのパーティションにあることを発見。ここを最初に見るべきだったと、深く反省。ルートにあるファイルは読んだのになぁ。

1999/7/20(1) DNSが動いた!

DNSサーバーは、Mac OS X Serverをインストールした段階では動くようにはなっていませんが、ちゃんとnamedというプログラムが入っています。/usr/sbin/namedが正確な位置ですね。man namedできちんとマニュアルも表示されます。以前、ちょっと試した段階ではうまく動かなかったのですが、単にファイルの配置をある書籍のとおりにやっていたら、それが違っていたというだけで、ファイルの配置を変えればとりあえず動くようになりました。

うちのネットワークでは、NT Serverがいちおうメインになっていて、Bind for NTを動かしているので、そのファイルを修正して使うことにしました。しかし、Bind for NTとnamedはまったく同じ構成のファイルではありません。namedは、「設定を記録したファイル」というnamed.bootというファイルを使います。namedにオプションをつけないで起動したときには、/etc/named.bootというファイルを参照することになっています。そのファイルに、ドメイン名とIPアドレスの対応をつけるファイルのありかを記載しておくという具合ですね。

で、Bind for NTにはnamed.bootに相当するファイルがなく、特定のファイル名のものを設定ファイルとして認識するようになっていたのです。でまあ、そのままファイルを持ってこれないので、どうしたかというと、会社で動いている別のFreeBSDマシンから、named.bootとnamed.rootをいただきてきました。残りのファイルは、NTで使っているファイルをちょっとだけ修正したりして使いました。

それで、まず、/etc/namedbというディレクトリを作ります。そこに、named.rootと、ドメインの記述を行う3つのファイルを入れました(具体的にはmsykdomain.zone, msykdomain.rev, loalhost.rev)。実は以前失敗したのは、named.rootを/etcに入れていたためです。書籍にそうかかれていたのですが、会社で動いているマシンを見せてもらい、それで、named.rootは/etc/namedbに入れないといけないことが分かったという次第です。

あとは、/usr/sbin/namedとコマンドをTerminalから入れればOKですね。Mac OS X-J MLで、起動時のスクリプトが紹介されていたので、いずれはそれを参考に、ブート時に自動的にnamedが動くようにしたいなと思っていますが、まだそこまではやっていません。

で、とりあえず、うちのネットワークではNTとMac OS X ServerでDNSを運用しています。本来はおかしな状況になるのでしょうか。会社のDNSから、msykドメインへのリクエストがあれば、NTの方を参照するように設定してくれているそうです。まずは、その切り替えから行います。うちのDNSの方の設定は、ドメインのデフォルトがNTになっていて、MXがPerforma588マシンになっていたりしますが、しばらくはそのまま運用して、WebサーバーをMac OS X Serverに移動させてから、うちのDNSの設定を変える…という段取りになると思います。

1999/7/18(1) 今度は謎のリブート

未明にマックで作業をしていると、マックがフリーズしてしまいました。あー、もう今日は寝ようと思ってリセットした瞬間に、なぜか、別マシンであるMac OS X ServerのG3が一瞬電源が切れて、再ブートしたのです。電源ケーブルが抜けかけていたのだろうと思ったんですが、そうじゃないと思います。リセットしたときにネットワークに変なデータを流したかな?それにしても、サーバーの電源を一瞬落とすというのはちょっと解せません。停電や瞬断はないと思います。他のサーバーは落ちていないし。うーん、今度はほんとに謎だ。フリーズしたマックを落としたとき、ある特定の電源ラインが不安定になったり、あるいはノイズが乗って、G3の電源の動作不良を起こしたのでしょうか。ちょっと怖い。気をつけていろいろ観察するしかとりあえずはやりようがない。

1999/7/17 WebObjectsとNetBootをインストール

原稿を書くのが忙しくなったので、あまり変化はありませんが、製品版をさっそくインストールしまくっています。

やっと自分の所有のMac OS X Serverを買ったので、WebObjectsをインストールしました。マニュアルの書き方にちょっと迷ったけど、WebObjectsDeveloper.mpkgをインストールするだけでよかったのですね。MacOSXServerDeveloper.mpkgもインストールしてしまった。前者だけでいいことは、日経BPの「Mac OS X Server徹底活用ガイド」にも書いてあった…。WebObjectsは本を見ると、うーおもしろそう。だけど、関わっている時間がないかもしれない…。

NetBootもインストールし、ともかく、iMacからブートすることを確認しました。以前に、だめだった理由がわかった。また、単純な理由です。うちのネットワークでは、NT ServerがDHCPサーバーになっていて、一定範囲のIPアドレスをわリ振っているのですが、NTのDTCPサーバーと、NetBootでのIPアドレスの割り振りに重複があったのです。NT ServerのDHCPサーバーの設定を変えたつもりが、なぜか変わっていなかった。で、さらに謎なことに、割り振るIPアドレスの範囲がなぜか変更できなくなってしまっている。うーむ、そういう仕様なんだろうか。会社のネットワークはCクラスなんですが、うちのネットワークに割り当てられているのは、そのうちのごく一部で、ほとんど使っていないRASのアドレス範囲をNetBootに割り当てて使うことにして、ともかくブートするようになりました。RASはNTの方ですが、ほとんど使っていない。

まあ、収穫があるとすると、Mac OS X ServerでNetBootを動かす場合、別のサーバーでDHCPサーバーが動いていてもかまわないことが分かったことくらいでしょうか。

1999/7/16(2) aliasesのNetInfo読み込みに挑戦、とりあえず×

man niloadで、NetInfoのデータ読み込み機能をチェックしました。なるほど、aliasesというパラメータを設定すれば、aliasesファイル形式のデータを読み込めるとなっている。さっそく、テスト稼動しているxtestをfmlでインストールしたときに作られるaliasesのひな型ファイルを読み込ませてみました。別のアドレスにエイリアスする定義は確かに読み込まれたのですが、includeする定義はvalueがなしになってしまいます。

とりあえず、よく分からないので、削除して元に戻しました。うーん、先は長いかもしれない…。

1999/7/16(1) 製品版をやっと入手、マニュアルにトラブル対策書いてある!

本日、ステラクラフトさんより、Mac OS X Serverの製品版が届きました。ちょっと入金のタイミングが遅れたので、予定通りとはいかなかったけど、ともかく手に入れました。さて、WebObjectsとかをインストールしよう。

で、パッケージを開けると、「インストールマニュアル」という冊子がありました。おぉ、ちゃんといろんなことが書いてあるじゃないですか。インストール前にパーティションを設定することなどがいちおうかかれています。それから、Sキーで起動してシングルユーザーモードになり、mountコマンドで書き込み可能にしてメンテナンスするとか、fsckコマンドでボリュームをチェックする方法など、トラブル時の対処がきちんとかかれています。再起動のいろいろなキー操作があるようだけど、それはこれからチェックします。

しかし、英語版のデベロッパー向けのパッケージでは、こんな冊子はなかったし、記事を書くためにソフトを供給してもらったときには単にディスクだけしかももらえなかった。このインストールマニュアルを見ないで作業するのはちょっと無謀だったと思うけど、もう後の祭りです。性急に進めたために、余計なトラブルに見舞われてしまったというやつですね。

1999/7/14(3) 実は、大雨の影響だった

以下の「なぜか、画面真っ黒・・・」は、だいたい、午前1時くらいに判明してはいたのですが、実は、とても眠たかったので、ともかく寝たのです。だけども朝になって、ネットワークが全然応答しないことに気づきました。Mac OS X Serverの不具合でないことはわかったのですが、それ以上に、メールとか、Webとか全然使えないというより最悪な状態になっていました。ネットワーク内部のWebサーバーとかにはアクセスでき、外部がだめなので、これは、うちからゲートウエイでつながっている会社のDNSあたりが死んでいるのではと思いながらも、今日も昨日に続いて横浜行きだったので、ともかく8時過ぎに出発。

ところが、会社に電話をして確かめようとしたけど、話中で全然つながらない! そうこうしているうちに、今日のカンファレンスやら、人に会うやらで連絡やネットワークのチェックができない状態で夕方に戻ってみると。ともかく、ネットワークは生き返っていた。ともかく一安心。おもむろに、ノーツにアクセスすると、なんと、会社のビルで大雨のために冠水騒ぎがあって、ブレーカーが落ちていたとか! ベランダの排水溝がつまり気味だったところに、昨日の大雨で、フロアに水が充満したそうです。電話も、交換機が小さいながらいちおうあるのだけど、その電源も入れられなかったようで、電話すらつながらなかったそうです。ネットワーク管理を落とす要因はほんとにいろいろあります。

ただ、画面が真っ黒になっていた理由はいまだにわからず・・・。

1999/7/14(2) なぜか、画面真っ黒…

うーん、ふと見ると、Mac OS X Serverのマシンの画面が真っ黒…。というか、正確には切り替え機を使っているので、切り替えてみると何もなし。で、POPはすごく時間がかかるけど、サービスは働いているみたいです。telnetで入った場合、プロンプトがでません。ただ、入力はできるのだけど…。いったいなんなんだろう。仕方ないのでリセットスイッチを入れて、電源を強制的に切断し、再起動しました。原因がわからないのがなんか怖い…。

それに再起動したけど、telnetでのログインがすごく時間がかかる。接続して、大分と待ってから、プロンプトが出てくる。それから、POPは応答しなくなった模様。ここ数日はとくにいじっていないのに、突然どうしたのだろう? pingはちゃんと応答するけど、Webサーバーは応答しなくなった。うーむ。13日も14日も外出なので、追求する時間がない…

1999/7/14(1) すみません、間違えていました

fmlのテストメーリングリストですが、xtest-ctl@unix.msyk.locus.co.jp宛てに、「subscribe 名前」という本文のメールを送ることで、リストに加わることができます。以前のメッセージでは、subscribeではなく、subjectと書いていますが、subjectと書いて送っても、リストには登録できません。すみません。

1999/7/12 AppleShare公開はHFS+しかだめ

AppleShareサーバーとして公開できるボリュームは、HFS+しかだめなのです。管理ツールを使っても、HFS+でフォーマットしたドライブしかリストには出てこないので、あらかじめパーティションを切ってHFS+でフォーマットしておく必要があります。前にも書きましたけど、結果的にOSをインストールする前に「ディスク設定」でパーティションを切ってフォーマットしておく必要があります。OSをインストールした後からはどうしようもないと思います。

で、Sambaみたいに、たとえばユーザーのホームディレクトリをAppleShareのボリュームとして公開できれば便利だなと思いましたが、通常ホームはUFSのボリュームにあるので、それはできません。もちろん、自動的にできればなおいいのだけど、そんな機能はないようです。そこで、なかなか自分でもすばらしいアイデアだと思ったのですが、「HFS+に公開しているディレクトリに、UFS側のディレクトリのシンボリックリンクを置く」というのを思いつきました。しかし、実際にやってみると、AppleShareのクライアント側では、シンボリックリンクが一切見えないようになっています。企画だおれでした…。ともかく、HFS+外をAppleShareクライアントに公開する方法は見当たりません。

ちなみに、Sambaは、UFSのボリュームはもちろん、HFS+のボリュームも、パス名を設定すればきちんと公開されます。特に、フォーマットによる違いはないみたいです。

1999/7/11(3) fmlのマニュアルをちゃんと読まないと…

実は、fmlのインストールは、稲垣さんの「Linux/FreeBSDで始めるメーリングリスト管理者編」という書籍を見ながら作業をしたのです。もう、2年ほど前に書かれた本なので、現状のバージョンと違いはあるのですが、やっぱりオリジナルのマニュアルより読みやすいということでとりあえずこれを基準に作業をしました。すると、やっぱり現状にそぐわない点があったようで、ご指摘をいただきました。

fmlのインストールをrootでやっているが、そうはするなとfmlのインストールマニュアルに書いてあります。アカウントのfmlとかを作って、その権限でインストールをするようにとマニュアルにはある。うーん、これはそうすべきだったでしょうね。で、まだ再度やってみてはいないので分からないのですが、var/spoolというディレクトリにmlというディレクトリを作るわけですね。var/spoolの所有者はroot、グループはなしで、書き込み権限はrootだけにあります。仮にfmlというアカウントでインストールできるようにするには、どっちにしてもそのディレクトリのアクセス権をいじった上でないとインストールできないということはないのかな…。これを調べるにはfmlを一度全部消さないといけないので、ちょっと落ち着いてからにしよう。だけど、本格的にメーリングリストを移す前にやらないといけないな。

メーリングリストのconfig.phを直接編集している。ただ、これは、上記の本で言えばvipw.pl、現状のバージョンでは、makefml configに対応する機能があることは知っていました。ですが、それでセットアップすると、何の説明も出てこないので、知っている人にはよく分かり使いやすいのかも知れませんが、全然知らないうちは、解説が書いてあるconfig.phのソースを見ながら作業をしようとしたわけです。それに、TextViewer.appで作業したほうが、何かとやりやすいので、こういう方法を取りました。ただ、アクセス権の書き換えが起こってしまう面倒は確かにあるのはあるので、あまりいい方法ではないのは確かです。

いずれにしても、私のやり方だと、fml本来のやり方は踏襲していない個所はいろいろあります。インストールマニュアルを見て作業するのも基本だとは分かっていますが、より分かりやすそうなドキュメントがあれば、そっちを見てしまいます(言い訳ですが)。ただ、これによってfmlに対して間違った理解をされるというのは確かにそのとおりです。いずれ、ちゃんとしたやり方をやってるということで、お許しを。

以上は、波多野さんにご指摘いただきました。

1999/7/11(2) Sキーを押しながらの起動と、Vキーを押しながらの起動

Sキーによる起動は、シングルユーザーモードとして、BSD系のUNIXでは有名だそうです。/ をリードオンリーでマウントするそうです。で、起動時には/etc/rcというスクリプトがあって、それがいろいろなプロセスを立ち上げるのですが、シングルユーザーモードでは、/etc/rcの実行には至らないということだそうです。なお、シングルユーザーモードのときには「mount -rw /」というコマンドを打ち込まないとリードオンリーのままになるそうです(これを知っていないとメンテナンスできない!)。

/etc/rcのスクリプトを見ると、いろいろ行っているのですが、/etc/startupディレクトリにあるスクリプトを順番に実行するということをやっています。/etc/startupには、「1600_AppleShare」みたいなファイルがあって、ファイル名で何のプロセスを立ち上げているのか、大体分かりますね。ファイル名の頭の数字を調整することで、起動する順序を指定できるとうい具合です。

シングルユーザーモードでログインした後、シェルをexitで抜けると、/etc/rcが実行され、通常の状態(マルチユーザーモード)になるということです。

Vキーを押しながら起動すると、起動時に実行されるスクリプトでの処理模様が、コンソール形式の画面にずらずらと出てきます。verboseの略なんでしょうかねぇ?

以上は白山さんに教えていただきました。ありがとうございます。

1999/7/11(1) NetInfoにaliasesがあった!

sendmailのエイリアスは、/etc/aliasesだけかと思っていたら、なんとNetInfoにaliasesのエントリーがあり、sendmailは、そちらを見ているということだそうです。というか、Mac OS X Serverのsendmailは、どちらも見ていて両方を利用することが可能だということですね。既定値では、/etc/aliasesは切ってあったというわけです。

したがって、fmlを動かす場合でも、/etc/aliasesを用意する以外に、NetInfoのaliasesにエントリーを加えるという方法もあるそうですが、こちらではまだ実際に試していません。NetInfoのデータを書き出すのがnidump、NetInfoにデータを読み込ませるのがniloadというコマンドだそうです。このあたりをうまく使えるように、fmlが作ったaliasesのひな型を調整するか、あるいはフォーマットファイルというのがあるみたいで、それを作ることになるのでしょうね。これは、そのうち挑戦したいと思います。

NetInfoの実態が良く分からなかったのですが、メールで教えてもらったり、あるいはNeXUSのサイトにあるステラクラフトの佐藤さんの記事を紹介してもらいました。もう少しがんばって勉強しないと。しかし、Mac OS X Serverに、NetInfoのマニュアル類って一切ないのではないだろうか?? NetInfoManagerのヘルプを見てもないし、/System/Documentationにもそれらしいのはないのだけど…

花原さん、白山さんからご指摘をいただきました。ありがとうございます。

1999/7/10(3) 厳しい評価

Mac OS X-J MLで、このページに対して手厳しいご意見をいただきました。要はいいかげんなことを書くなということですが、現状ではいいかげんなことしか分からないので仕方ありません。Mac OS X Serverを使い始めて、まだまだ2ヶ月足らず、あらゆるドキュメントをすべて読み込んでいるわけではないですし、そんなこと物理的に不可能です。それに、必要なドキュメントが本当に揃っているのでしょうか? OS側で用意されているのは非常に限られているように思えます。ずっとMac OSを使ってきて、Mac OS X Serverに戸惑う1人のユーザーとして、率直なところを書いていこうと思っています。理解して知っていることだけを書くのはそれは意味があるかもしれませんが、このページでは、理解していないことも、理解していないことをなるべく分かるように書こうと考えました。別にバカにされてもかまわないですし、無能呼ばわりされても文句は言いません。同じような境遇の人との間で情報が共有できればそれでいいのです。これはこのページのコンセプトです。

ただ、これまでのところで認識が甘いところがあるのは事実で、その点についても、何人かの方からご指摘をいただきました。あまりにたくさんのことを教えていただいたので、若干、飽和気味だったりします。追々、このでそのことを紹介しようかと思いますが、今週は出かけることが多いので、ちょっと時間がかかるかもしれません。

1999/7/10(2) いろいろあるぞ、Tips

Mac OS X-J MLで、いくつかチップスを教えていただきました。これはけっこう新鮮だと思ってしまった!

  1. Terminalで、「open パス」というコマンドを入れると、そのパスを表示するWorkspace Managerのウインドウが即座に開く。たとえば、「open .」というコマンドだと、カレントディレクトリを、Workspace Managerで即座に開くことができる。また、パスがファイルであれば、そのファイルを開く。つまり、ファイルをWorkspace Managerでダブルクリックしたのと同じことになるということです。
  2. Workspace ManagerのでっかいアイコンをTerminalのウインドウにドラッグ&ドロップすると、現在のカーソル位置にその項目のフルパスが自動的に挿入される。

あと、シェルにエイリアスを定義しておく技も教えてもらえたのですが、~/.cshrcに相当するファイルがどれなのかわからない…

ともかく、花原さん、ありがとうございます。今後ともよろしくお願いします。

1999/7/10(1) 非常時の起動は「Sキーを押しながら」

このページを見た方から、シングルユーザーモードでのMac OS X Serverの起動方法を教えていただきました。Sキーを押しながら起動すると、コンソール画面だけが起動し、StartUpのスクリプトはほとんど実行されないようです。メッセージを見ていると、ディスクのマウントだけをしているのではないかと思います。

北海道の標茶町で中学校の教諭をなさっている村田さんに教えていただきました。村田さん、ありがとうございます!!

1999/7/9(3) このページが、OPEN MACLIFEで、そしてMac OS X-J MLで紹介!?

MacLife誌のサイトにあるOPEN MACLIE(Mac OS X Serverを取り上げている。サイト)でこのページを紹介してくれたそうで、それを見た方が、Mac OS X-J MLでちょこっと感想を書いてくれました。「♪この道は いつか きた 道〜」だそうです。まあ、誰だって、この道をたどらないといけないでしょうね。よろしくお付き合いください。

これからはちゃんとリンクをつけていこう!

1999/7/9(2) ステラクラフトさんから連絡が来た

Mac OS X Serverの日本語版は、来週の7/15前後に届けられるとのことです。アカデミックを示すための証明書をファクスして、入金すれば、すぐに出荷するとのこと。しかし、もう、7月中旬ですねぇ…。

1999/7/9(1) fmlのログをWebで見られるようにした

この設定、最初からは設定されていないのですね。ということで、xtestメーリングリストの内容をHTMLで参照できるようにしてみました。例によって、/var/spool/ml/xtest/config.phを書き直します。$AUTO_HTML_GEN = 1; にするだけでいいみたい。これで、/var/spool/ml/xtest/htdocsというディレクトリに、メッセージがWebブラウザから参照できるように溜め込まれます。AutoShareでメーリングリストをやっているのですが、そちらはログをWebブラウザから見るしかけを自分で作っていたので、それに比べてなんと手軽なこと。そして、Webサーバーとして公開するディレクトリである/Local/Library/WebServer/Documentsの中に、xtestという名前のシンボリックリンクを作ります。もちろん、リンク先は、/var/spool/ml/xtest/htdocsですね。そうすると、

http://unix.msyk.locus.co.jp/xtest/

というアドレスで、xtestメーリングリストのメッセージが参照できるようになります。なるほど、スレッド表示とかもちゃんといくので、これはなかなかいいですね。

また、config.phの所有者をrootからmsykに戻しておかないといけないですね。

1999/7/8 QuickTime Streaming Server 1.01が出る

ストリーミング性能が2倍、Linux向けのバイナリも作られたというのがトピックです。うちではまだ入れていません。QTSSも面白いのだけど、ストリーミングするねたがない…。まあ、そのうちということで。

1999/7/7(2) それで、再度fmlをインストールした

再度、fmlをインストールしました。今度は手順をまじめに追える(苦笑)。前の記録で抜けている、というか、いろいろやっているうちに動き出した面もあるので、手順として抜けているところがありました。ということで、現状で分かっているもっとも確実な方法を書き並べておきましょう。

  1. まず、/etc/sendmail.cfの修正を行なう(再起動してから以下の作業をやったほうがいいみたい)。
  2. グループfmlを作る。メールの管理者をこのfmlに属しておく。
  3. ダウンロードしたfml-current.tar.gzをダブルクリックする。(というのは、OpenUpというユーティリティをインストールしているので、ダブルクリックで解凍可能。これは、ThirdpartyのCDにある)
  4. Terminalを起動する(もちろん、外部からtelnetでもいい、というかそのほうが楽か)
  5. Administratorのルートの、Library/OpenUp/fml-current_0/fml-2.2E-snapshot2というディレクトリにカレントを移動する
  6. 「perl makefml install」とコマンドを打ち込む
  7. インストール時のコマンドを聞いてくるので、それに対応する
  8. /var/spool/mlというディレクトリが作られるのを確認する。この下に、メーリングリストごとのディレクトリが作られる。また、プログラムなどは、/usr/local./fmlというディレクトリに作られている。
  9. 次に、メールの管理者でログオンしなおす。
  10. 「/usr/local/fml/makefml newml xtest」とコマンドを入れると、xtestメーリングリストが作られる。
  11. 最後に、/var/spool/mlがグループによる書き込みが可能とメッセージが出る
  12. ここで、再度rootでログインするのがいいだろう。
  13. /var/spool/mlはグループでの書き込みが可になっている。グループでの書き込みを不可にする
  14. /var/spool/ml/xtest/aliasesを、/etc/aliasesにコピーする
  15. コマンド「newaliases」を入れて、/etc/aliasesからデータベースを再構築する
  16. メーリングリストの設定を変更したい。/var/spool/ml/xtest/config.phを開き修正する。数日前のメッセージを参照のこと。
  17. とやってしまうと、実はconfig.phの所有者がrootになってしまう。このように作業をしてしまった場合には、config.phの所有者をメールの管理者に変更しておく

てな感じです。config.phの書き換えは、リストの管理者アカウントで修正をしたほうがよさそうですね。

さて、/var/spool/mlのグループ書き込み権限ですが、ここはrootが所有者、fmlがグループになっています。つまり、実際にメーリングリストを作るときには、rootではなく、fmlに所属するユーザー権限でプログラムを走らせるということは、ここは書き込み可にしておかないといけません。しかし、メーリングリストの運用時には、ここを書き込み可にしていると、sendmailでのセキュリティエラーに引っかかります。つまり、新しくメーリングリストを作るときに、いったんグループに書き込み許可を与えて、作ったらすぐにその許可を却下するということが必要になるのではないかと思います。うーむ。

それから、OmniWebのRC2が出ていたので、ダウンロードしてインストールしました。

1999/7/7(1) あぁ、サーバーを起動できなくしてしまった

今日は悲惨な日です。namedを適当に試してみたけど、だめだった。それでも、勢いに乗って、DHCPを試そうとしたわけです。STEPWISEにあったやつを試してみると…なんだ、これってクライアントなのね。ということで、クライアントならいいやということで、ネットワーク設定をもとにもどして再起動すると、起動しなくなってしまいました。dhcliantを動かすということで、「ネットワーク」の「接続」のタブのページの設定をクリアして動かしました。先にクライアントだと気付けばよかったんですが、ついいつもの癖で「とりあえず入れてみる」をやってしまった。それで、まあ使わないでいいかと思ったけど、dhclientの起動スクリプトをはずさないでネットワーク設定をしてしまい、それで再起動したら、起動しなくなったというわけです。うーむ。

起動しなくなったとき、どうすればいいのでしょうねぇ…。Mac OSみたいに、Shiftキーを押したまま軌道とか、フロッピーとかCD-ROMでの起動ってできないのだろうか? 誰か知っている人がいたら教えてください。

仕方ないので再インストールしています。しかしなぁ、インストーラって、いったんボリュームを全部消してしまうのね。こいつはまいった…。せっかく始まったメーリングリリストもあるというのに…。

なんとか、xtestのメーリングリストは復活させました。ただ、今日の午前2時ごろ以降に新たに登録した人の情報がなくなってしまっています。もし、該当する方がいらっしゃったら、大変申し訳ないのですが、再度登録をお願いします。メールアドレスなどは同じです。

教訓 バックアップは必要。Mac OS X Serverでも過信は禁物

1999/7/6(3) Samba再起動方法

再起動は、FreeBSDで一般的な、「kill -HUP プロセス番号」でとりあえず行ける。なんか、Terminalに行かなくてもする方法はないかな〜

ところで、街に出たときに、日経BP社の「Mac OS X Server徹底ガイド」を買ってしまった。平積みの最後の1冊だった。売れているのかもしれない。で、さっそく「プロセスの再起動」を索引で調べようとしたら…がーん、索引がない。急いで作ったなぁ。

1999/7/6(2) Samba動いた!

大津真さんの書籍「TurboLinuxによるUNIX入門」をぱらぱらと見ていたら、なんと、Sambaって、NT 4.0 SP3以降のクライアントから使うときには、暗号化パスワードの設定をしないといけないんだって。Windows 98もだそうです。私が使っているWindowsマシンは、SP4なので、そりゃだめですね。で、大津さんの本を見たのだけど、実は今日街に出たときに、「Samba 2.0によるWindowsネットワーク構築入門」(浅野理森、技術評論社)を買ってきたので、それとあわせてどうするかを考える。

まず、smb.confだけど、「encript password = yes」の行をコメントからはずす。このファイルには、パスワードファイルを指定しないといけない。パスワードファイルを作ることも1つの手で、大津さんの本にはそう書いてある。ここは、既定のパスワードファイルを使うことにした。既定のパスワードファイルは、

/usr/local/samba/private/smbpasswd

に作られている。パスワード設定ユーティリティは、

/usr/local/samba/bin/smbpasswd

にある。このあたりは、ファイル検索ユーティリティでチェックを入れた。しかし、パス名がパズルみたいじゃ。いずれにしても、smb.confに

smb passwd file = /usr/local/samba/private/smbpasswd

という行を加える。これはコメントアウトされた定義はないため、自分で書き加える必要があります。

次にパスワードファイルへユーザーアカウントを登録しないといけません。初期状態は何も登録されていません。また、このパスワードファイルへのアカウントとしては、システムに登録されたアカウントでなければなりません。そこで、システムのパスワードファイルからアカウント情報を取り込むmksmbpasswd.shというスクリプトがあるのですが、まだ、これを使うユーザーは限られているので、パスワード設定ユーティリティを直接動かして、-aオプションで新規アカウントを登録することにしました。つまり、

/usr/local/samba/bin/smbpasswd -a msyk

として、msykというアカウントを追加し、その後、パスワードを2回タイプします。わざと、システムに登録しているのと違うパスワードにしてみたりなんかして。なお、/usr/local/samba/bin/smbpasswdは、smb.confを見て、パスワードファイルのありかをチェックするのではないでしょうか。コマンドラインにパスワードファイル自体の指定はないですね。

これでばっちり、NT 4.0からアクセスできました。しかし、Sambaの再起動がいまだにわからない。とりあえず、Mac OS X Serverを再起動しているけど、なんぞいい方法はないものか…

教訓 Mac OS X Serverを使いこなすには、UNIX本を読むこと

1999/7/6(1) 日本語版、まだかいな〜

注文を入れていたステラクラフトさんに、まだかいなーと問い合わせる。7/12の週に届けられるということでメールが来た。来週か。まあ、いいか。

1999/7/5 fmlが動いた!

メーリングリストはぜひともfmlを動かしたいと思っていたので、トライした。ともかく動くようにはなったけど、ちょっとひっかかりがあった。いずれにしても、UNIXの勉強になった。

インストール、メーリングリストの作成は、比較的スムーズだった。ちょっと古いけど情報管理から刊行されている「FreeBSD/Linuxで始めるメーリングリスト管理者編」を参照して作業した。ここまではスムーズだった。というか、書籍と同じようにできた。tarパッケージはダブルクリックで解凍される。それでAdministratorのルートから見て、/fml-current_0/fml-2.2E-snapshot2をカレントディレクトリにして、perl makefml installを実行する。そして問い合わせに答える。次にmsykでログインして、/usr/local/fml/makefml newml xtestとやってみる。このあたりは、別のマシンからtelnetで入って作業するほうが何かと楽ですね。

しかし、メーリングリストに送ったメールが戻される。しかもUser Unknownだと!? ということは、送ったアドレスが認識されていない→aliasesの設定がおかしい、ということになるのだが、何回かnewaliasesしてチェックしたけど同じ症状。ここで、aliasesのメカニズムを勉強する。ふむふむ、sendmail.cfにその設定があるとか。で調べてみると、なんと、「O AliasFile=/etc/aliases」の行がコメントアウトされている! つまり、デフォルトではエイリアスの機能が働かないようになっているとは…。この行をアクティブにすると、sendmailでメーリングリストの機能が働きだした。

で、これだけでなかった。今度は、aliasesのincludeで起動されるプロセスが、グループに対して書き込み可能になっているためにセキュリティのために起動を取りやめたというエラーが戻ってくる。まずは、書き込み可能ならセキュリティ上問題があるのだということを勉強する。なるほど、そうなっていると、メーリングリストののっとりなんてこともできるのかいな…。そこで、まずはsendmailが書き込み可能なディレクトリにあるプロセスでもincludeで起動できるようにできないかを試行錯誤してしまった。これは間違いのもと。マニュアルを印刷して必死に見て、sendmai.cfをやっぱり修正して、何とか動くようになった。しかし、ここでfmlのマニュアルを見ると、どうやら、可能な限り、「chmod 755をしまくれ」というアドバイスがある。そこで、sendmail.cfの修正をやめて、/var/spool/ml/xtestの各パスで、グループに対する書き込みのアクセス権をすべて削除して回った。うまく動かないからと言って、いろいろと設定を変えてしまったので、ちょっとはまってしまったが、ともかくアクセス権を初期状態に戻してみると、動きだした。

次は、メールによって登録できるようにしたい。ここからfmlの世界になる。fmlのマニュアルはちょっと読みにくいけども、必要なことはともかく書いてあるようだ。メーリングリストは初期状態では、メンバーからの発言のみを受け付けるようになっている。コマンドも同様だ。この場合、メーリングリストに登録しようとするメールを送ると、確認の後、管理者にメールを送り、管理者が1人1人登録する仕組みになっている。これは面倒だ。自動的に登録したい。そのための設定は、$REJECT_COMMAND_HANDLER="auto_regist"にすることだった。あとは、メールのサブジェクトをメーリングリストっぽくすることだ。$SUBJECT_TAG\TYPE="[:]"という設定でOKだ。連番は最初からカウントしていて、seqというファイルで管理しているようなので、この設定だけで連番が入る。

というわけで、Mac OS X Server/fmlがきちんと動くかどうかのテストを始めました。雑談をmlで展開しながら、ちゃんと動くかどうかを調べるという趣旨です。ご参加いただける場合には、xtest-ctl@unix.msyk.locus.co.jpまで、本文に「subject あなたの名前」とだけ書いたメールを送ってください。折り返し確認メールが来るので、それに従えば、登録されます。メーリングリストの投稿アドレスは、xtest@unix.msyk.locus.co.jpです。ふるってご参加ください。→間違いがあります。1999/7/14(1)を参照

1999/7/3 Sambaが動いたけど、ログオンできない

STEPWISEで、Mac OS X Server用のSamba 2.0.4がある。これを入れてみた。とりあえず、特に何もしないで動き出した! /usr/local/samba/lib/smb.confが設定ファイル。これのワークグループ設定を、NTのワークグループにしてみた。「workgroup = MSYKHOME」としてみる。NT Serverがすでにプライマリドメインコントローラとして動いているので、その名前を付ける。あと、いろいろいじった。

確かに「ネットワークコンピュータ」には、Mac OS X Serverの名前である「unix」が見えている。しかし、クリックすると、名前とパスワードを入れるダイアログボックスが出てくる。Mac OS X Serverのマシンのアカウントを入れてみたがだめ。何を入れてもだめ〜。うーむ。

いろいろいじったけど、Webブラウザでsmb.confは書き換えることができるようですね。まあ、それはそれで使いやすいのかもしれないけど、smb.confの中身にあったコメントが一切消えてしまうではないか。

1999/7/2 qpopperあっさり動く

POP3サーバーとして、QPOPPERというのが配布されているのが見つかった。STEPWISEのサイトから見つけたけど、このサイトは網羅していてすごい。ダウンロードして解凍し、所定のフォルダに移動する。ただし、/usr/local/libexecが既定のフォルダになっているので、そのとおりにフォルダを作らないといけない。そして、poperをコピーすればいい。そして、/etc/inetd.confのPOPプロトコルに対応するプロセスの部分にあるコメントをはずせばそれでOKだ。

同時にDHCPを動かすところまでやろうかと思ったけど、AppleShareとコンフリクトするとかで、おじけづく。そのうちやることにした。