日曜日、このブログの表示がphp のコードを表示するようになってしまったのに気がついた。二日酔いだし、眠いし、という本来の怠惰な生活を日曜日には実施したいので、うーんとか言ってなんもしなかった。
んで、月曜日、こっちの大学にきて、サーバもこっちの大学にあるので、本格的なトラブルだったら、月曜日中に処理しないといけないな、と面倒だなと思いつつ、解決を試みたわけだ。症状はブログを含めWebMailやownCloud がだめ、つまりapache がphpを動かしてくれていないということだ。
ネットには、原因となるような現象とその解決方法が必ずあるので検索した。
「php ソースコードが表示されてしまう」で検索だ。なんとGoogleでは4番目にこのブログの記事があるじゃん。上位3つのうち1つは、我がブログを含めたリンク集だから実質3番目だ。
我がブログであるリンクをclickしても当然読めない。動かないブログだからな。最も参考になる記事なのに読めないわけだ。ありがたいことにGoogle様はキャッシュに保存しておいてくれて、そのキャッシュを読んで直した。
/Library/Server/Web/Config/apache2 の httpd_server_app.conf の 111行目が
#LoadModule php5_module libexec/apache2/libphp5.so
とコメントアウトされているので、この# を削除して、この行の記述=moduleを有効にすればいいのだ。
このブログ記事の最後に「トラブル解決方法をブログに書いたらブログが動かない時読めないから役立たずだ。紙ベースの記録を残せ。」と書いてある。
はい、おっしゃる通りです。2013年7月31日の記事だから2年弱前だ。記憶力がどんどん失われている。
情けない。トホホです。
「Mountain Lion Server」カテゴリーアーカイブ
WordPress 4.1.1へのアップデート
WordPress 4.1.1 が利用可能です ! 更新してください。
というわけだが、2台のサーバで何故か更新できない。同じサーバの英語バージョンのWordpressは更新できた。
これまで問題なくできていたわけで、今度の日本語のバージョンだけが自動的にできないのだ。どうしたもんかな。
手動はめんどうだし….
Postfix の main.cf はどこに?
Mac OSX Server はいろいろな設定ファイルがオリジナルから変更されて別のdirectoryにあるんだよね。本来の設定ファイルはそのまま残っているからまた分かりにくいいのさ。
Postfix のmain.cf は、普通は /etc/postfix にあるんだけど、そして現にあるのだけど、これは使われないのだ。
Mountain Lion 10.8.5 の場合 /Library/Server/Mail/Config/postfix にあるmain.cf がアクティブな設定ファイルだ。
GUIで設定した結果は、このmain.cf の最後の方に書かれている。
メールリレーサーバーをFQDNで指定するときは
relayhost = [mail.example.com] と[ ] で囲んでFQDNを記入する。maruko2の情報だ。
ip address で指定するときもつけるのかな?。つけてないけどMXレコードを参照に行ってない。
GUIでの設定だが、Server → メール → ISPを経由して送信メールをリレー → 編集 → 送信メールのリレー の欄で FQDN を [ ] 付きで入力しようとすると、[ ] が入力できない。だからmain.cf の方で書き換えないといけない。面倒だから、そしてリレーを依頼しているサーバのip address は変わらないと思うので(規模が大きくなってきたのでip address を変更すると丸1日くらい使えなくなっちゃう)このままip address で設定しておいてかまわない。
しかしFQDNを使うべきなので main.cf で relayhost = [mail.example.com] と書き換えた。
GUIでの設定画面に[mail.example.com]と [ ] 付きで表示されている。
cf.
Google を使うときは relayhost = [smtp.gmail.com]:587 らしい。ポートを指定するときはコロンをつけて指定だ。
メールリレーサーバーの設定
メーリスの遅延で書いたようにメールの遅延がなぜか発生したわけだ。その理由を調べるためあちこちに聞いた結果、どうやら本来の中継サーバではないサーバが中継していたのが理由だ。
メールサーバで中継サーバをFQDN(Fully Qualified Domain Name)で指定していたのだが、なぜかこの中継サーバがバージョンアップを繰り返しているうちにメールをリレーしてくれなくなってしまったのだ。その代わりなぜかDNSのMXレコードを引きにいき、その結果に従って別のサーバに転送してしまったようだ。これを防ぐために中継サーバをip addressで指定することにしたら解決した。この別のサーバは中継を本来の業務としているわけではないのだ。だから本来の仕事をしていたので遅延してしまったようだ。本来の仕事とは受信メールのゲートウエイのようだ。なぜ遅延したのかはわからない。エラーが頻発していたらしい。ともかくメールを中継してくれていたので、いつから中継するようになったのかはもはやわからない。メールが届いているから問題にしなかったわけで。
サーバを更新するとこういうことが発生するんだよね。一部書き換えた設定がもはや使えなくなったりするのさ。
メーリングリストが動かない…
突然メーリングリストが動かなくなった。
25日(火)17:43の投稿は動作した。
26日(水)18:04の投稿は配信されていない。
この24時間に何が発生したんだろ?mailman のトラブルかと思ったが、違っていた。
上流のDNSサーバでもあるサーバを26日午前2時からアップデートするという連絡を受けていたことを思い出した、というか思い出すのに時間がかかったのだ。
26日午前0時ころのメールはメールサーバに届いている。それ以降のメールがメールサーバにとどいていないのだ。このメールサーバはメーリングリストが主な役割なので、メーリングリストしか見てないので、mailman の設定フィアルがこわれたのかな?という先入観の下にいろいろ調べてしまったのだ。その結果mailmanはきちんと動作していることがわかり、このサーバにメールが届いていないから配信されないということがわかったのだ。
ここまで分かるのにエライ時間がかかった。問題のサーバをSMTPサーバに指定すればメールはこのサーバにあるメールアカウントに届くが、他のサーバをSMTPに指定した場合このサーバにあるアカウントにメールが届かないのだ。このことに気づくのに時間がかかりすぎた。つまりサーバはなんともないがサーバにメールがこないのだ。
原因は上流にあるファイヤーウオールか?と思ったが、何も変更していない。再起動したが変化はない。
多分このサーバを登録しているサーバのMXレコードが消えちゃったんだ。まだ管理者さんに連絡した段階で返事がないからわからない。この推定が正しければいいのだが。
きたきた、これまでテストで送ったメールがどっと来たぞ。上流のDNSサーバ管理者さんが設定したんだ。きっと。
まだ管理者さんから連絡がないが、設定したんだろ。メーリスも動く。問題なくなった。
管理者さんからメールが来た。アップデートしたとき、メール転送の記述が昔のまま(当然だが)で、今度はキチンと記述しないといけなくなったのが原因だったようだ。
従来は
example.com:[123.123.123.123]
でよかったのが
example.com smtp:[123.123.123.123]
ときちんと明示する必要になったんだそうな。
実は、この上流のDNSサーバは、もうやめようということになっていて、DNSは大学中央のサーバを指定することになっているのだ。でも、いっぺんにDNS機能を削除すると、連絡はしたのだが、まだDNSサーバに指定しているユーザがかなりいるので、まだ動かしているのだ。これらを決めたのは、何を言おうかこのワタクシなのだ。どじだなぁ。大学にメールサーバとして新たに届けて大学のDNSにMXレコードを登録してもらえばいいのだ。この上流のサーバは昔はワタクシも管理者だったのでここに登録するのが一番簡単なので登録していたのだ。今はこのサーバの管理を他のヒト(業者)にまかせているのでワタクシはDNSやMXレコードの変更はできないのだ。自業自得というもんだ。
証明書の有効期限が切れました
Mac OS X srever でサーバ example.com の以下の証明書の有効期限が切れました: 名前:APSP:4e…..20 有効期限:August 21, 2014 10:12:20 AM GMT+09:00
というメールが毎日きて、というか期限切れの前からだけど、問題は特にないんだけど、煩わしいので削除した。。renew するのが正しいんだろうけど、また自動的にできるだろうからいいや という でたらめな サーバ管理者なのだ。
1)ユーティリティからキーチェーンアクセスを起動する。
2)メニューの表示から「有効期限の切れた証明書を表示する」を選ぶ
3)キーチェーンのペインから「システム」を選択
4)期限切れ(赤い☓がついている)の証明書を選び
5)メニューの編集から削除を選択
これでいいかな? ま、だめならメールが来るだろ。
OSX 10.9 Mavericks用リカバリー用USBメモリーを作る
OSX 10.9 Mavericks用リカバリー用USBメモリーを作ることにした。Mavericksはネットから落としてインストールするだけで、例えばディスクユーティリティでこれまでの起動HDDを修理するなんてことができないからね。
1)ディスク・ユーティリティーでUSBメモリーをMac OS拡張(ジャーナリング)でフォーマットする。
2)OS X 復元ディスクアシスタント をダウンロードする。
RecoveryDiskAssistant.dmg でこれを解凍すると、復旧ディスクアシスタント.app となる。
起動して、USBメモリーが表示されたら選択して続ければ、おしまい。
3)起動時に Option キーを押し続けていると、起動ディスク選択画面になるから、このUSBを選択して起動すればいい。
TimeMachineからの復旧、OSX再インストール、ディスクユーティリティが使える。
同じOSXでも異なるMacでは使えない。それぞれで作成する必要があるようだ。ちがうかな?
S.M.A.R.T. 状況エラー
仕事で使っているMac OSX10.9.4 の内臓のHDD(Hard Disk Drive)の一つが、「S.M.A.R.T. 状況エラー」とメッセージを出して、お亡くなりなったようだ。
S.M.A.R.T. とはSelf-Monitoring, Analysis and Reporting TechnologyのことでHDDに内蔵された機能らしい。要するにHDDを検査すると幾つかの項目二エラーがありますよというレポートをHDDが発しているということだ。エラーによっては記録されたデータをコピペできるから、試みなさいということだ。
HDDそのものより記録されているデータのほうが高価(使用者にとって、他のひとにはゴミだが)で、このようなメッセージがいずれ出るのが当然なのでバックアップを自動的にとっておくのが当たり前なのだ。今回はゴミデータしか残ってない HDDだったはず。
昔はHDDが高価だったので、なんとか回復させる努力をしたのだが、最近はそのような努力は無駄で新規のHDDにするのが一番良い。でも記録を回復したいとなるとかなりの出費となる。
今回のトラブルは、マウントしているんだけど中身をほかにコピペできない状況だ。捨てる。データも捨てる。何を記録していたかと思ったらPrevious Mac となっていたので、現在のMachineの前のMachineのデータなので3年以上前の記録だ。必要なデータは別途保存されてるはずだ。捨てる。過去に未練はないのだ。
証明書をいじったら
とほほ。サーバの証明書なんか購入していない。自己証明だけだ。1年間有効だ。
で期限がきたので、いい加減に削除したり更新したりしているうちにおかしくなってしまった。
Server Fallback SSL Certificateを削除していまったようで、再構築できない。メールソフトからの POP, IMAPアクセスに失敗するのだ。なんとか平文パスワードと暗号化なしにして受け取れることまで戻した。
なぜか、今度は〜(チルダ)無しでWebページにアクセス可能にした設定がうまくいかず、〜無しでもいいブログと〜がないと接続できないブログができてしまった。シンボリック・リンクは別にこわれていないようなのだが。
直さないと。どこがおかしいのかまだわかっていない。
[ 追記 ] 6月30日
証明書を新規に作成し、その利用範囲を web .. メール..とすべてに対応させることができるようになった。それまではうまく行かないところがあったのだが、何故か時間が経過したらできるようになった。
〜も問題なくなったようだ。
wordpress の更新
WordPress はFTPの設定さえできていれば、マニュアルで新しいバージョンをダウンロードせず、勝手にやってくれる。しかし、上書きするファイルのパーミッションがうまく設定されていないと、書き換えることができない。
正しいかどうかわからないけど、ssh で入ってパーミッションを変えたら、アップデートできた。
sh-3.2# chmod -R 777 wp-content
sh-3.2# chmod 777 update-core.php
sh-3.2# chmod 777 license.txt
sh-3.2# chmod 777 readme.html
sh-3.2# chmod 777 wp-activate.php
sh-3.2# chmod 777 about.php
sh-3.2# chmod -R 755 wp-admin
sh-3.2# chmod 777 wp-comments-post.php
sh-3.2# chmod 777 wp-config-sample.php
sh-3.2# chmod -R 777 wp-includes
sh-3.2# chmod 777 wp-login.php
sh-3.2# chmod -R 755 wp-content
sh-3.2# chmod -R 755 wp-includes
sh-3.2# chmod -R 755 wp-admin
これでいいのかしらん?