[[How2Computing]] #author("2022-01-13T19:14:49+09:00","","") *Mac OS X Server運用メモ [#q6ff87c4] Mac OS X Serverをインストールしたときのメモ書きです。 苦労したところだけをピンポイントにメモしています。 *Mac OS X Server 10.7 (Lion) [#ve7a56b8] サーバの管理には、以下の二つのアプリケーションを使う。 &ref(icon.png); &ref(admin.jpeg); 上記アイコンの左がServer.app &br; App Storeで販売。Lionをインストールしたマシンでこれを起動すると、Lion Server になる。 また、その後は、Lion Serverの設定用アプリケーションとなる。 以下「Server.app」 上記アイコンの右がサーバ管理 (Server Admin Tools 10.7 ) &br; 以下から無料ダウンロードする。 Lion, Lion Serverから起動して、サーバの設定を行う。以下「サーバ管理.app」 http://support.apple.com/kb/DL1419?viewlocale=ja_JP Server.appとサーバ管理.appの縄張りはややこしい。 それぞれで出来ることと出来ないことがある。 たとえば、webの設定はServer.appじゃないとできない。 DNSの設定はサーバ管理.appじゃないとできない。 メールはどちらでもできる。 ** DNSの設定 [#rf4ba048] &ref(admin.jpeg); DNSは、Server.appから設定はできない。 サーバ管理.appを使う。 ただし、ときどきおかしくなる。GUI画面での設定が、テキストの設定ファイルに正しく反映できないことがある。テキスト設定ファイルが正しくないと、それまで入力した設定が全部消去されることもある。 最初の大まかな設定は、サーバ管理.appで行い、その後はテキスト設定ファイルと見比べながら、 行うのがよい。 DNSの設定ファイルは、/etc/named.conf である。 これを見ると、ゾーンごとに内容を記述したテキストファイルが作られるようである。 たとえば、siio.jpというゾーンの設定なら、 /var/nameddb.siio.jp に設定が書かれている。そこでこのファイルをエディタで開いて、 orange.siio.jp. 10800 IN A 192.168.108.3 lemon.siio.jp. 10800 IN A 192.168.108.4 apple.siio.jp. 10800 IN A 192.168.108.7 などと書き加えていく。 サーバ管理.appで加えるのも可能だが、何かの拍子に間違った情報が書き込まれると、 サーバ管理.appで設定が表示されなくなってしまう。 **webの設定 [#i4a0c284] &ref(icon.png); Server.appから行う。 apache2がインストールされる。 httpd.confなどの設定ファイルは /etc/apache2 の中にある。 httpd.confがメインの設定ファイルで、 場合によっては他のファイルをインクルードしている。 特に、 <IfDefine WEBSERVICE_ON> Include /etc/apache2/sites/*.conf </IfDefine> とhttpd.confの最後のほうに書かれているように、 /etc/apache2/sites の中の*.confがインクルードされるらしい。 **メーリングリストの設定 [#x3870b63] &ref(admin.jpeg); メーリングリストは、mailmanが動く。 メーリングリストの設定はサーバ管理.appで行う。 メールの設定は、Server.appでもサーバ管理.appでも行えるが、 Server.appでは細かい設定ができないし、メーリングリストも設定出来ない。 ただし、サーバ管理.appでも、 メーリングリストとメンバーの作成/追加/削除ができるだけである。 mailmanのそれ以外の細かい設定はwebから行う。 (この状況は10.6以前のMac OS Xサーバでも同じ。) webは、http://<ホスト名>/mailman などのURLで行う。 このURLは、 /etc/apache2/httpd_mailman.conf がhttpd.confから呼び出されれば、有効になる。 調べてみると、10.6以前ではhttpd.confのなかから以下のようにhttpd.mailman.confを呼び出していた。 #### For Mac OS X Server: Uncomment this line to enable web-based #### configuration of mailman: ## Include /etc/apache2/httpd_mailman.conf しかし、サーバ管理.appでも、Server.appでも、この設定を行ってくれない。 ターミナルを使って手作業で設定するしかない。 とはいえ、viなどのテキストエディタでhttpd.confに上の設定を書き加えるととんでもないことになる。 Server.appでapacheを起動させたときに、 手動でhttpd関係の変更がされていることがわかると、 手動の変更も、Server.appで行った設定もすべて消去されてしまうようだ。 前期のように、/etc/apache2/sites の中のすべての*.confファイルは実行されるので、 httpd.mailman.conf や、そのシンボリックリンクを、 sitesディレクトリに入れておけば良いと思うかもしれない。 しかしこの変更も、Server.appに見破られてしまい、sitesに加えたファイルが消去される。 ということで、解決策は、 +/etc/apache2/sitesの中にhttpd.mailman.conf や、そのシンボリックリンクを入れる +でもServer.appではapacheの再起動を絶対行わない +apacheの再起動は、sudo apachectl restartコマンドで行う ということになった。 *Mac OS X Server 10.5 (Leopard) [#ta5bacac] ** Mailman の unknown encoding: iso-2022-jp への対策 [#x6ea7f51] Mac OS X Server 10.4のときは,何の苦労も無くメーリングリストを運用できていた. けど,10.5に変更したら動かなくなってしまった. しばらくあきらめていたけど,もう一回トライしてみた. Mac OS X Server 10.5のメールサーバの設定はできているようで, 通常にメールは受信できる.しかし,メーリングリストの配信をしてくれない. メーリングリスト_エラーのログを見ると, Apr 28 12:08:37 2008 (124) Uncaught runner exception: unknown encoding: iso-2022-jp Apr 28 12:08:37 2008 (124) Traceback (most recent call last): File "/BinaryCache/mailman/mailman-126~18/Root/usr/share/mailman/Mailman/Queue/Runner.py", line 112, in _oneloop File "/BinaryCache/mailman/mailman-126~18/Root/usr/share/mailman/Mailman/Queue/Runner.py", line 170, in _onefile File "/BinaryCache/mailman/mailman-126~18/Root/usr/share/mailman/Mailman/Queue/OutgoingRunner.py", line 73, in _dispose File "/BinaryCache/mailman/mailman-126~18/Root/usr/share/mailman/Mailman/Handlers/SMTPDirect.py", line 132, in process File "/BinaryCache/mailman/mailman-126~18/Root/usr/share/mailman/Mailman/Handlers/Decorate.py", line 177, in process File "/BinaryCache/mailman/mailman-126~18/Root/usr/share/mailman/pythonlib/email/MIMEText.py", line 37, in __init__ File "/BinaryCache/mailman/mailman-126~18/Root/usr/share/mailman/pythonlib/email/Message.py", line 246, in set_payload File "/BinaryCache/mailman/mailman-126~18/Root/usr/share/mailman/pythonlib/email/Message.py", line 282, in set_charset File "/BinaryCache/mailman/mailman-126~18/Root/usr/share/mailman/pythonlib/email/Charset.py", line 399, in body_encode File "/BinaryCache/mailman/mailman-126~18/Root/usr/share/mailman/pythonlib/email/Charset.py", line 282, in convert LookupError: unknown encoding: iso-2022-jp Apr 28 12:08:37 2008 (124) SHUNTING: 1209352116.6575439+e5de1702bc6e46e3c23e22efe11dd71a71b84957 のように書かれている.どうも日本語の扱いで失敗しているようだ. すこしぐぐってみたら, http://earlybirds.ddo.jp/namahage/inegalog/index.php http://earlybirds.ddo.jp/namahage/inegalog/forum/topic.php?tid=92&p=0 というサイトでこのエラーの対策法を説明している. python2.5とmailmanの互換性の問題らしい. 症状は酷似しているので,試してみた. MailmanのPythonのソースを一行コメントアウトすれば直るらしい. ただし,上記のサイトは,Mac OS X Serverではなくて, Mac OS Xに自力でMailmanをインストールする方法を紹介するサイトである. といことで,Mac OS X Serverとはmailmanのインストール場所も違う. そこで探してみたら,Mac OS X Serverの場合は, /usr/share/mailman/ 以下にmailmanがインストールされているらしい. そこで, /usr/share/mailman/bin/paths.py /usr/share/mailman/cron/paths.py /usr/share/mailman/scripts/paths.py /usr/share/mailman/tests/paths.py の4種類のファイルを開いて,import japaneseという記述を見つけて, この先頭に#を付けてコメントアウトした. そして,メールサーバを停止/開始した. この結果,無事メーリングリストが復活した. ** Mailmanの情報 [#w6933e74] http://www.magic3.org/sarucast/index.php?Mailman%A4%CE%C0%DF%C4%EA