2013/09/19(木)Apache 2.4 では、HTMLヘッダの自動修正をする??

ここ1ヶ月、某会社のシステム構築の仕事の依頼を受け、せっせと組み上げておりました。
「頑丈な造りを」ということで、脱Windows、自動バックアップ付きの仕様です。
1台の機器にてRAID 構成にするよりは、2台の機器(うち、1台は既存機器)を使って、LANを通して自動バックアップ構成をとったほうが安価で機能的にもほぼ同等で確実な構成に出来るのですが、この点、頑なに理解しない技術屋も結構居ます。

先日、新規サーバ1台とセットで設置しに行ったわけですが、現場でサーバ上で稼動させるデータベースに自動バックアップの構成を構築した後にデータを投入し、GUIインタフェースとなるWebブラウザのため のサーバ Apache 2.2(現行は 2.2.25) をサービス開始するわけですが、不可解な現象に数時間悩む・・・

通常、
20130919_1.png

のように、表示されるわけですが、何故か
20130919_2.png

のように、CGIが吐き出すHTMLをテキストでそのまんま出してしまう。。
要するに text/plain で表示されてしまうわけです。

何をやっても駄目で、どういうわけか IE8 ではきちんとページが表示されるが、手元の Firefox と Chrome は text/plain モードな表示です。

現場で数時間悩んだものの、とりあえず IE8 で簡単な説明をして(IE8 ではまともに表示しないので、アップデートをお願いしておいた)、現場を引き上げ、その後から仕事場でプロトコル解析です。

ほどなく原因が判りました。通常、CGIからHTMLなページを表示させるには、
Content-type: text/html; charset=utf-8

といったヘッダ行を(標準出力へ)最初に出し、更に(標準出力へ)空の行を1行出して、本体との区別を行い、そこからHTML本体を(標準出力へ)流し込む形を取ります。このヘッダ行に問題があって、

4637Content-type:

みたいな状態になっていました。問題の部分はここ
# HTMLヘッダ出力
sub out_header {
  my ($mimetype,$hstr) = @_ ;
  print $hstr if ($hstr ne "") ;
  print "Content-type: $mimetype\n\n" ;
}


これを呼び出すところで、
out_header('text/html; charset=utf-8',length($outstr),undef) ;

のようになっていたわけです。
($outstr には、HTML ページ本体を文字列の形で格納している。length はその長さを返す)
構築作業中、Apache 2.4 上で制作していたためか、このような現象には一切遭遇せず、納品サーバで動作確認していなかったのが原因ですが、レベルの低いところで悩みまくっていましたorz

・この現象は、Apache 2.2.x で発生し、 Apacxhe 2.4.x では発生しないようです。
・Apache 2.4.x では、CGIが出すヘッダが狂っていても、本体部分をチェックして適切なヘッダに書き換えるようです。
・Apache 2.2.x でも、ブラウザが IE8 では発生せず、HTMLなページが表示されます。しかし、IE9 以降では、text/plain な表示になります。
・IE8 では、不明ヘッダは text/html として処理するが、IE9 以降や Firefox,Chrome においては、text/plain の処理となるようです。

2013/08/13(火)Twitter への自動連携がダメダメだった件・・・

2017/10/12 5:32 サーバ運営・管理
とある友人に指摘されたのですが・・・
1日2~3回、当方の私設観測所で常時観測している気温の自動ツイートと、
1日2回自動ツイートしている、日の出・日の入り時刻が上手く行っていないことに気がつき、昨夜遅くに対処しました。

今年5月か6月くらいに自動観測機器が風雨の影響で不具合起こし、修理したのでその影響かと思っていたのですが、原因調べたら、Twitter API のバージョンアップに対応していなかったのが原因だったです。はい 。

こんな感じで、当方のTwitter アカウントにて自動ツイートされます。
20130813.png


ご指摘頂き、ありがとうございました(^^)。

2013/07/19(金)参議院議員選挙開票日が近づいていますね

今回から、ネット選挙活動が大幅解禁になりましたが、有権者にとっては中途半端で、気を使うので今ひとつ感もありますが・・・

北海道選挙区における立候補者です:
20130719_election.jpg

このうちの上位得票2名が議員になります。北海道選挙区は2人区です。
筆者は既に不在者投票にて、投票を済ませました。
普段から、少なからずサークルみたいなもので政治勉強会に参加していたので、候補者選びは苦ではなかったのが大きい。

選挙になると、「この期間だけしつこい人」が少なからず居ります。
最近思うのですが、普段疎遠がちな人に対して、この時だけ「後援会に入ってくれ」とか「投票よろしく」とか言われても「なんだかなぁ・・・??」という感だけがあり、旧態のそういうやり方はどうよ? と思っ てしまいます。

 そんなことよりも有権者も含めて普段から地域や国政に関心を持ち、常に情報発信していて、「仕事が見える」候補者ばかりであれば、何もしなくても自然に関心を呼び、民意を反映しやすくなる土壌が形成されや すい、と思うし、それを望んでいるのですが、一向に隠蔽体質のようなものは変わりません。日頃の何気ない交流が重要だと思います。

 また、最近では世論操作しているのはすぐバレますから、そういう姑息な手段で庶民を煽るマネはせずに、正々堂々とやって欲しいものだと思います。

2013/07/09(火)PDFJ を Perl 5.16 で動作させることに成功

以前、こんな話題を掲載しました。 → PDFJ は perl5.12 では動作しない模様

相変わらず、原因を追いかけるほど暇もカネも無いので、ほったらかしだったですが、今般開発中の案件に使えたら使いたいと思い、諸般の事情も手伝って、無理やり時間割いてみました。。orz

Google 殿に尋ねると、Perl 5.12 でも動いているよという情報も・・・
「うーむ、ウチでは Perl 5.12 にしたら動作しなくなったんだけどな!!」と思いつつ・・

FreeBSD では、ports にも PDFJ-0.90 が入っていて、Perl 5.14 で動作するようなパッチが当てられているようです。なので、これを ports にてインストール。でも、相変わらず 「PDF ファイルが壊れています」とAdobe Reader に怒られます。。

テキストエディタで「壊れている PDFファイル」を覗いてみる。すると、エラー内容などがテキストで吐き出されている。orz こんな感じ:
error in 'BODY': error in 'Block': error in 'break': error in 'do': error in
 'eval': eval error: 'print' trapped by operation mask at (eval 2122) line 2,
 line 3873.
: '
print "page",$page->pagenum,"\n" if $Args{'XPDFJ:verbose'} >= 0;
$Args{hfpage} ||= $page->pagenum;
' at libs/XPDFJ.pm line 589, line 3873.
ここで再び Google殿に尋ねると、perl 5.10 にて同じ現象で嵌った方が、、
PDFJをperl5.10で動かす 〔紀子さん@へぼぷろぐらまの日常〕

もう4年前のものなんですが、例の Perl 5.10用パッチ入れても動作しないという現象。
「ウチでは、Perl 5.10 では動作したなぁ」と思いつつ、どう対処したかというと

 『とりあえず該当行をコメントしてしまうという暴挙に出、まぁ解決』

 ぉ、、・・・orz
 でも、この暴挙を試そうと、該当箇所を探すが。。。
 XPDFJ.pm 上に無い。。散々探したあげく、モジュールで提供されているインクルードファイルに stddef.inc というファイルがあり、その中にありました。orz

 行番号なんかあてになりません。XPDFJ.pm にてインクルードした後の行番号が表示されている模様。。 stddef.inc の 1135行目あたりにありました。
#            <eval>;
#              print "page",$page->pagenum,"\n" if $Args{'XPDFJ:verbose'} >= 0;
#              $Args{hfpage} ||= $page->pagenum;
#            </eval>
こんな感じで「暴挙」を実施したところ・・・
動作するようになりました。たぶん、ページ番号振る部分ですかね。。

ひょっとして、これも Safeモジュール絡みかも??
エラーに print文の部分が含まれているからです。
追いかける暇なんぞ、なかなか持てないので、とりあえず文句言われない限りはこのままになると思います。。

2013/07/04(木)「造ります!」と言いだしてかれこれ4年・・・

20130704.jpg

・・・だそーです。国道5号線のとある案内表示より。

当初、札幌方面だけの出入り可能なように計画された話もあったらしいですが、
両方向から出入りできる「フル(full)」のインターチェンジになります。

料金見ると、現在の千歳IC より苫小牧寄りの設置になるため、札幌からだと現在の千歳IC で出るより +100円ですね。

2013/06/19(水)Win7 64bit環境にて Waterfox/Cyberfox/Firefox の表示文字が滲むように崩れる件

2017/10/12 5:26 雑多なトピック
最初のうちは出て来なかった現象ですが、いつしか目立つようになり、ついに症状が酷くなって我慢の限界を超えたので、、(爆)

どうも Windows Update で勝手にインストールされた更新プログラムが原因のようです。
概略はここにかいてあるとおり。→ http://it.trend-ai.com/?p=9912 
〔Firefoxの文字が滲んで崩れる件、Windows7の更新プログラムKB2670838が原因だった。
 - パソコンやホームページに関するITの部屋〕

上記で示すように、KB2670838 をアンインストールし、自動更新対象から外すことで解決しました。
この更新プログラム、あちこちでささやかな物議を醸しており、
中にはいわゆる「ブルースクリーン」状態になって、使い物にならなくなることもあるそーです。

2013/06/16(日)今度は、Cyberfox にしてみた

2017/10/12 5:25 雑多なトピック
Cyberfox とは、Webブラウザとして有名な Firefox の 64bit版 Web ブラウザです。
20130617.png

あれ? と思われた方。そうです。Waterfox も Firefox べースの 64bit版ブラウザ。
機能的には Waterfox と同じ。Firefox や Waterfox のブックマークを引き継ぐ点も一緒です。
当然、64bit版Windows でないと動作しないのも同じです。

Waterfox が一向にセキュリティアップデートしないため、こっちに乗り換えてみたわけです。
公式サイトはこちら → https://8pecxstudios.com/

このままでは、やはり英語版状態なので、日本語化します。

また、こちらにお世話になります → そこはかとないBlog 2013/05/15
〔Cyberfoxを日本語化してアプリボタンに ”Cyberfox”と表示させる〕

英語版の生の Cyberfox にて、上記サイトにアクセスすると、
「Cyberfox 21.x 対応 日本語言語ファイル」というリンクが張られています。
ここをダブルクリックし、プラグインモジュールをインストールし、Cyberfox を再起動するだけで、日本語化できるようです。

Firefox 本体も 64bit版の開発は続けられてはいますが、昨年年末のごたごたがあってからは消極的です。

韓国のサムスンが Firefox 本家の開発に関与し始めたせいでしょうか。
真偽の程は判りませんが、64bit版 Firefox 全体の開発姿勢が変わりだしたのはそのあたりからです。

もし、本当にカネに物言わせて開発ブロジェクトを引っ掻き回しているのなら、ユーザを不幸にしているのは紛れもない現実の話なので、関与しないで欲しい。強くそう思います。

2013/06/11(火)FreeBSD 8.4R リリース

2017/10/12 5:24 サーバ運営・管理
6月7日にアナウンスがありました。いつもの適当な意訳です。

元ネタ:FreeBSD 8.4-RELEASE Announcement

・Gnome を Version 2.32.1 に、KDE を Version 4.10.1 にそれぞれ更新。
・ZFS ファイルシステムは、Feature flags 5000 バージョンに更新。
・現時点で流通している全ての LSI ストレージコントローラをサポート。

本日時点でもサイトには反映されていませんが、アナウンス原文によると、FreeBSD 8.4R は Extented サポートになり、サポート終了は 2015/06/30 になります。

FreeBSD 8.3R のサポート終了は 2014/04/30 ですので、この日までに 8.4R/9.1R/STABLE版 に更新することになります。

FreeBSD 9 では、ストレージ周りの変更がされていますので、アップデートインストールでストレージデバイスの自動割り振りで不具合を起こすことがあります。
トラブルシュートの時間が取れない場合は、8.4R をお勧めできます。

筆者の環境では、S-ATA と従来の IDE 混在環境でこの現象が起き、シングルユーザモードで何とか対処した事例があります。

2013/05/05(日)暦の上では、今日から夏らしいですが・・・

先月下旬から、ずっと季節はずれの寒い日が継続しており、今日もこの有様。
今日は「立夏」。暦では夏です。

20130505.png

平年比でも5℃以上は低い。
高層天気図見る限り、北海道付近に滞留している寒気が抜けるのは 5/10 以降になるようです。それまではこの状態が続きます。
本日のこの気温でも、ここ最近では暖かいほうです。

一昨日は、夜中に雪降りました。
北海道でもオホーツク海側では積雪に至った地域もあるようです。