「サイト管理」カテゴリーアーカイブ

夏休みは終わってしまった…

サーバ機を更新する予定だったのだが、できなかった。ん年前だったら新しいサーバ機を立ち上げるのに3日もかからなかったのに、オリンピックを見ながら、高校野球をみながら… ぐったら過ごして生産的な仕事は何もしなかった・できなかった。とほほ…ですな。サーバ構築は一気にやらないとどこまでやったのか忘れちゃうんだよね、しっかりメモを書いておいても。また一からやり直しだな。問題は引き継ぎができるように構築することだ。て、大した問題ではないはずだが、動かしているのを更新するのは難しいところがある。新規に立ち上げるほうが、楽だよね。

Mailman と Gmail の相性

Mailman(メーリングリスト)経由でメールを送付するとき、送信者のメールアドレスがそのメーリングリストに登録されている必要がある。メンバー以外がメーリスでめちゃくちゃなメールを配信してくれては困るからだ。 このとき、送信者のメールアドレスがGmail だと、メーリングリストから送信者へメールが送付されたとき、送信者の送信簿に同じメールがあるわけで、Gmailはそのようなメールを破棄してしまう。つまり、送信者にはメーリス経由で送信されたかが確認できないわけだ《下記の追記》。
次に判明したのは、メーリングリストを使った配信の最初の1,2通はいいのだが、すぐメーリスからのメールは迷惑メールフォルダに収まっちゃうのだ。Gmailはともかく同一内容が多数の宛先に送付去れる場合、迷惑メールと判定してしまうようだ。これを防ぐ方法は、メーリングリストを動かしているサーバのDNS設定に加筆する必要がある。 Mailman Gmail 迷惑メール で検索すると このコードわからん というブログがヒットし、多分、ここに書いてあることを実施すれば解決する。問題はただちにできないことがあるのだ。
というわけで、例によって姑息な手段を利用者にお願いすることにした。利用者レベルでフィルタで「迷惑メールではない」と設定してもらうのだ。利用者に徹底するかどうかわからないけど、すぐにできる他の方法がない。
20160728Mailman-Spam
なんか、管理者として情けないのだが、こういう学生のメーリスの構築なんて大学当局がすべきなんだけどね。いっくら口頭でネットの委員会でわめいても動かないんだよね。事務経由でも言ったんだけど。特定科目履修者のメーリスはあるようなんだけど、そんなの使う先生はいないんだよね。講義担当者でない教員が、事務連絡(国試対策の不定期講習があるとか)のとき必要なんだけどね。
稟議書を書くことになるんだよな。面倒だな。
[ 追記 ] 別にメーリングリストだからではない。自分自身(勿論Gmailで)にメールを送信すると届かない

アップデートの失敗

昨晩、飲みながらTVみながら、PHPのアップデートをやって、失敗してしまった。多分PHPのアップデート自体は問題なかったと思う。しかし、phpMyAdminとか関連ソフトも同時にアップデートしないとデータベースが動かないのだ。
酒と食事の最中にやるもんじゃない。ま、失敗しても TimeMachine で元に…
あらま、TimeMachine の HDDを認識できない!! というわけで、ネットからメールその他が来たり、真夜中のバックアップが動いたりしたらまずいので、電源を落として寝ちゃったのです。
朝6時前に、一昨日の夜中のバックアップで動かしています。ま、このブログを日曜の夜中に見に来る人はいないだろ?あ、海外からは別だけど。

OSXサーバ:再起動するとwebでのphpが動かない

以前はバージョンアップするとwebページでphpを使っているページがphpのコードが表示されてしまうと書いた。バージョンアップでなくても再起動でも発生するようだ。
httpd.con に LoadModule php5_module modules/libphp5.so がないとphpが動いてくれないわけだ。
MacOSXサーバの場合 httpd.con に代わるものが httpd_server_app.conf なのだ。で、このファイルは /Library/Server/Web/Config/apache2 にあるのだ。110行目にある LoadModule php5_module libexec/apache2/libphp5.so に # が付いていてコメントアウトされているから、この # を削除すればいいのだ。
apache を再起動する必要がある。
apache2 の再起動は
/usr/sbin/apachectl restart
つまり /usr/sbin で # ./apachectl restart ですね。
ブログのWordPress とかownCloud を開いたらphpソースコードが表示されたらこれが原因だ。
同じことを何回も書くことで学習しているわけだ。ジジイだから何回も書かないと覚えられない。昔はカンニングペーパを手書きで作ったら一回でその内容を憶えてしまい、意味が無いことがわかったのだが…  今の学生はカンニングペーパを縮小コピーで作成するから覚えられないのね。
この事態が発生したとき、このブログは読めないので解決策を憶えていないと解決できなくなっちゃう。どっかにプレーンなページとして退避させておかないと。

タイトルが全て大文字になっている

Twenty Fourteen というtheme を使っているのだが、こいつは記事のタイトルのアルファベットは一律に大文字にしてしまうのだ。だからstyle.css を書き換える。
1100行目あたりの * 6.2 Entry Header の

.entry-title {
	font-size: 28px;
	font-weight: 300;
	line-height: 1.0909090909;
	margin-bottom: 12px;
	margin: 0 0 12px 0;
	text-transform: uppercase;
}

.entry-title {
	font-size: 28px;
	font-weight: 300;
	line-height: 1.0909090909;
	margin-bottom: 12px;
	margin: 0 0 12px 0;
	text-transform: none;
}

と uppercase を none にして text-transform を無効にするのだ。
なんだかめんどいことばっかだな。
[ 追記 ] 2017.11.21
きろくしておくところがないから、個々にメモする。Twenty-forteen がバージョンアップになったので、style.css を52と54の項目にしたがって書き換えた。

MailmanとGmail

メーリングリストであるMailmanで自分自身がGmailのアカウントを使っているとき、メーリングリストにこのアドレスから送信するとGoogleは配信されたメールを破棄しちゃう。なんか有名な話らしい。Gmailから送信したことがなかったから知らなかった。
一昨日の日曜日に、あっちの大学のメールサービスがKDDだったのがGoogleに変更になったのだ。メールアドレスは以前のままなのだが、実際はGmailのアカウントなのだ。大学のアカウント(実際はGmailのアカウント)からMailmanを使ってメールを配信すると、他のメンバーに配信されるのは問題がない。当然ながら、自分自身もメーリングリストの1メンバーなので(メンバーでなければメーリングリストを使えないからな)自分自身に配信されるはずなのだが、上記のようにGmailは送信者がGmailのアカウントだと送信者に配信されるときに破棄しちゃうのだ。

推定される理由は、Gmailでメーリングリストに投稿したはずのメールが受け取れない?に書いてある。要するにメールを送信すると送信簿にのこるわけで、これと同じメールがメーリスからおくられてきても、すでに同じMessage IDのメールがあるから破棄されちゃうのだ。
mailmanの日本語情報

Gmail では、一度システムを通過した Message-ID を持つメールは2度目以 降破棄されてしまうため、Bcc で自分宛のコピーを確保しておかないとメッ セージのスレッド表示がおかしくなる。また Bcc していても Subject Prefix の結果を見ることができない。Mailman を通過する際に Message-ID を新規に振ることで Gmail で表示されるようにする。 mm_cfg.py において、USE_MAILMAN_MESSAGE_ID を Yes にしておくことで、 この機能を有効にすることができる。(デフォルトでは No)

つまりmailman が送付する Message ID を独自にすれば、送信簿にあるMessage ID と異るので、mailman からのメールを破棄せず受け取ることになるというえわけだ。
そこで /usr/local/mailman/Mailman にある mm_cfg.pyに、
USE_MAILMAN_MESSAGE_ID = Yes
を1行加筆した。だめだ。もちろんmailman は

/usr/local/mailmanで ./bin/mailmanctl restart として再起動したのだが。この説明は2.1.14+j7 なので使っているのが2.1.15 の日本語版でないバージョンだからのようだ。

送信簿に記録は残るのだが、配信されたのかいまいち確認できていないと不安だ。 SMTPサーバの問題でもないからsmtp.gmail.com でなく他のSMTPサーバを使ってもだめだ。しょうがない、とりあえず、管理しているメーリングリストに管理用のメールアドレスも加えておくことにするか。なんかなさけないけど、すぐにできるのはこんなことしかない。
[ 追記 ] 2016.6.29
在米ポスドクさんがコメントしてくれたように、/usr/local/mailman/Mailman/Handlers の CookHeaders.py を書き換えてみた。

上記の/usr/local/mailman/Mailmanのmm_cfg.pyに以下の1文を加筆したUSE_MAILMAN_MESSAGE_ID = Yes
はコメントアウトしてだ。

オリジナルの235行目以降は;

def prefix_subject(mlist, msg, msgdata):
    # Add the subject prefix unless the message is a digest or is being fast
    # tracked (e.g. internally crafted, delivered to a single user such as the
    # list admin).
    prefix = mlist.subject_prefix.strip()
    if not prefix:
        return
    subject = msg.get('subject', '')

となっている。241行目と 242行目の間に
# overwrite message-id.
msg[‘X-Original-Message-ID’] = msg.get(‘message-id’, ”)
del msg[‘message-id’]
msg[‘Message-ID’] = Utils.unique_message_id(mlist)
を挿入するのだ。すなわち

def prefix_subject(mlist, msg, msgdata):
    # Add the subject prefix unless the message is a digest or is being fast
    # tracked (e.g. internally crafted, delivered to a single user such as the
    # list admin).
    prefix = mlist.subject_prefix.strip()
    if not prefix:
        return
    # overwrite message-id.
		msg['X-Original-Message-ID'] = msg.get('message-id', '')
		del msg['message-id']
		msg['Message-ID'] = Utils.unique_message_id(mlist)
   subject = msg.get('subject', '')

だめだった。全て元に戻した。メーリスがうごかない。ここに挿入していいいのかも定かでないからな。
解決策がまだないので、ユーザレベルでの対応をお願いするしかない。
(1)配信されたと信じて何もしない。
(2)Bccで自分宛てに送信する。
(3)スマホのメアドも登録しておく。
Bccを設定してみると、送信済みにあるメールと、Bcc で配信されるメールと、メーリスで配信されるメールのMessage_IDは同じなんだよね。だからMesage_IDが同じだからという説明はおかしい。GmailはBccで来たメールもMesage_IDが同じだから受信しないのでは?。でもBccを受け取れるんだよね。

Blogのフォントを変えるーその2

前の記事でブログのフォントを変えて見やすくすることを試みたみたわけだ。
気がついたのは、これまでNitrous というテーマを使っていたわけだが、これはなんだか古すぎるテーマであることだ。新しいのにしてみる。
テーマは一杯あるんだけど、なるべくシンプルなのがいいというわけで、Wordpress の2年前のデフォルトのTwenty Fourteen というのを使うことにした。両サイドにウィジェットを配置することができる。3コラムのページは幅がきついのは昔の小さなモニターだったころの印象だ。今は、皆デカイモニターがあるからいいだろ。どっちにしろスマホ対応は作る気ないしね。
このテーマも本文のフォントに日本語用のフォントがないから、前の記事と同じく;

}
body,
button,
input,
select,
textarea {
	color: #2b2b2b;
	font-family: Lato, sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
}

となっているのを

}
body,
button,
input,
select,
textarea {
	color: #2b2b2b;
	font-family: メイリオ, Meiryo, Osaka, “ヒラギノ角ゴ Pro W3”, “Hiragino Kaku Gothic Pro”, “MS Pゴシック”, “MS PGothic”, sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
}

とした。フォントの大きさもちと小さくした。変更はこれだけにしよう。変更したことをどんどん忘れちゃって、誰かの実験じゃないけど、再現性に欠けちゃうからな。ま、実験ノートならぬ変更記録はとってあるけどね。
このTwenty Fourteen というテーマはblockquate 内の文字がちと大きくなっていてグレイでわかりにく。そこでstyle.css の一番最後に

/*
*blockquoteformat
* -----------------------------------------------------------------------------
*/
blockquote {
     color: #2b2b2b;
     font-size: 100%;
     font-style: italic;
     font-weight: 300;
     line-height: 1.5;
     margin-bottom: 0px;
     position:relative;
     padding:10px 10px 0px 10px;;
     border:1px dotted #333;
     background:#f5f5f5;
     margin-bottom:20px;
}

を挿入した。枠線でかこんだわけだ。「twentyfourteenの blockquote引用 スタイルをカスタマイズする!」のコピーだ(コメント欄参照のこと)。
[ 追記 ]2016.6.28
コメントで くまごろう さん が訂正すべきと教えてくれたのでstyle.cssの書き換えた部分をさらに

/*
*blockquoteformat
* -----------------------------------------------------------------------------
*/
blockquote {
 color: #2b2b2b;
 font-size: 100%;
 font-style: italic;
 font-weight: 300;
 line-height: 1.5;
 position:relative;
 padding:10px 10px 0px 10px;
 border:1px dotted #333;
 background:#f5f5f5;
 margin-bottom:20px;
}

と書き換えた。
さらにChromeだと、コメント欄への日本語入力の場合、変換すると候補文字か見えない(白いから)ということが発生するのでstyle.css の 2.0 Repeatable Patterns の直前にある(検索でselectionを見つけ出し)

::selection {
	background: #24890d;
	color: #fff;
	text-shadow: none;
}
::-moz-selection {
	background: #24890d;
	color: #fff;
	text-shadow: none;

::selection {
	background: #24890d;
	color: #999;
	text-shadow: none;
}
::-moz-selection {
	background: #24890d;
	color: #fff;
	text-shadow: none;

と selsection の部分の color #fff を color #999 に書き換えた。これで日本語変換時にも文字が黒く見える。

Blogのフォントを変える

前から思っていたんだけどWinでみるとこのブログのフォントがきちゃない。また、12pixだと、ちと年寄りには、モニターの設定によっては小さすぎる。自分自身がジジイだからね。というわけで、変更しよう。
(1)テーマファイルを変更するので、ファイルの権限を書き換え可能にする。
サーバにログインして/Users/[ユーザ名]/sites/blog/wp-content/themes/[テーマ]に行く
-rwxr-xr-x@ 1 sigh staff 13190 Sep 14 2009 style.css になっているから
-rwxrwxrwx@ 1 sigh staff 13190 Sep 14 2009 style.css に変更する。そうすると、
(2)外観ーテーマの編集の
20160622style.css
のスタイルシートを開くと
20160622css_file_change
ボタンがに出てくる。書き換え可能にする必要があるわけだ。
(3)書き換える。
body { の部分を探し;

font-size: 12px;
font-family: Arial, Helvetica, Sans-Serif;

font-size: 14px;
font-family: メイリオ, Meiryo, Osaka, “ヒラギノ角ゴ Pro W3”, “Hiragino Kaku Gothic Pro”, “MS Pゴシック”, “MS PGothic”, sans-serif;

に書き換える。Win用に MS Pゴシック、Mac用に Osaka,、ヒラギノ角ゴ Pro W3、英語用にArial, Helvetica でいいんだと思うけどね。
Before After で比べてみると
Windows Chrome では
20160622style.csswin1

20160622style.csswin2
に、
Macintosh Chrome では
20160622style.cssMac1

20160622style.cssMac2
になった。
Windowsでの見栄えがよくなった。Macではごちゃごちゃした感になっちゃったけど。今度は行間を変えればいいけど、めんどいな。このままでいいや。
[ 追加 ] 2018.5.19
103行目

textarea {
	color: #2b2b2b;
	font-family: Lato, sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
}

を以下のように変更

textarea {
	color: #2b2b2b;
	font-family: メイリオ, Meiryo, Osaka, “ヒラギノ角ゴ Pro W3”, “Hiragino Kaku Gothic Pro”, “MS Pゴシック”;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
}

(4)Footer の調整
文字を大きくしたらフッターの(編集)が2行にわたっちゃうので home,php を書き換え可能にし、

<div class="postmeta">
				<div class="postmetaleft">
					<p><?php the_time('Y年n月d日'); ?> &middot; カテゴリー <?php the_category(', ') ?></p>
				</div>
				<div class="postmetaright">
					<p><?php comments_popup_link('コメント(0)', 'コメント(1)', 'コメント(%)'); ?>&nbsp;<?php edit_post_link('(編集)', '', ''); ?></p>
				</div>
			</div>

<div class="postmeta">
				<div class="postmetaleft">
					<p><?php the_time('Y年n月d日'); ?> &middot; カテゴリー <?php the_category(', ') ?></p>
					<p><?php comments_popup_link('コメント(0)', 'コメント(1)', 'コメント(%)'); ?>&nbsp;<?php edit_post_link('(編集)', '', ''); ?></p>
				</div>
			</div>

にして、日付とカテゴリーのブロックとコメントと編集が別のブロックになっていたのを </div> <div class=”postmetaright”>を削除して1つのブロックにし2行表示にし、フッターの(編集)文字列が2行にわたって表記しないようにしてみた。
(5)タイトルの文字の色を変える
本文の文字を大きくしたらタイトルがめだたなくなっちゃったので style.css の

#content h1 a {
color: #0B3949;
text-decoration: none;
}

だったのを色を変えて

#content h1 a {
color: #FF0040;
text-decoration: none;
}

にしちゃった。
6)ファイルの権限を戻す
style.cssとhome.phpの権限を777にしたのでこれを元の755に戻す。忘れずに。
そもそも、テーマというのはデザイナーがこれが一番いいという組み合わせで作成しているのだから、どっかを変更すると、あちこち変なところが出てくる。ほかのテーマに変えたほうがいいけど、このテーマでずっと走っているから変更したくないんだよね。デザイナーがテーマを更新すると、この設定はもとにもどっちゃうんだよね。だから余り変えたくないのだけどね。

HDDのトラブル

PCのリカバリの記事書いたのだが、HDDがコケちゃって、これは捨てるしかないのだが、別のころがっていたHDDにシステムリカバリDVDからシステムなど購入時のHDDを再現させてみたのだ。OSがインストールされたこのHDDから起動すると問題なくWin7が動くのだが、起動時にこのHDDを起動ディスクとして認識してくれない。手元に2台700GB程度のHDDがあったので両方ともやってみたのだが同じ結果だ。起動時にBIOS設定を選ぶ[ F10 ]か、強制的にそのまま進む[ F2 ]かを選べと指示され F2 で進めるとなんとかWin7 が動くのだ。
2台ともおかしいのはよくわからないが、ともかく理由はHDDに最初にアクセスするセクターになんか異常があるからだろ、というわけで1台をBIOSでHDDのS.M.A.R.T. Check という項目があったらからチェックしてみたら、S.M.A.R.T.エラーが表示された。
んが、どうしたもんか。BIOSでは修理ができないし、何がおかしいのか詳細がわからない。んでソフトでS.M.A.R.T.チェックするのがあるに違いないと思って検索して、「HDD/SSDの健康診断を行うS.M.A.R.T.対応ツール「CrystalDiskInfo」 の使い方」というページを見つけ、CrystalDiskInfo からCrystalDiskInfo6_8_2Shizuku.zipをダンロードしてインストールしてチェックしてみた。すったら;
20160614HDDerror-1
というわけで、壊れたセクターがあり、代替処理セクターも一杯になりそうで、やばいよということになっていた。だから一応読み書きはできるけど、もうすぐ壊れるよというわけだ。これを解消するためには「「代替処理保留中のセクタ数」で警告が出たHDDの修復テスト」というページがあったので、これに従い、HDDを完全フォーマットし直すことにした。クイックフォーマットのチェックを外し、フォーマットするわけだ。640GBで何時間かかるかわからん、17時頃開始で40分でわずか7%だ。Overnightでも終わらないのでは?パソコンのスリープを実行しないとして、帰宅、風呂、酒、飯 だな。
[ 追記 ] 翌日
完全フォーマットでも変化なかった。Macで再フォーマットし、WinにもってきてS.M.A.R.T.チェックしてもダメだった。Macでは異常が無いようにふるまっているし、Win でも起動ディスクでなければ振るまいに異常がないから使えないわけではないけど、そのうち完全に壊れるんだろうな。
もう1台も障害の程度は少ないけれど、異常診断され、完全フォーマットを実施してもだめ。捨てます。
[ さらに追記 ] 2016.6.16
HDD Regenerator とかいうので不良セクタの回復をやってみたけど、だめでした。