OSX10.8サーバ その9 Mailman の設定まとめ

Mountain Lion Server(OSX10.8)その9 Mailman の設定まとめ

Mountain Lion (OSX10.8) Server へのメーリングリストMailman のインストールと設定のまとめ。
いろいろやって、ついにできたので、この時点でまとめる。

Home / OS X Mountain Lion Mailman Mailing List に基本的に従うが、これに書いていない部分を加える。

準備;

★Xcode (この時点で 4.4) をダウンロードしXcode command line toolsをインストールしておくこと。

★root になれるようにしておいたほうがいい。sudo でも問題ないけど。

「システム環境設定」→「ユーザとグループ」→左下の鍵を開ける→ログインオプションが有効になる→「ネットワークアカウントサーバ:接続….」をクリック→「ディレクトリユーティリティを開く」をクリック→左下の鍵を開ける→「メニューバー」の「編集」から 「ルートユーザを有効にする」を選択→ルートユーザのパスワードを入力する、確認用に同じパスワードを入力する。 これでターミナルで su とすればrootユーザとなって作業できる。

Mailman をダウンロードする。この時点では2.1.15だ。

★/usr/local  とその中にmailmanというdirectoryがないから作る。ここからは面倒なのでrootになって実施する。

sh-3.2# mkdir /usr/local
sh-3.2# mkdir /usr/local/mailman

★ダウンロードし解凍したmailman-2.1.15を/usr/local/mailmanへ移動する。
mailman-2.1.15をデスクトップに移して
デスクトップで

sh-3.2# cp mailman-2.1.15.tgz /usr/local/mailman/mailman-2.1.15.tgz

としてコピーし、/usr/local/mailmanに移動し

sh-3.2# tar zxvf mailman-2.1.15.tgz

で解凍した。
/usr/local/mailman/mailman-2.1.15ができる。

/usr/local/mailman で

sh-3.2#chgrp mailman .
sh-3.2#chmod a+rx,g+ws .

を実行しておく。
実行する前
sh-3.2# ls -al
total 16544
drwxrwsr-x 4 root _mailman 136 8 17 13:38 .
drwxr-xr-x 3 root wheel 102 8 16 09:31 ..
drwxr-xr-x 32 root _mailman 1088 8 17 13:38 mailman-2.1.15
-rw-r–r–@ 1 root _mailman 8468107 8 17 13:37 mailman-2.1.15.tgz
実行したあと
sh-3.2# ls -al
total 16544
drwxrwsr-x 4 root _mailman 136 8 17 13:38 .
drwxr-xr-x 3 root wheel 102 8 16 09:31 ..
drwxr-xr-x 32 root _mailman 1088 8 17 13:38 mailman-2.1.15
-rw-r–r–@ 1 root _mailman 8468107 8 17 13:37 mailman-2.1.15.tgz
なんも変化していないから、やらなくてもいいかも。

★インストールする。
/usr/local/mailman/mailman-2.1.15のdirectoryで

sh-3.2# ./configure

とするとなんやら出てくるが終わったら、さらに

sh-3.2# make install

とするとさらにセットアップの過程が出てくる。

0x0 から 0x2010ff0 へアップグレード
古いソースファイルを削除中
リストがありません == 何も実行せずに終了します

多分、いいんだろう。

usr/local/mailman
にもどってパーミッションのチェックを行う。

sh-3.2# bin/check_perms -f
警告: 限定公開保存書庫ディレクトリが other-executable (o+x) に
なっています. あなたのシステムのシェルユーザがこの保存書庫
を読むことができます. インストールマニュアルには, これを
どうしたら修正できるか書いてありますので, 参考にしてください.

問題があります: 75
修正するには -f オプションをつけて _mailman か root の権限で実行してください

で再度 実施する。

sh-3.2# bin/check_perms -f
警告: 限定公開保存書庫ディレクトリが other-executable (o+x) に
なっています. あなたのシステムのシェルユーザがこの保存書庫
を読むことができます. インストールマニュアルには, これを
どうしたら修正できるか書いてありますので, 参考にしてください.

問題ありません

ということでインストールはおしまい。

sh-3.2# ls -al
total 16544
drwxrwsr-x 22 root _mailman 748 8 17 13:45 .
drwxr-xr-x 3 root wheel 102 8 16 09:31 ..
drwxrwsr-x 72 root _mailman 2448 8 17 13:45 Mailman
drwxrwsr-x 4 root _mailman 136 8 17 13:45 archives
drwxrwsr-x 41 root _mailman 1394 8 17 13:45 bin
drwxrwsr-x 13 root _mailman 442 8 17 13:45 cgi-bin
drwxrwsr-x 12 root _mailman 408 8 17 13:45 cron
drwxrwsr-x 4 root _mailman 136 8 17 13:45 data
drwxrwsr-x 9 root _mailman 306 8 17 13:45 icons
drwxrwsr-x 2 root _mailman 68 8 17 13:45 lists
drwxrwsr-x 2 root _mailman 68 8 17 13:45 locks
drwxrwsr-x 2 root _mailman 68 8 17 13:45 logs
drwxrwsr-x 3 root _mailman 102 8 17 13:45 mail
drwxrwsr-x 36 root _mailman 1224 8 17 13:44 mailman-2.1.15
-rw-r–r–@ 1 root _mailman 8468107 8 17 13:37 mailman-2.1.15.tgz
drwxrwsr-x 39 root _mailman 1326 8 17 13:45 messages
drwxrwsr-x 2 root _mailman 68 8 17 13:45 pythonlib
drwxrwsr-x 2 root _mailman 68 8 17 13:45 qfiles
drwxrwsr-x 15 root _mailman 510 8 17 13:45 scripts
drwxrwsr-x 2 root _mailman 68 8 17 13:45 spam
drwxrwsr-x 40 root _mailman 1360 8 17 13:45 templates
drwxrwsr-x 19 root _mailman 646 8 17 13:45 tests
sh-3.2#
となっていた。アクセス権はよさそうだ。

★apache2 がmailman を使うために、httpd-mailman.confを作る
/private/etc/apache2/extra/ で
httpd-mailman.confというファイルを作る。
中身は

# Config file for linking the mailman mailing list manager to MacOSX Server Web Server.
#
ScriptAlias /mailman/ “/usr/local/mailman/cgi-bin/”
Alias /pipermail/ “/usr/local/mailman/archives/public/”
Alias /icons/ “/usr/local/mailman/icons/”
Options FollowSymLinks MultiViews Indexes
AllowOverride None
Order allow,deny
Allow from all

だ。

★上のファイルをapache2 が読むことを指定するため、httpd_server_app.confに加筆する
/Library/Server/Web/Config/apache2 に行って
httpd_server_app.confのバックアップを作って

sh-3.2#cp httpd_server_app.conf httpd_server_app.conf,20120819

おいて、書き換える。
一番下のほうに
# Secure (SSL/TLS) connections
というコメント部分があるから、この直前に

# Mailman config files
Include /private/etc/apache2/extra/httpd-mailman.conf

の2行を書き加える。

★Postfixをメーラーとして指定する
/usr/local/mailman/Mailman
内のmm_cfg.py を

sh-3.2#cp mm_cfg.py mm_cfg.py,20120819

としてコピーしておいて、
mm_cfg.py の一番下に

MTA = ‘Postfix’

を書き加えた。

★aliases を作る。
/usr/local/mailman で

sh-3.2#bin/genaliases
sh-3.2#chown mailman:mailman data/aliases*
sh-3.2#chmod g+w data/aliases*

を実行する。
/usr/local/mailman/data
にaliases とaliase.db
が作成される。上のコマンドだとaliases と daliases.db のオーナーはmailman になるはずだが、最終的にできたのを見ると、
-rw-rw—- 1 root _mailman 1088 8 31 17:51 aliases
-rw-rw—- 1 _mailman _mailman 16384 8 31 17:51 aliases.db
となっている。試行錯誤のとき、ここに書いた順番でやらなかったからか?owner の mailman と _mailman に違いが分かっていない。オーナー、グループともmailman (_mailman)にする。パーミッションは両方とも 660 だな

★Postfix がmailmanを使うために。
/Library/Server/Mail/Config/postfixでmain.cfに加筆する。
main.cfはmain.cf,20100819 とコピーしておいた。
main.cf の一番下に

owner_request_special = no
alias_maps = hash:/etc/aliases,hash:/usr/local/mailman/data/aliases

の2行を書き加える。
unknown_local_recipient_reject_code = 550 はすでに記述されていた。
hash:/etc/aliases は使わない?のでいらないのかも。

参考にしたページではrecipient_delimiter = +も加えることになっていたが、すでにあった。

★Mailmanのパスワードの設定

sh-3.2#/usr/local/mailman/bin/mmsitepass xxxxxx

と実行すると パスワードを変更しました. と返ってきた。

★新しいメーリングリストを作る。
/usr/local/mailman で

sh-sh-3.2# bin/newlist example
リスト管理者のメールアドレスを入力してください: hoge@example.com
example の初期パスワード:
Enter を押して example の管理者にメール通知する…

mailman をスタートさせたら、mailmanというリストを作れといってくるので作った。

sh-3.2# bin/mailmanctl start
サイトリスト名がありません: mailman
sh-3.2# bin/newlist mailman
リスト管理者のメールアドレスを入力してください: hoge@example.com
mailman の初期パスワード:
Enter を押して mailman の管理者にメール通知する…

sh-3.2# bin/mailmanctl start
Mailman のマスター qrunner を起動します
sh-3.2#

で多分いいんだろう。mailman というリストが必要らしい。
[追記] 2013.4.5

/usr/local/mailman/dataで確認するとaliases.dbのパーミッションがおかしい。ちゃんと660にしたはずだが…

-rw-rw—- 1 _mailman _mailman 35613 4 5 08:56 aliases
-rw-r—– 1 _mailman _mailman 49152 12 26 15:43 aliases.db

# chmod g+w aliases.db とする。
-rw-rw—- 1 _mailman _mailman 35613 4 5 08:56 aliases
-rw-rw—- 1 _mailman _mailman 49152 12 26 15:43 aliases.db

そんで

sh-3.2# newaliases

を実行する。
★サーバ起動時にmailmanを起動させる
サーバ起動時にmailmanが起動するようにLaunchDaemons にファイルを加えておく。
/System/Library/LaunchDaemons に行って
org.list.mailmanctl.plist を作り、中身は

<!–?xml version=”1.0″ encoding=”UTF-8″?–>

Debug Disabled

Label

org.list.mailmanctl

Program

/usr/local/mailman/bin/mailmanctl

ProgramArguments

mailmanctl

-s

start

KeepAlive

RunAtLoadAbandonProcessGroup

 

と書く。おしまい。

http://[ドメイン名or ip address]/mailman/admin にアクセスして新しいリストを作れることを確認し、複数のメールアドレスを登録し、メールを送付できたらおしまい。
サーバを再起動してmailmanが起動していることを確認した。

★昔のサーバにあるリストのコピー・ペースト

/list
/archives

の2つのdirectoryをコピーし、新規のサーバにあるものと入れ替える。
しかし、このままでは http://[ドメイン名]/mailman/admin/ でメーリングリストの一覧がみえない。
/usr/local/mailman で
bin/withlist -l -r fix_url [メーリングリスト名]
を実行するとそのリストが一覧にでてくる。すべてのリストについて実施する必要がある。
これが、わからなくて悩んだ。

★運用につていの説明は、ここに詳しく書いてある。

メーリングリスト管理メモ

OSX10.8サーバ その8 mailman-4

Mの更新(Mountain Lion OSX10.8サーバ) その8-mailman-4
Mailman設定のまとめはこっち。http://seigi.accsnet.ne.jp/sigh/blog/?p=2406
/usr/local/mailman/data をみると
drwxrwsr-x   7 root      _mailman    238 Aug 28 15:00 .
drwxrwsr-x  22 root      _mailman    748 Aug 17 13:45 ..
-rw-r—–   1 root      _mailman     41 Aug 17 14:41 adm.pw
-rw-rw—-   1 root      _mailman   1088 Aug 28 15:02 aliases
-rw-rw—-   1 _mailman  _mailman  16384 Aug 28 15:02 aliases.db
-rw-r–r–   1 root      _mailman     10 Aug 17 13:45 last_mailman_version
-rw-r–r–@  1 root      _mailman  14100 Aug 17 13:45 sitelist.cfg
となっていて、aliases のowner が_mailman になっていないので_mailmanに変更した。グループは読み書き可能となっているので変更しなかった。
しかし、現在のmikeではaliasesのownerはrootで動いているし、alialases.dbのパーミッションは664だ。ネットでみるとaliases, aliases.db のパーミッションは660、ownerはmailman にしろと書いてある。ちなみに、mountain lion ではowner:group は_mailman:_mailman とdefaultでなっている。なぜだ?
/etc/postfix の main.cf のバックアップを作っておいてから、一番下に以下の1行を書き加えた。
alias_maps = hash:/usr/local/mailman/data/aliases
まだ、だめ。

OSが10.8.1にアップデートができるとの連絡だ。アップデートした。

test というメーリングリストをつくったわけで、test@example.com へメールを出すと、SMTPのログでは
smtp error log をみると

Aug 30 16:09:26 example.com postfix/postscreen[3926]:
CONNECT from [123.123.123.123]:50450 to [124.124.124.124]:25
Aug 30 16:09:26 example.com postfix/postscreen[3926]:
PASS OLD [123.123.123.123]:50450
Aug 30 16:09:26 example.com postfix/smtpd[3928]:
connect from upstream..example.com[123.123.123.123]
Aug 30 16:09:26 example.com postfix/smtpd[3928]:
sacl_check: mbr_user_name_to_uuid(test) failed: No such file or directory
Aug 30 16:09:26 example.com postfix/smtpd[3928]:
89DCCE30A8: client=upstream..example.com[123.123.123.123]
Aug 30 16:09:26 example.com postfix/cleanup[3935]:
89DCCE30A8: message-id=<503F11A7.8090302@example3.com.jp>
Aug 30 16:09:26 example.com postfix/qmgr[84]:
89DCCE30A8: from=, size=1145, nrcpt=1 (queue active)
Aug 30 16:09:26 example.com postfix/smtpd[3928]:
disconnect from upstream..example.com[123.123.123.123]
Aug 30 16:09:26 example.com postfix/local[3936]:
89DCCE30A8: to=, relay=local,
delay=0.16, delays=0.03/0.01/0/0.12, dsn=2.0.0, status=sent
(delivered to command: /usr/local/mailman/mail/mailman post test)
Aug 30 16:09:26 example.com postfix/qmgr[84]:
89DCCE30A8: removed

testというファイルやディレクトリがないといっている

/usr/local/mailman/log にerror log がある。これをみると、

Site list is missing: mailman

とある。

mailman というメーリングリストがないとだめだという記事をみつけた、そこで

/user/local/mailman で sudo /bin/newlist mailman を実行してmailmanというメーリングリストを作成した。/usr/local/mailman/data のaliases をみるとリストができている。Webページにもリストの名前が挙がっている。

それでも、動作しない。

http://www.python.jp/doc/contrib/mailman/ にしたがって

/etc/postfix/main.cf に

owner_request_special = no
recipient_delimiter = +
alias_maps = hash:/etc/aliases,hash:/usr/local/mailman/data/aliases

を書き加えた。

unknown_local_recipient_reject_code = 550 はすでに記述されていた。

ついでに
message_size_limit = 10485760 とあるのを
message_size_limit = 209715200
と200MBに変更した。

これでOKだ。

Mailman設定のまとめはこっち。http://seigi.accsnet.ne.jp/sigh/blog/?p=2406

OSX10.8サーバ その7 mailman-3

Mの更新(Mountain Lion OSX10.8サーバ) その7-mailman-3

Mailman設定のまとめはこっち。http://seigi.accsnet.ne.jp/sigh/blog/?p=2406

mailman のコマンドだ。

/usr/local/mailman の構成は;

Mailman lists pythonlib
archives locks qfiles
bin logs scripts
cgi-bin mail spam
cron mailman-2.1.15 templates
data mailman-2.1.15.tgz tests
icons messages

で、bin にあるコマンド一覧は;

/usr/local/mailman/bin

add_members  config_list  inject           newlist          show_qfiles
arch             convert.py       list_admins      paths.py         sync_members
b4b5-archfix     discard          list_lists        paths.pyc        transcheck
change_pw        dumpdb           list_members     qrunner          unshunt
check_db         export.py        list_owners      rb-archfix       update
check_perms      find_member   mailmanctl       remove_members   version
cleanarch        fix_url.py       mmsitepass       reset_pw.py      withlist
clone_member     genaliases       msgfmt.py        rmlist

コマンドは
/usr/local/mailman でたとえば、
sudo bin/list_lists
のように実施する。

★新しいリストを作る
newlist [listname]

★バーチャルドメインで運用する場合は、リスト名にドメイン名も付ける
newlist [listname@example.com]

★リストの削除
rmlist –archives [listname]
–archivesオプションで書庫も削除される。
確認なしにあっさりと削除されちゃうので、慎重に。

★デフォルト設定
以下のファイルを書き換える。設定は、newlistで作成されるリストに反映される。
/etc/mailman/mm_cfg.py

★config_list -i inputfilename [listname]
-iオプションで.pyファイルから設定を読み込む。

★config_list -o outputfilename [listname]list
-oオプションでは逆に.pyファイルに設定を書き出す。

★このコマンドのヘルプを表示するにはオプションを付ける
-h, -help

★リストの一覧
list_lists
最後の “s” を忘れないように;

★管理者の一覧
list_admins [listname]
最後の “s” を忘れないように

★購読者の一覧
list_members [listname]
最後の “s” を忘れないように

★リストに購読者を加える
add_members -r filename [listname]

filenameは一行にひとつのメールアドレスが書かれたプレーンテキス。

★リストから購読者を削除する
remove_members [listname] [mailaddress]

★パーミッションのテスト
check_perms
-fオプションでは、必要があれば修正される。ただしrootで使用。

★パスワードの変更
change_pw [オプション]

オプション:
すべてのリストのパスワードを変更する
–all / -a

特定ドメインのリストのパスワードを変更する
–domain=domain
-d domain

特定リストのパスワードを変更する
–listname=listname
-l listname

新しいパスワードを設定する。指定しなければ、ランダムなパスワードが設定される
–password=newpassword
-p newpassword

リストのオーナーに新しいパスワードを通知しない。
–quiet / -q
このオプションを選ばなければ、オーナーにメールで通知されるので、危険がある。ランダムなパスワードを設定した場合、コマンドの実行結果としてターミナルに新しいパスワードが表示されるので、それをメモしておく必要がある。

★Mailmanのバージョンを表示
version

でaliases を作る。
/usr/local/mailman で
sudo bin/genaliases
を実施した。

/usr/local/mailman/data
にaliases とaliase.dbが作成される。

Webページから新規のリストを作成すると
aliasesの中身は

test: “|/usr/local/mailman/mail/mailman post test”
test-admin: “|/usr/local/mailman/mail/mailman admin test”
test-bounces: “|/usr/local/mailman/mail/mailman bounces test”
test-confirm: “|/usr/local/mailman/mail/mailman confirm test”
test-join: “|/usr/local/mailman/mail/mailman join test”
test-leave: “|/usr/local/mailman/mail/mailman leave test”
test-owner: “|/usr/local/mailman/mail/mailman owner test”
test-request: “|/usr/local/mailman/mail/mailman request test”
test-subscribe: “|/usr/local/mailman/mail/mailman subscribe test”
test-unsubscribe: “|/usr/local/mailman/mail/mailman unsubscribe test”

とちゃんとできている。
しかし、まだ機能していない。aliases をどっかで指定しないといけないのだと思うのだがどこでだろ?

最終的にはできあがった。http://seigi.accsnet.ne.jp/sigh/blog/?p=2406

OSX10.8サーバ その6 メールサーバその2

Mの更新(Mountain Lion OSX10.8サーバ)その6 メールサーバその2

とりあえず、以下の設定でメールの送受信ができた。

サーバの設定
メールを提供:自分のドメイン example.com とかを入力。
認証:カスタム → すべてチェック = すべての方式
ISP を経由して  → メールのリレーを許可してくれるSMTPサーバ。upstream.com とかを入力する。これがないとメールは送信できない。
SMTP リレー認証はチェックなし (もし、ISPが要求しているのならそれに従って)

フィルタの設定はブラックリストのみON にできる。ほかのvirus filter spam filter をONにすると、クライアントでは送付できたように見えるが届かない。その理由は不明なので、とりあえず3つともチェックしないことにしておく。

クライアントがサーバにアクセスすると(IMAP、POP、SMTPいずれの場合でも)、「セキュリティ例外の通知」あるいはこれに類似したウインドウがでてきて、証明書が不正であると言ってくる。当然だ。有料の証明書を取得していないからだ。独自発行の証明書だから不正といわれてもしょうがない。「セキュリティ例外を承認」として、今後もそのまま承認することにすればいい。
登録したユーザしか使えない。

クライアント側の設置(IMAP の場合)
メール受信サーバ
IMAP
サーバ名:example.com ポート 143
ユーザ名:hoge
接続の保護:STARTTLS
認証方式:暗号化されたパスワード
不正な証明書と言われるが無視

POP
サーバ名:example.com ポート 110
ユーザ名:hoge
接続の保護:STARTTLS
認証方式:暗号化されたパスワード
不正な証明書と言われるが無視

SMTP
example.com ポート 587
接続の保護:STARTTLS
認証方式:暗号化されたパスワード
ユーザ名:hoge
不正な証明書と言われるが無視

メールとメールボックスの最大容量
両方とも無制限にする
/etc/postfix/main.cf
message_size_limit = 0
mailbox_size_limit = 0
/Library/Server/Mail/Config/postfix/main.cf
message_size_limit = 0
mailbox_size_limit = 0
両方のファイルを書き換えないといけないかどうかは不明

OSX10.8サーバ その5 メールサーバその1

Mの更新(Mountain Lion OSX10.8サーバ) その5 メールサーバその1

メールサーバの設定は簡単なはず….

Server.app からメール の設定画面で

ISP 経由のリレーで、リレーしてくれるサーバを設定すればおしまい。

ssh で外部からログインし、コマンドラインからメールを送信すると送信できる。たとえば;
mike:~ hoge$ mail hogehoge@example.com
Subject: test
This is a test mail
[contro + D]
EOT
である。
ただし….

フィルタの設定を編集… からvirus mail フィルターとか迷惑メールフィルターを設定するとメールを送信できない。ブラックリストフィルタをデフォルトのサーバを指定して有効にするのはかまわない。ブラックリストサーバであるzen.spamhaus.org
がまともなサイトなのか知らないので効果があるかどうかわからない。

というわけで、全部使わないという設定でいい。

名大へ出張

薬理学と生理学は研究手法が共通するところがあり、こっちの大学にいたころから薬理のメンバーとは交流があった。こっちの大学の薬理学は、親分の定年退職のあと、いろいろあって、事実上なくなっちゃった。そのときメンバーだったY君が名古屋大学医学部の教授ポストを得たのだ。このポシションは定年退職、転職した教員が使っていたもので、この教員の教室のメンバーであったN君があっちの大学で管理者と一緒に仕事をしているという関係だ。教授が定年退職し近くの私立大学に転職したのだがその部下は残っている。だからN君を知るメンバーがいるわけだ。

このY君が管理者に大学院学生相手に講義をしてくれというわけだ。医学部の教室なのだが、臨床ではないので、医学部卒業の大学院学生はまずこない。臨床の教室だと、大学院学生なのか医局員なのかよくわからないような仕事をするので医学部卒が入るのだが。だから講義の相手は理学部/農学部出身者だ。理学部や農学部は最近は分子生物学の手法で研究するところが多い。いわゆるmolecular な知識、技術はあるが研究課題が生体全体における役割を意識していない。医学部では生理学があるが、理学部/農学部では生理学があっても蛸壺生理学なので学生に人体の生理学の知識がない。それでは困るので生体のシステムについてなんかやってほしいというわけだ。自律神経系という依頼だったんだけど、それだけでは話にならないので別の2つの系について全体像から話すことにして依頼を受けたわけだ。

で、数人の大学院学生相手に昨日午前中は講義、午後はチュートリアルを実施した。なんとその中の一人は管理者の孫弟子になることがわかった。  あああああー 年取ったことが実感されるぁ。

今日も、午前中は講義、午後チュートリアル。でそのあとBBQが予定されている。このBBQにN君やこの孫弟子の先生つまり管理者の弟子の一人がくることになっているらしい。

用意してくれた宿舎に泊まって、朝起きたのが6時すぎ。朝食をとることができるところは8時から。大学構内にコンビニがあると、地図をもらったのでコンビニに行ったら、朝7時から。店員がいるのだが15分前で、開いてくれない。しかし、おでんが70円だ、買えという。なんてこった。15分前で開店準備も済んでいるんだから店を開けてもいいのに。大学構内のコンビニだから24時間openしたら採算にならないんだろう。構内(東山キャンパス)内にはなにもない。大学の西側にマンションとかアパートがあるのでコンビニがあるにちがいないと歩いていった。しかしなにもない。ようやく、コンビニ兼ほか弁のような店で朝食を買って宿舎にもどった。一汗かいた。

宿舎には、研究室とある。宿泊施設のフロアには研究室なので関係者以外立ち入り禁止とかの掲示がある。なんだこりや。どうやら、大学内に宿泊施設をつくるのに際して地元となにかやりとりがあったらしい。宿泊施設を学内につくられたら地元には金が落ちないからのようだ。だからといって大学構内近くにホテルがあるわけではない。だから宿泊施設は研究室という名前なのだ。あほらしい。私立の小さな大学ならいざ知らず、いまどき大学内に外来者のための宿泊施設のない大学はないぞ。

名古屋大学の東山キャンパスは山の中に作ったのでアップダウンがはげしい。ちと歩くと汗がでる。息があがっちゃう。タバコの吸い過ぎで肺気腫になっているんだろうな。

OSX10.8サーバ その4 mailman-2

Mの更新(Mountain Lion OSX10.8サーバ)  その4-mailman-2

Mailman設定のまとめはこっち。http://seigi.accsnet.ne.jp/sigh/blog/?p=2406

Mailmanの設定の続きだ。

その3でうまく行かなかった原因がわかり、解決したので、確認した。
http://[ドメイン名or ip address]/mailman/listinfo にアクセスできる。

さら、続ける。

★新しいメーリングリストを作る。
/usr/local/mailman で

sh-3.2# bin/newlist mailman
?ꥹ?ȴ????ԤΥ᡼?륢?ɥ쥹?????Ϥ??Ƥ???????:

んが。相変わらず文字化けだ。わからんので、リターンを押すと

mailman ?ν???ѥ????: ?????????̤??Ͽ?Υ᡼??

iPad Retina が棚から落ちてきた

16日午前中、Mailman の設定一応やったんだけど、http://[ドメイン名or ip address]/mailman/listinfoにアクセスできない。そこでなにが悪いのかなぁと思案していたら、近所の人から電話がかかってきた。「自宅に無線APを設置したんだけどつながらない、なんとかして」と言う。「いやだ。iPad くれたらやってもいい」と半分冗談で返事したらくれると言う。なんとipadを2台持っているんだそうな。そこで17日の午後は、これに費やしたのだ。いったん自宅に帰り、ビール片手に訪問したのだ。近所だからな。スープの冷めない距離ならぬビールがぬるくならない距離だからだ。ビールを飲みながら無線APにノートとデスクトップから接続できるようにしたが、ご本人のipad はバッテリー切れで時間内に起動できない。もらった未開封のiPadを開いて設定したら接続できたので良しとなって、帰宅した。まっさらのiPadを手に入れたわけだ。もうけた。第3世代のRteinaというやつらしい。MC707J/A Wi-Fi 64GB だ。

OSX10.8サーバ その3 mailman-1

Mの更新(Mountain Lion OSX10.8サーバ)  その3-mailman-1

さって、Mountain Lion Server (10.8) が立ち上がったわけだ。その2でも書いたがMountain Lion Serverの起動DVDは作れていない。そこでとりあえず、復元ディスクアシスタントというのを作っておいた。どこまで復元できるのかわからないけど。

★OS X:復元ディスクアシスタントについて

http://support.apple.com/kb/HT4848?viewlocale=ja_JP
RecoveryDiskAssistant.dmgをダウンロードしUSBメモリーに復元ディスクアシスタントインストールした。このUSBメモリーを刺しておいて、「option」キーを押しながらコンピュータを起動する。Mac本体にパスワードを設定しているとパスワードを入力しないと先にすすまない。ユーティティが立ち上がる。これでできるのは、残念ながら、Mountain lion への再インストール(ネットを使う)か Time Machine からの回復、ディスクユーティリティを使うだけだ。簡単にサーバーの初期化にはならない。だからMountain Lion 起動ディスクと変わらないわけだ。でも作っておいたほうがいい。sサーバをクリーンに再構築するのはクリーンなMountain Lionを作ってApp Storeからダウンロードするしかないが、一度サーバを作って、TimeMachine を作ると、 このUSBメモリを使って、TimeMachine からサーバを昔の状態に復旧させることができるからだ。

というわけで結局サーバのクリーンインストールディスクは作れない。先に進む。

目的は、これまでのWebページの再構築とメーリングリストの再構築だ。
ユーザごとのサイトをどこにつくるのだろうか?OS10.4 のときは各ユーザのディレクトリにSite というdeirectory があって、ここにいれたファイルがWebページとなったのだ。今度はない。
単純にURLをこのサーバのip address にすると
/Library/Server/Web/Data/Sites/Default にアクセスすることになっている。
Webサーバとして動作させることができることを確認した。

まずは、メーリングリストだ。なんとMailman がなくなっちゃったからな。

(Mailman設定のまとめはこっち。http://seigi.accsnet.ne.jp/sigh/blog/?p=2406

http://www.livetime.com/mountain-lion-mailman-mailing-list/
によると
「As part of the OS X Mountain Lion Server upgrade, Apple has removed the Mailman mailing list manager entirely.」
というわけで、このページにしたがってMailman をインストールしてみた。

ターミナルをつかうわけでrootにならないといけないわけで、これまではターミナルでsu とすればrootとして作業できたのに10.8ではなれない。どうやら10.7くらいからユーザが簡単にrootになれないようにしたようだ。

★root になれるようにする
「システム環境設定」→「ユーザとグループ」→左下の鍵を開ける→ログインオプションが有効になる→「ネットワークアカウントサーバ:接続….」をクリック→「ディレクトリユーティリティを開く」をクリック→左下の鍵を開ける→「メニューバー」の「編集」から 「ルートユーザを有効にする」を選択→ルートユーザのパスワードを入力する、確認用に同じパスワードを入力する。 これでターミナルで su とすればrootユーザとなって作業できる。

このマニュアルにしたがうことにすると
★/usr/local  とその中にmailmanというdirectoryがないから作る。

sh-3.2# mkdir /usr/local
sh-3.2# mkdir /usr/local/mailman

★ダウンロードし解凍したmailman-2.1.15を/usr/local/mailmanへ移動する。
mailman-2.1.15をデスクトップに移して
デスクトップで

sh-3.2# cp mailman-2.1.15.tgz /usr/local/mailman/mailman-2.1.15.tgz

としてコピーし、/usr/local/mailmanに移動し

sh-3.2# tar zxvf mailman-2.1.15.tgz

で解凍した。
/usr/local/mailman/mailman-2.1.15ができる。

/usr/local/mailman で

sh-3.2#chgrp mailman .
sh-3.2#chmod a+rx,g+ws .

を実行しておく。
実行する前
sh-3.2# ls -al
total 16544
drwxrwsr-x 4 root _mailman 136 8 17 13:38 .
drwxr-xr-x 3 root wheel 102 8 16 09:31 ..
drwxr-xr-x 32 root _mailman 1088 8 17 13:38 mailman-2.1.15
-rw-r–r–@ 1 root _mailman 8468107 8 17 13:37 mailman-2.1.15.tgz
実行したあと
sh-3.2# ls -al
total 16544
drwxrwsr-x 4 root _mailman 136 8 17 13:38 .
drwxr-xr-x 3 root wheel 102 8 16 09:31 ..
drwxr-xr-x 32 root _mailman 1088 8 17 13:38 mailman-2.1.15
-rw-r–r–@ 1 root _mailman 8468107 8 17 13:37 mailman-2.1.15.tgz
なんも変化していないから、やらなくてもいいかも。

★インストールする。
/usr/local/mailman/mailman-2.1.15のdirectoryで

sh-3.2# ./configure

とするとなんやら出てくるが終わったら、さらに

sh-3.2# make install

とするとさらにセットアップの過程が出てくる。

0x0 ???? 0x2010ff0 ?إ??åץ??졼??
?Ť????????ե??????????
?ꥹ?Ȥ?????ޤ??? == ????¹Ԥ????˽?λ???ޤ?
最後は上記のように文字化けだが、多分、いいんだろう。

usr/local/mailman
にもどってパーミッションのチェックを行う。

sh-3.2# bin/check_perms -f

ٹ?: ?????????¸??˥ǥ??쥯?ȥ꤬ other-executable (o+x) ??
?ʤäƤ??ޤ?. ???ʤ??Υ????ƥ?Υ?????桼??????????¸???
???ɤळ?Ȥ??Ǥ??ޤ?. ???

文字化けしているのはターミナルの設定が悪いから。

ターミナルの環境設定から 設定のページで 言語環境で 文字エンコーディング に日本語(EUC)にしておく。

続く。

 

OSX10.8サーバ その2

Mの更新(Mountain Lion OSX10.8サーバ)  その2

現在のmはPowerMacG5、つまりinelではないのだ。OS10.4なのだ。更新したかったが、新しいMacを誰も購入してくれない。というのが続いて古いままだった。MacMini で立ち上げれば10万円くらいでなんとかなるが、その予算もない。どうするかなぁ..どっかで予算を確保しないと。

ある日、突如として、Macを購入していいということになった。これも日頃の管理者の努力が実ったのだ。管理者がすでにこっちの大学ではpart time professor だというのに30万円を超える予算をいただいたのだ。

そこで、
機種名: Mac Pro
機種 ID: MacPro5,1
プロセッサ名: Quad-Core Intel Xeon
プロセッサ速度: 2.8 GHz
メモリ: 8 GB
OS:10.7 Lion
を、購入したのだ。これが半年前、つまり年度末の話だ。新年度(24年度)になってからはまとまった時間がとれず、なかなか手につかないのでそのままのOSX10.7 Lionでパソコンとして使っていたわけだ。半年すぎて、夏休みにセットアップすることをもくろんだわけだ。
OS10.4Serverからの移行は移行ソフトが仮にあってもうまくいかないにきまっているから、新規に作るしかない。さらにOSは10.8 Mountain Lion になってしまったのだ。10.5~10.7 のサーバは作ったことがないからどんな風に変わっていったのかわからない。

Mountain Lion Server はMountain Lion からネット経由でインストールするしかない。そこで,Mountain Lion をApp Store から購入する。1,700円。ネット経由でインストールするから起動DVDがない。これはちとやばい。1度購入すると、何回もネットからインストールできるわけだが、起動するメディアが手元にないというのは心細い。何回もHDを消去、再度インストールということになるからだ。
1度作り上げると、このようなことは行わないが、たいてい、どっかで間違える。間違えた原因はあとからわかるのであって、間違えたとき、どこからやり直したらいいのかわからないことが多い。だから各ステップで保存しておくとか、回復できるようにしておかないと辛いことになる。

同じことを考えているユーザは山ほどいて、Lion の起動DVDを作る方法は、ネットにいくらでも転がっている。Mountain Lion 起動DVDも同じように作れる。

1)Mountain Lionの購入
Lion で起動しているMac からApp Store でMountain Lion を購入する。ダウンロードが始まり、成功すると自動的にインストールするか?というプロンプトが出てくる。ここで終了する。先に進むとインストーラがなくなっちゃうからだ。インストーラをダウンロードするのに時間がかかるから、ここでトイレに行くとかビールを注ぐためにMacの前から動いていい。自動的にインストールまで進まないからだ。
2)起動ディスクの作製
アプリケーションフォルダ内にOS X Mountain Lion インストール.app がダウンロードされている。ここからインストールDVDあるいはUSBメモリー(USB Thum drive)を作る。
直接DVDに焼く方法とLion Disk Maker(http://blog.gete.net/lion-diskmaker-us/)を使う方法がある。前者の方がおすすめだ。
2−1)DVDにディスクユーティリティを使って焼く
アプリケーションフォルダ内に「OS X Mountain Lion インストール.app」というのがあるので、これを右クリックして「パッケージの内容を表示」を選ぶ。
開いたフォルダの Contents/SharedSupport に入って行くと「InstallESD.dmg」というファイルがある。これが起動ディスクに焼くファイルだ。しかしここの場所にあるとディスクを焼く際に選択できないので、この dmg ファイルをデスクトップにコピーする。
コピーが終わったら「ディスクユーティリティ」を開き、メニューから「ディスクを作成」で、いまコピーした dmg ファイルを選択し、「ディスクを作成」ボタンを押す。
ディスクドライブに空の DVD-R DL を入れたら「ディスクを作成」ボタンを押す。
DVD-R (4.7GB)では入らない。Double Layer のDVD-R DL ( 8.5GB)が必要だ。
2−2)Lion Disk Makerを使う。
USBメモリーまたはDVDを指定して起動ディスクを作製できる。ただし、作成中のプロンプトが出来上がっても終了しない。DVDが焼けるとトレイが自動的に出てくるので、出来上がったのがわかるがUSBメモリーのとき、いつ完成したのかわからない。両方とも問題なくできるのだが。バグなのでいずれ解消されるだろう。解消されたらこちらの方が楽だ。
というわけでMountain Lion の起動DVDができたわけだ。ここまでするのに、ネットを見ながらとかやっていたので6時間。先がながい。この起動DVDあるいはUSBメモリから初期状態に戻すのにはネットワーク接続が必要ないらしい。まだやってないのでわからない。ネットに接続した状態での初期化は成功した。

3)Mountain Lion にする。
アプリケーションフォルダ内にOS X Mountain Lion インストール.appをダブルクリックしてアップデートしても、問題ないが、これまでLionをパソコンとして使っていたので、Office とかサーバーでは使わないソフトがインストールされたままだ。クリーン・インストールにしたい。

作製した起動DVDから起動し、ユーティリティ選択画面になるからディスクユーティリティを使ってHDの内容を消してインストールする。ここでは問題ない。

インストールしたいHDを消去したらMountain Lion Server をユーティリティ選択画面から再インストールを選びインストールする。

4)Mountain Lion Server にする
Mountain Lionができあがったら、App Store からMountain Lion Serverを購入し、インストールする。このサーバの起動DVDを作る方法を探したが、ない。まだMountain Lionが出たばっかで、サーバに関しても情報がネットに少ない。購入するとダウンロードが始まり、Mountain Lion同様アプリケーションフォルダ内にインストーラができるのだが、この中にインストーラとなるイメージファイル(.dmg)がないのだ。だから、サーバを再度クリーンインストールするためにはMountain Lionに初期化し、再度App Store からダウンロードするしかない。そのうち誰かが起動DVDの作りかたを教えてくれるだろう。

ここまでやって1日目はおしまい。

OSX10.8サーバ その1

M更新(Mountain Lion OSX10.8サーバ) その1

Mちゃんの生年月日はよくわからない。tが兄弟だ。

webページのトップに2000年とかいてある。記入したのはずっと後のことだ

当初はRedHatLinux で構築した。現在鹿児島大学の准教授のO君が大学院学生だったころ関わっていたと思う。その前から、サーバは建てていた。そのときのマシンは憶えていないが、Linux でだ。2000年のころだ。だからWebページにかいてあるのだ。

2005年に中古のPowerMacG4 を手に入れて原型が作られている。OSXサーバの始めだ。

2007年にこれまた中古のPowerMacG5を手にいれて更新されている。このMacの発売時期は2003~2005年なので、このころ購入されたのだう。5年ものだ。ウイスキーだったら5年ものと言えばそこそこだけど。パソコンの5年ものとは、博物館へ入る手前のものだ。現在のサーバだ。だから10年働いていることになるが、多分、途中で同じスペックのPowerMacG5と入れ替えていると思う。いずれにしろ中古だ。こけたことがあって、MacMini がピンチヒッターだったこともある。記録がない。

2012年3月に今度は新品のPowerMacProを手に入れた。だからこいつに変更しようと思っている。

G4→G5 はHDの入れ替えだけですんだ。HD自体は交換だが中身の入れ替えだけで終わったらしい。

今度はintelMacだからそうはいかないだろう。

PowerMacPro をmike のHD(OSは10.4)で動かして、10.5、10.6、Lion(10.7) で上書き。さらにMountain Lion(10.8) に上書き、これができたら一番簡単だが…..  できそうにない。10.6から10.7に上書きしろというのがAppleの言い分のようだが、それにすら失敗したというページがあった。

転職して1年半、新しい職場にもなれ、新しい職場では時間に余裕がある。しかし、サーバ本体は昔の職場にあるわけで、昔の職場で実施するしかない。そこで、この夏休みをつぶしてやろうかと思っているのだが、できるかなぁ?

データベース、そのほかWebページの移動。メーリングリストの再構築。apache をまた書き換える….先が長い。だいたいデータベースのmySQLのコピーはどうしたらいいのかすらわからない。バージョンがちがったときどうなるんだろ?

時間に余裕があるときは、あまり仕事がすすまないんだよね。ま、夏休みはすることがないからトライしてみるか。

運動学習ー生理学と理学療法

理学療法では様々な専門用語が英語の頭文字2〜4ヶで略される。ほかの分野でも同じだが。管理者のように専門としていない者には何がなんだかわからない。学生のセミナーやチュートリアルの発表が分からない。そこで、その略の由来、full spelling を学生に聞いても学生は知らない。なんてことだ。

ROM: Read Only Memory ではない。Range Of Motion 関節可動域 だ

KR:Knowledge of Results:結果の知識と言う。

運動学習という日本語でも概念が少し違う。運動制御の方法としては同じなのだが。生理学では「運動学習には結果の知識(KR)が必要である。」という選択肢が正しいとは言えない。生理学の「運動学習」では「記憶される運動の結果と設定値の違いをエラー情報として用い、次の運動の量の調節に使われる」という風に言う。このときの運動の結果の記憶は知識ではない。意識に登らないからだ。意識に登らないどこかに保存されるのだ。小脳がこのエラー情報を元に次の運動コマンドの大きさを調節するのだ。しかし理学療法では、動作させたときの結果を患者に意識させて次の動作の改善に用いるので「結果の知識」はリハビリで重要なのだ。正しい選択肢なのだ。知らなかった。まだまだ知らないことが多すぎるな。だから議論しても食い違いがあるんだ。

MacOSX ゴミ箱に捨てる度にパスワードを要求される

Canon のプリンタLBP5700 のドライバをインストール、アンインストールを繰り返したり、古いドライバをインストールしたりしていたら、これが原因かどうかわからないが、ゴミ箱にファイルを捨てる度にパスワードが要求されるようになってしまった。どうやら.Trash のowner が変わってしまったらしい。ディスクユーティリティでファイル権限の修復を実行しても直らない。

ターミナルで
MacPro:~ hoge$ ls -al
と入力すると
total 6368
drwxr-xr-x+ 33 hoge staff 1122 8 1 07:05 .
drwxr-xr-x 6 root admin 204 3 6 13:33 ..
-rw——- 1 hoge staff 4 2 10 2010 .CFUserTextEncoding
-rw-r–r–@ 1hoge staff 39940 8 9 18:22 .DS_Store
drwx—— 2 root staff 68 8 9 18:22 .Trash
-rw——- 1 hoge staff 0 7 13 14:07 .Xauthority

ふむ。.Trashのowner がroot だ。そこで

MacPro:~ hoge$ sudo chown hoge .Trash
Password:

として
MacPro:~ hoge$ ls -al

と確認すると
total 6368
drwxr-xr-x+ 33 hoge staff 1122 8 1 07:05 .
drwxr-xr-x 6 root admin 204 3 6 13:33 ..
-rw——- 1 hoge staff 4 2 10 2010 .CFUserTextEncoding
-rw-r–r–@ 1 hoge staff 39940 8 9 18:22 .DS_Store
drwx—— 2 hoge staff 68 8 9 18:22 .Trash
-rw——- 1 hoge staff 0 7 13 14:07 .Xauthority

owner を本来のユーザに書き換えて、問題なくなった。

中古プリンタを手に入れた

あっちの大学では予算がないのでプリンタを手に入れるのも大変だ。

赴任時、大学は10万円の新入り教員に対するサポートがある。たった10万円で環境を整えろというわけだ。最低パソコンとプリンタがないと困る。教材を作れない。10万円では両方、というか、片方だって難しい。しかも、赴任してこの予算が使えるのに2ヶ月はかかる。それまでどうしろというのか?

学生用のパソコン端末が50台近くそろっている教室がある。ここに、もちろん係の人間がいる。居なければ運用できない。こっちの大学の基盤室のようなものだ。こういうところには、必ず余っているPCとかプリンタがあるはず。というわけで、聞いたらインクジェットのプリンタが、案の定余っていた。ほとんど使っていない。インクは満タンだ。プリンタを購入したら返すから貸せというわけで借りて来た。返さなくてもいいという。つまり、使わないのでどうでもいい訳だ。ランニングコストが高いからな。パソコンもあった。しかし余りにも古いので要求しなかった。

で、予算が使えるようになったので、カラーのレーザーを探した。最近は安くなってA4までだったら予備トナー1セットを含めてなんとかなる。複合機を手に入れた。スキャナーはいらないが、FAX機能があったほうがいい。滅多に使わないけどね。ネットがつながらないとき、最悪の手段だが文書が送れる。Brotherが安く、これで我慢したわけだ。こいつがひどいもので、紙送りにしょっちゅう失敗する。ネットで購入したので、送り返すのも面倒だし、何よりもプリンタがないと仕事にならない。カセットの紙の枚数が最適でないと紙送りに失敗するのだ。

自宅にある、これまた拾ったカラーレーザを持ってくることも考えたが、なんとかこのBrotherの安物で我慢することにした。すぐカラーのトナーがなくなった。交換しない。黒のトナーは大きいのを選んだのでまだ残っている。こいつでの印刷はモノクロだけにして、カラーはインクジェットで行うことにした。インクジェットのインクがなくなりつつある。なんとかしないと…..

と、どうしようかと思っていたとき、中古のカラーレーザー、A3可能、両面可能というのが思いがけなく手に入った。両面印刷すると紙づまりを必ず起こすし、もう古いから買い替えるというのだ。紙づまりの原因はローラーだ。

古いから、重たい。なんとか、オプションカセットを取り外し、車に乗せられるようにした。学生さんに手伝ってもらって車にのせ、あっちの大学では、通勤でたまたまきた若い教員に手伝ってもらって車からおろした。一人ではできない重さと大きさだ。セットアップするときに、紙送りを行うローラー部分をウエットティッシュで拭いた。プリンタドライバーをダウンロードし、テストしたら片面はもとより両面印刷にも問題ない。しめしめ。トナーも新品が1組ある。

中古で印刷スピードが遅い、でかくて重たいという大きな欠点があるが、いままでよりましだ。これで3年くらいなんとかなるだろ。

というわけで、オフィスにはカラープリンタが3台もあることになってしまった。どの一つとっても満足できる物ではないが、赴任したときに比べれば天国だ。

とおもったのも束の間;

MacOSX10.7 から印刷すると異常に遅い。写真とかだ。文書だったら、おっせー と思うだけだったが….Windows7 64bit ではそこそこのスピードだ。

Mountain Lion には対応の予定がないだと。現在のドライバ、ユーティリティは簡易版とかいって、何が簡易なのかわからない。多分、トナー残量がMacでは読めないようだ。古いバージョンをインストールしたらトナー残量が読めるが印刷できない。クラッシュしちゃう。

プリンタの寿命はOSの寿命より長いのだからCanonもなんとかしろよな。新しいモデルの開発はいいけど、古いユーザだって大事にしろよな。

理学療法士 国家試験 正解選択肢の分布

理学療法士の国家試験は5肢選択である。正解が1つだけと2つを選ぶ場合がある。

過去5年の正解選択肢の出現率を解析してみた。。正解が1つしかないはずなのに、作問がまずく2つ出てしまう場合がある。そのような場合は、当初の設定の選択肢とした。問題数は200であるが、選択肢が1つだけの問題数は年度毎に異なることになる。また不適切問題というのもあって、年度毎の合計は一致しない。

1肢選択の場合;

χ2乗検定を行ってみた。期待値はすべて同じ20%である。p値は0.05より大きい。したがって分布に有意の差がないという結論だが、正解が1の選択肢は少なく3あるいは4の選択肢が多い傾向にある。作問する側からみると正解が1というのは作りにくい。1択の場合、全くわからなかったら、3か4を選べだな。でも、この事を安易に学生に教えると、学生はすぐ3あるいは4としてしまう。教えないほうがいい。

2肢選択の場合;

こちらの方が、もっと出現率が平だ、強いて言えば2、3あるいは2、4の組み合わせだ。

2肢選択の場合、正解に1〜5が含まれる割合は

これをみても、確率的には有意の差がないが、迷った場合1を含む選択肢は選ばない方がいい。つまり1、3なのか2、3なのか迷ったら2、3の組み合わせを選べということだ。

こういうことに頼らないで、勉強するのが一番であるという解析結果だな。