「Mountain Lion Server」カテゴリーアーカイブ

メーリングリストの更新

夏休みになり、時間がとれるのでメールングリストの更新を試みている。
合計700名くらいで学年、クラス別なので1つのメーリスに40〜50名登録してある。メールがとどいていないのが40名。1年生には皆無。2年生以上になると、管理者の威光が及ばす、メアドを変更しても届けてくれない。1年生は、何回も生理学の連絡が行くからメールが届かないのは大きな損失になるからな。
2年生以上には、本来の業務以上のサービスをメーリスを使ってやってあげているのに、屁とも思っていないんだろ。
まんが日本昔話から「へや」の語源について。「屁ひり女房」の一場面.。
20130810fart_wife
このくらい迫力あると、学生も意識するんだろうな。

Mailman 普通配送メールを個人別にカスタマイズ

Mailman は受信者個別にメールを送付することができる。
/usr/local/mailman/Mailman のmm_cfg.py の一番下に以下の太字部分を書き加える。

# Put YOUR site-specific settings below this line.
MTA = ‘Postfix’
#Enale personalization.
OWNERS_CAN_ENABLE_PERSONALIZATION = Yes
VERP_PERSONALIZED_DELIVERIES = Yes

これで、ユーザに個別配送ができるようになる。
普通配送オプションに
20130808mailman
という欄が出現し、例えばヘッダーに各ユーザの名前を入れたりすることができる。pesonalizeの詳細を見ればその方法が書いてある。
普通配送オプション → 普通配送メールを個人別にカスタマイズしますか?   はい を選択し
普通配送会員へのメールに付けるヘッダ に %(user_name)s様 と入力すると、
20130809mailman-1
となり、宛先=To:がメーリングリストのアドレスに、本文の始めにユーザの名前=登録メールアドレスが自動的に入力される。
普通配送オプション → 普通配送メールを個人別にカスタマイズしますか?   完全個人別配送 を選択し
普通配送会員へのメールに付けるヘッダ に %(user_name)s様 と入力すると、
20130809mailman-22
となり宛先=To: が個別の登録メールアドレスに、Cc: にメーリングリストのアドレスが書き込まれ、本文の始めにユーザの名前=登録メールアドレスが自動的に入力される。
普通配送オプション → 普通配送メールを個人別にカスタマイズしますか?   いいえ を選択すると
20130809mailman-3
普通のメーリングリストとして配信される。このときヘッダーに変数のある文字列 %(user_name)s様 があるとエラー表示になる。そのまま強引に使うと、本文の始めに%(user_name)s様そのままが入力されてしまう。
 
この個別配送の方法は、Mailman のあるサーバが個別にメールを処理するので、サーバに負担がかかる。たった4つのアドレスしかないメーリングリストでも、個別配送にすると、一瞬、受け取りが遅くなるから、登録者が多数のときは配信が遅延するだろう。
docomo には個別のメールになるから、だれかが受信拒否していてもdocomoで勝手に迷惑メールとして排除しない可能性がある。やってないからわからないけど。
このdocomo問題に困っているのだ。50名程度の学生の携帯メール宛のメーリングリストがあって、25アドレスからUser unknown のメールがもどってきた。そのうち、6名は、個別にメールを送ってもUser unknown となる。つまりメールアドレスを変更したのだ。残る19名はすべてdocomoユーザであって、これらに個別にメールを送ると届くようで、メーリスで送ってUser unknown となったメールも受け取れているのだ。
このUser unkown のエラーが毎回くるわけではない。これが何故かわからない。ときどき来るのだ。
19名全員が受け取れたかどうかわからない。6名からメーリスからのメールも受け取ったとの返事があった。残り13名は返事がない。学生に返事を求めても返事が帰ってこないというのは、管理者にはこれら学生50名の学生に何の権限もないからだ。こいつらはもう生理学の単位を習得したからだ。アカハラの対象にならない学生というわけだ。こういう奴らにもサービスするのがいやになっちゃう。
一部はPCからのメールを受信拒否している可能性がある。しかし、このようなエラーが帰ってくるとMailman の方は送付できなかったとカウントするので、何回かメーリスからメールを送るとエラーが蓄積してMailmanは自動的に[ B ] マークがついて送信しなくなってしまうのだ。いちいち監視できない。
携帯・スマホは勝手に自由にメールアドレスを変更できるのが厄介の元で、学生はメールアドレスの変更を絶対といっていいほど届け出ない。ガラケーからiPhone に変更する学生が結構いる。docomo だったのがezwebとかi.softbankとかに変わっているからな。機種を変えても変更届けはない。
携帯・スマホが、もはや遊びの道具ではなく、重要な連絡手段になっているという認識は学生にない。
スマホにはメールの種類がいっぱいあってLine も加わってなんだかわからん。softbank.ne.jp とi.softbank.jp があるしezwebでは利用者が使い分けるらしい。学生には携帯で大学が配布しているメアドのメールを読めるように設定させる方がいいのかもしれない。そして受信したら必ず音がでる、画面に表示されるとかに設定させるのがいいのかもしれない。スマホには複数モデル(あるいはOS)と複数の電話会社があるからすべての種類の設定方法をこっちが知らないといけない。そんなのいやだ。
具体的な設定方法を教えないと学生はやらないし…..

Illustrator でsine波を描く方法

このAdobe のページから;
1)求めるサイン波の長さの水平直線を描く(勿論後から変更可能)
2)メニューバーの 効果 パスの変形 ジグザク を選ぶ。

ジグザグウインドウのオプション;
20141017sinewave-1
大きさ:サイン波のpeak-to peak(振幅の2倍)を設定する
折り返し:周期の数だが、1で1周期、2で1と1/4周期、3で2周期、….  プレビューにチェックをいれて確認する
ポイント:滑らかに でサイン波、直線的に で三角波になる
以下は折り返し3にした例である。このままだとオブジェクトは要素に分割されていないので;
3)メニューバーの オブジェクト から アピアランスの分割 を選ぶ。
20141017sinewave-2
こうすると幾つかの要素の集合としてのオブジェクトになるので加工しやすくなる。
20141017sinewave-3しかし、このままだとアンカーポイントがピーク/ボトムにしかないので加工しにくい。そこで;
4)メニューバーの オブジェクトから パス アンカーポイントの追加 を選ぶ。
20141017sinewave-5

これで、角度でいうと0度、180度の部分にアンカーポイントが加わる。
5)あとは、ハサミツールで切断したり、大きさを変えたり自由に変形する。

また別の方法だが、うまくファイルを開いてくれないかもね。
ぴょぴょぴょ? – Linuxとかプログラミングの覚え書き から丸ごとコピー

N=100;
SCALE=50;
PI=3.14159265;
for (t=0;t<N;t++) {
line = activeDocument.pathItems.add();
y0 = Math.sin(t/N*2*PI)*SCALE;
y1 = Math.sin((t+1)/N*2*PI)*SCALE;
line.setEntirePath([[t,y0],[t+1,y1]]);
line.filled = false;
line.stroked = true;
line.selected = true;
}

をテキストファイルとして保存し、拡張子を.js にしておく。つまりsin.jsですな。
イラストレータを立ち上げ、新規ファイルを作成し
ファイル → スクリプト → その他のスクリプト で作成したsin.jsを選ぶと、左上にサイン波が出てくる。1周期分だ。
20130807Illustrator_sine_wave

こんな感じですな。
理由がわからないが、作成したファイルを別フォルダにいれたりすると読み込まれない。6、7行目のsin をcos に置き換えるとcosine波が描けるはずなのにsin波になっちゃう。どうやらillustrator のほうで一度読み込んだファイルが消去されていないのか…まだわからない。
Illistrator を再起動しただけではだめだった。Mac を再起動したら問題はなくなった。
このスクリプトは100本の直線を、始点と終点のX、Yを指定してつくるものだからバラバラにできる。100ヶのオブジェクトの集合だからグループ化しないと悲惨な目に遭う。
このファイルをどこに置いたらいいんだろ?わからないから~/users/Application Support/Adbe/Adobe Illustrator/にフォルダを作って置いた。また忘れちゃうんだろうな。バージョンを上げるとなくなっちゃったり…..

Backup用HDを変更した

バックアップ用HDを変更した。Mac Pro なので、HD用のBay が4つある。
起動ディスクであるHDはbay1に入れた1TBのHDで140GB使っている。このバックアップとして、TineMachine 用HDがあって、2TBの容量で2013.1.3から今日までが保存されており1.6TB使っている。こいつはいっぱいになったら古い方から消えていくことになっているはず。もう一つ2TBのHDを入れてあって、CarbonCopyCloner(CCC) のバックアップ先とし、バックアップを作成した。今日作成したので使っているのは本来の起動ディスクであるHDとほぼ同じ容量を使っていることになる。もう一つのbayに1TBのHDを突っ込んであり、こいつには4月1日から本日(8月5日)午前1時現在までのバックアップがある。このHDはいずれ消去されることになるが、トラブルが生じたときのため、しばらくこのままでおいておく。850GB使っている。
単純計算するとTimeMachineだと半年で10倍に増える。
まだ、Server.app とシステム環境設定からのTimeMachineの設定の違いがよくわかっていない。Server.appからは本体だけでなくほかのHDのバックアップができるのはわかるが、両方同じ設定にしたらどうなんだろ。現在はシステム環境からの設定にしているがこれだと復元ができないのかな?
まだ今週はいろいろ使うユーザがいるから、来週からはじまる夏休みにまたいろいろいじってみることにする。

Blogのリンクの文字の色

このBlogはWordPress でThemeはNitrousを使っている。
Nitrousではリンクされている文字の色が指定されていないのでわかりにくい。リンクされている文字の色についての決まりはないが、たいてい0000ff の場合が多い。そこでスタイルシート (style.css) を書き換えた。header も footerもside barも一括してリンク文字の色、形を設定するようになっている。
外観(Theme)>テーマ編集>スタイル>スタイルシート (style.css) 見ると

/************************************************
* Hyperlinks *
************************************************/
a, a:visited {
color: #0B3949;
text-decoration: none;
}
a:hover {
text-decoration: underline;
}

となっている。これを

************************************************
* Hyperlinks *
************************************************/
a, a:link {
color: #0000ff;
text-decoration: none;
}
a, a:visited {
color: #800080;
text-decoration: none;
}
a:hover {
color: #ff0000;
text-decoration: underline;
}

に書き換えた。
a:link { color: #0000ff; } … 未訪問のリンク
a:visited { color: #800080; } … 訪問済みのリンク
a:hover { color: #ff0000; } … ポイント時のリンク
a:active { color: #ff8000; } … 選択中のリンク
の意味だ。ink 、visited、hover、active の順で記述する必要があるらしい。

サーバ構築の記録

サーバ構築の記録はこのブログに投稿しているわけだが、トラブルがあってブログが見えないと、なにをやったかの記録がなくて困ったのだ。
やっぱし、紙ベースのログを保存すべきなんだろうな。
とりあえず、目次を作った。ユーザの追加等の細かいところは記録しないが、その方法だけは記録していくことにしたい。するかどうかわからんけど.

まだわかってない

OSX(10.8.4)Mountain Lion Server がまだよくわかってない。
Server.app から変更するのと、ターミナルを使ってコマンドラインで変更するのをごちゃ混ぜで実施するとなにがなんだかわからなくなっちゃう。Server.app で変更したのがどのファイルを書き換えるのかがわかってないからだ。
この秋には10.9 Mavericks になる。当然、バージョンアップは行うが、そのうちということで、来年の春だろうな。Mountain Lion Server にしたとき、情報がなくて苦労したからな。だからといって、そのときはLion Server は手に入らなかったし。
Maverickとはカルフォルニアの海岸名だというが、ちがうだろ。異端児とかいう意味なのでは?こっちのほうが合う。
昔、TVドラマでMaverickというJames Garner主演の西部劇があった。Mel Gibson主演の映画にもなったな。James Garnerはその後、「じじい」だけが宇宙飛行士になって、ロシアの核ミサイルを積んだ人工衛星が古くなって地球にミサイルを打ち込みそうになったのを救うという映画にも出ていたな。TVドラマから何年たったんだろ。管理者も「じじい」になったわけだ。

トラブルで知ったコマンドーsshで起動ディスクを変更

トラブルがないとコマンドを憶えない。あったからといっても、いつまでも憶えているわけじゃない。
OSXサーバの起動ディスクをリモートで変更するには;
ssh でリモートからログインする。

$ cd /volumes
$ ls
CCC-Backup M TimeMachine previousM
$ sudo bless -mount /Volumes/M -setBoot
Password:
$ sudo reboot now

まず、起動HDの名前を確認する。 上の例では4つのHDがあることを示している。
起動ディスクを変更する。 上はMに変更した場合だ。
再起動する。

いやーまいった。アップデートしたらphpファイルが….

アップデートしたらphpで記述されたページがソースコードを表示してしまう。
静的なページやCGIには問題がない。
もし同様のトラブルで困った人が、Googleとかでたどりついたら、その人の為に結論だけ先に書いて挙げるのが親切だ。
#################
セキュリティアップデート 2013-003を実施すると/Library/Server/Web/Config/apache2のhttpd_server_app.confが更新されてphpで書いたファイルがソースコードを表示してしまう。
httpd_server_app.conf の#LoadModule php5_module modules/libphp5.soがコメントアウトされているので、#を削除して有効にする=moduleが使えるようにすれば良い。
#################
このサーバのOSはMountain Lion (10.8.4)Server なのだ。Apple が7月2日にセキュリティアップデートを発表した。学期末で忙しかったのでうっちゃっておいた。
7月25日(木)にアップデートを実施したのだ。でそのままなにもチェックしなかったのだが、29日(月)になってBlogに書き込む仕事ができて開いたら、php スクリプトがそのまま表示されている。php が動いていない訳だ。いや、動けるがapache2-php の連携ができていないのだ。これは、httpd.conf に;

LoadModule php5_module modules/libphp5.so
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

がコメントアウトされて(先頭に#がある)いるためだ。多分バージョンアップされたときhttpd.confが書き変わってしまったのだろう と高をくくっていたのだが…..
丸々2日、格闘した。現象が見つかった月曜日は解決できず、翌日は運がわるいことに医学のサーバがこけちゃったのと重なってしまったのだ。医学のサーバは業者に任せているとはいうものの、ユーザはそんなことはわからないから基盤室へクレームが来る。管理者には一般ユーザはクレームをよこさないが、ほんの一部のわがままおっさんが電話でどうなっていると問い合わせにくる。医学のサーバの原因はわかったのだが、サーバを再起動すると、あまりにもでかいHDをマネージしているもんで、再起動時にHDをチェックする操作に入り、10時間くらいかかってしまう。こっちのトラブルは管理者はなにもすることがないのでいいのだが、mikeの方は管理者が対応するしかない。
で、/etc/apach2/httpd.conf を見ると
LoadModule php5_module modules/libphp5.so はコメントアウトされており動くはず。
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
については;
/etc/apach2/httpd.conf に
Include /private/etc/apache2/other/*.conf
と書いてあり
/etc/apach2/other にphp5.conf というファイルがあり、このファイルに

<IfModule php5_module>
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
<fModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
</IfModule>

とある(<>は全角で本来は半角英語)。問題ない。
そこで困ったわけだ。原因がわからない。
TimeMachine でいっそのことバージョンアップ前に戻しちゃえとおもったのだが、何故か、「復元」ボタンがアクティブにならない。FirstAid とかをやっているうちにアンマウントされてしまった。これは再度構築しないといけないようだ。だから復元できない。
さっさと気が付けばいいのだが、CarbonCopyCloner で別のHDにもバックアップしている。こいつは元のHDにあったファイルが変更されると、古いファイルを.CCC Archives としてバックアップ日時順に保存してある。
したがって、バージョンアップした直後の.CCC Archivesにあるファイルをみれば、バージョンアップで何が変更されたのかがわかる。で、見たらhttpd.conf もphp.ini も変更された形跡がない。
うーん、じゃなんだ?ということでググってみたりして、原因を探しまわったのだが、ほとんどのページは上記のコマンドのコメントをはずせというものばかりだ。
そんでもって、今日ようやく、もっと違う所のファイルが変更されたのではないかと気が付き、
/Library/Server/Web/Config/apache2
のhttpd_server_app.conf が.CCC Archives内のバージョンアップしたときの直後の日付のフォルダにあるではないか。だからこれが更新されたのだ。
で更新されたhttpd_server_app.confをみたら
#LoadModule php5_module modules/libphp5.so
となっているではないか。コメントアウトを解除(# を削除)してapache2を再起動して解決。
httpd.confのどっかにinclude… httpd_server-app.conf と書いてあるに違いないが直接は書いてない。どこにこのファイルを参照しろと書いてあるんだろ?
あー、アホだった。自分自身で書いてあるじゃん。
/Library/Server/web/config/apache2/ReadMe.txt によるとhttpd_server_app.conf は/etc/apache2/httpd.conf に取って代わるものとなっている。
このようなトラブルとかのためにサーバ構築の過程をメモしておいたのだが、このメモ=blog なわけで、blogが読めないと役にたたない。なんてこった。紙ベースのログが必要だな。
なんてことはない。webサーバを最初に作成したときに気が付いていたのだが、すっかり忘れているのだ。アホだな。学生に以前習ったろなんて言えなくなっちゃった。
で、このトラブルを解決している最中にCarbonCopyCloner からもうHDが満タンだから古いファイルを捨てるとかしろと言ってきた。とほほ…..
[ 約2年後の2015年6月 の追記 ]
また同じトラブルがあったよ。でこの記事が読めなくなって困った。全く反省していないのだ。
[ 約3年後の2016年5月 の追記 ]
また同じトラブルがあったよ。今回はブログを他に移転していたので、ふるいサーバの記事をみることができた。