インターネットなこと: 2009年9月アーカイブ

アイ・キャンに「祖生はいつから申込できるの?」と問い合わせメールを送ったら、「もう受付開始してますよ」って回答があった。

そうだったのか・・・

ただ、初期料金なんかは条件によって変わってくるようで、「一度訪問して話をさせてもらえれば・・・」ということだったので、2日に来てもらうことにした。

さてさて。いくらくらいかかるのかなあ、初期料金。

今日も、ちょっと大きめのファイルを落としてこないといけないので、後で南岩国のネットカフェに行ってこなきゃ。

ほんまに、いつになったら開通するのやら、アイ・キャン。

090927_064929.JPG昨日も、ふと空を見上げると、電柱になにやら新たな線が。
くるくるっと丸めてある線。これ、この間まで無かった線やなあ。ああ、これがアイ・キャンの光ファイバーか。

線が来てるんだから、早く始めてほしいなあ。
多分、アイ・キャンもサービス開始をこれほど熱望されたことはないじゃろう?是非、その思いに速やかに応えてほしいものじゃ。

そうそう。
この間メールフォームでアイ・キャンにサービス開始時期を問い合わせしたって書いたけど、ちょうどその時に iTunes の最新版を落としていた最中だったので、httpd セッションがタイムアウトエラーになっちゃって、確認画面にも進めてなかった。(^^;
INS64 で 90MB以上あるファイルを落とすのって大変なのよ。ブロードバンド回線なら、ほんとにあっという間だけどね。(^^;

今朝も嫁さんと、「いつになったらサービス開始するんかねえ」としみじみ・・・(^^;

早く来い来い!ブロードバンド回線!
090922_142855.JPGケーブルTVのアイ・キャン。まだ、祖生で工事をしているのか?

秋からサービス開始とかいう話だったのに、全然「いつ開始する」という話が聞こえてこないアイ・キャンだけど、まだまだ工事が終わってないということなのか?

この連休、ずっとうちの前の旧437号線で工事してますけど・・・
以前もしてたのになあ。何を、何度もやってるのだ?

この調子では、上祖生地区でのサービススタートはまだまだ先なんだろうなあ・・・(^^;がっかりだ。

一応、メニューには「玖珂・周東・美川・錦エリアの方はこちら」というのが追加されてるけどなあ。

思わず、「いつから周東町祖生地区の申込受付を開始するんですか!?」と問い合わせフォームから質問しといた。

さてさて。どんな回答があるのやら。

9/9 に、「某サーバ移行作業終了」っていうエントリーでチラっと触れているんだけど、またも InternetExplorer の狂った仕様に振り回されましたよ。

この時の作業は、実際に Web サーバを別のデータセンターに移動させる作業だったので、どうしても長時間のアクセス不能時間が発生する。なのでその間、その Web サーバへのアクセスをうちのサーバで受けて、どこのページにアクセスがあろうが「メンテナンス中です」のページを返す・・・ということにしてたのだ。

ま、Apache の運用をしている人なら、「ラクショーじゃん」って作業だよね。
「メンテナンス中です」のページだけ置いて、

ErrorDocument 404 /sorry.html
ErrorDocument 403 /sorry.html

とかすればいいだけなので。
ささっとサーバ設定を修正して、Firefox 3 で「メンテナンス中です」画面が出ることを確認。さあ、サーバを移動しましょうか・・・って腰を上げたら、InternetExplorer ユーザから「エラー画面しか表示しませんけど?」の問い合わせ。

確かに、InternetExplorer だと「ページが見つかりません」のエラー画面が表示される・・・

調べてみたら、InternetExplorer って、エラーコード毎に受信バイト数のしきい値の設定を持ってて、そのバイト数より小さい HTML データを受信した場合は、本来のページデータではなく、自前の「ページが見つかりません」画面を表示してしまうんだな・・・

馬鹿・・・
つーか、どういう仕様?
それって、誰か幸せになるの?

ほんま、わけがわからんわ。

404 エラーの場合は、512byte 以上の大きさの HTML データを返さないと駄目だそうだ。

あーあ、はい、はい。

ということで、</html>タグの後ろに鬼のように改行コードを入れて 600byte くらいの大きさのファイルにしたら、無事「メンテナンス中です」の画面が InternetExplorer でも表示された。

まったく・・・人騒がせな仕様じゃのお。(^^;
でも、日本にはこんな馬鹿な Microsoft が大好きという「信者」が多いのである。
ああ、恥ずかしい、恥ずかしい。そんなヤツは北朝鮮にでも行けばいいのに。(笑)

これも移行したサーバでの話。

tDiary を動かしているサーバを別の場所に動かしたんだけど、そしたら

env: ruby: No such file or directory

というエラーが出て、tDiary が動かなくなってしまった。
どうも、Ruby のパスが取れてない様子。

tDiary のスクリプトは、シェル宣言で直接 /usr/local/bin/ruby という Ruby のパスを指定せず、

#!/usr/bin/env ruby

という具合に、env コマンドで ruby のパスを指定している。(ruby のインストールディレクトリがどこになってもいいようにだろう)

で、/usr/local/bin にある ruby が No such file or directory になるということは、プログラムファイルを探す経路情報である環境変数 PATH に、/usr/local/bin が含まれていないということだ。

実際、CGI で取得出来る環境変数を調べてみると、PATH は、

/sbin:/bin:/usr/sbin:/usr/bin

となっている。/usr/local/bin は確かに含まれていない。

これに関しては、Apache の起動スクリプトで、apachectl を実行する前に、環境変数 PATH に /usr/local/bin を足し込んでやればいい。
こんな感じ。

#!/bin/sh

export PATH=$PATH:/usr/local/bin
/usr/local/apache2/bin/apachectl startssl

しかし、マシンを再起動するまでは、問題なく動いていたのに何故?

同じ OS(FreeBSD 5.X-R)で、マイナーバージョン違いの Apache を動かしているうちのサーバで調べてみると、Apache の環境変数 PATH に、/usr/local/bin は含まれている。

/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/usr/X11R6/bin:/root/bin

あれれ、これ、.cshrc 内で指定しているパスじゃん。

set path = (/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin /usr/X11R6/bin $HOME/bin)

そうか・・・
以前、tDiary をインストールした時、こういう問題が発生せずにすんなり動いたのは、自動起動された Apache ではなく、ユーザが apachectl コマンドをシェル上から実行した Apache だったからかぁ。
謎が解けた。

つまり、/usr/local/etc/rc.d 以下の自動起動スクリプトで起動された時は、PATH には /etc/rc で指定されている

PATH=/sbin:/bin:/usr/sbin:/usr/bin

この値がセットされるのだろう。
で、ユーザが起動した時は、そのシェル上の環境変数 PATH の値がセットされるというわけだろう。

このサーバ、既に4年近くノンストップで動いてて、再起動したことなかったもんな。
それまでに、Apache は何度か STOP/START してるんで、/usr/local/bin へのパスも通っており、tDiary でもエラーが出なかったんだな。

つーことは、/etc/rc の PATH に /usr/local/bin を追加しておけばいいということか。
システムファイルを編集するのは少々気持ち悪いが、/usr/local/bin は追加しても全然問題無い気はするがな。
ま、取りあえず tDiary 以外で問題は発生していないので、暇が出来たら実験してみるということでよかろうてえ。

ちなみに、FreeBSD だと /etc/rc だが、Linux なら /etc/init.d/functions の中でディフォルトの PATH は設定されているようだ。

ああ、原因が分かってすっきりした。寝よ。
新しいサーバにうちのメールサーバを移したら、なんと特定のアカウントだけメールが届かない現象が・・・

どういう基準で「届く/届かない」状況になっているのかよくわからなかったのだが、やっと先ほど判明した。

ちなみに、qmail-1.03 + ucspi-tcp-0.88 + vpopmail-5.4.28 という環境である。

で、どうも、VirtualDomain のユーザディレクトリの下に置いた .qmail ファイルに、配送先として Maildir を書いた場合に、

delivery 3: deferral: client_connect:_warning:_config_begin_failed/Aack,_child_crashed._(#4.3.0)/

というエラーが出て(warning って出てるけど、実際にメールが配送されないんで、これはエラーだ)、メールの配送に失敗してしまうのだ。(Maildir/new にも入っていないし、その下に書いていた転送先にも転送されていない)

で、.qmail を置かなければ問題なく Maildir/new にメールデータは書き込まれる。
.qmail を置いた場合も、転送先が書いてあるだけなら(Maildir が書かれていなければ)、問題なくその転送先に転送される。
つまり、他のアドレスに転送するだけなら、そのアドレスだけを書いた .qmail を置けば問題なく動作するし、転送をしないのなら .qmail を置く必要もないので、これまた何の問題もない。
問題になるのは、他のアドレスに転送しつつ、Maildir にもデータを置きたいという場合である。

ちなみに、Maildir の指定方法は、

./Maildir/
/home/vpopmail/domains/exsample.com/hogehoge/Maildir/

のように、相対パスでも絶対パスでも、どちらでも駄目。

一応、解決策も見つけてて、ドメインのディレクトリ直下に、

.qmail-hogehoge

というファイルを作って、そこに、

/home/vpopmail/domains/exsample.com/hogehoge/Maildir/

と絶対パスで書いてやれば正常に配送されることが確認出来た。
何か気持ち悪いけど、取りあえずはこれで行くしかないなあ。何せ、古いサーバは 9月いっぱいしか使えないので。

ググってみても、同じ現象に遭ってる人はいないなあ。
この話が一番近いくらい?多分。
 ↓
http://search.luky.org/linux-users.9/msg04669.html

取りあえず、ユーザディレクトリの下に置いてある .qmail をチェックして、Maildir が指定されているものはドメインディレクトリ直下に .qmail-XXXX を作成していこうてえ。

めんどくさ・・・
https のサイトをうちのサーバに持ってきたので、httpd.conf の
Include conf/extra/httpd-ssl.conf 行を有効にして httpd の再起動をしようとしたら、

Syntax error on line 31 of /home/httpd/conf/extra/httpd-ssl.conf:
Invalid command 'SSLPassPhraseDialog', perhaps misspelled or defined by a module not included in the server configuration

なエラーが。

「module not included」とか言うてるけど、SSL は有効にして configure したはずじゃけどね・・・と、思って8ヶ月も前の作業ログを調べてみると、ああ、なんと、

# ./configure --enable-ssl=shared --with-ssl=/usr/local/ssl --enable-proxy=shared  --enable-proxy-ajp=shared

って、--enable-ssl してへんやん・・・とほほ(^^;

ということで、今度は

# ./configure --enable-modules=all --enable-so=yes --enable-ssl=shared --with-ssl=/usr/local/ssl --enable-proxy=shared  --enable-proxy-ajp=shared --enable-ssl

というオプションで configure して make & make install。

よっしゃ!と早速 httpd を起動しようとすると、今度は、

/home/httpd/bin/httpd: error while loading shared libraries: libcrypto.so.0.9.8: cannot open shared object file: No such file or directory

な、エラー。

ああ、俺のせいだ。libcrypto.so.0.9.8 のパスを通すのを忘れてた。

以前書いた「OpenSSL のインストール」の中の、共有ライブラリのパス追加の作業を行い、今度こそバッチリ httpd は起動した。

ずっとうちのサーバを置いていたデータセンターが、今月いっぱいでハウジングサービスを止めるため、現在サーバの引っ越し作業中である。
今度は、自前のサーバを置くのではなく、レンタルサーバの利用に切り替えようかなっと思って。

で、昨日、Apache の VirtualHost で公開しているサイトのひとつを新しいサーバに持ってきた。

今までの httpd.conf 上の VirtualHost 設定をそのまま httpd-vhosts.conf に反映させたのだが、何故かサイトにアクセスすると、403 Forbidden エラーになってしまう。
パーミッションは適切に設定されているのに・・・だ。

新しいサーバの Apache のバージョンは 2.2.8。元のサーバは 2.0.50。

httpd.conf を穴が開くほど見比べてみると、どうも root directory の設定の違いが影響しているのではないかと。

2.0.50 の httpd.conf

<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>

2.2.8 の httpd.conf

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>

Deny from all ってのが追加されているよねえ。
ディフォルトで、「全部アクセス不可」になってるってことだ。

なので、VirtualHost 設定の、

<Directory "/var/www/www.exsample.com">
    AllowOverride None
</Directory>

を、下記のように直してやる。

<Directory "/var/www/www.exsample.com">
    AllowOverride None
    Order allow,deny
    Allow from all

</Directory>

これでちゃんと http://www.exsample.com が見れるようになった。

2.2 系以前から 2.2 系に設定をコピってくるときは注意が必要じゃね。

このアーカイブについて

このページには、2009年9月以降に書かれたブログ記事のうちインターネットなことカテゴリに属しているものが含まれています。

前のアーカイブはインターネットなこと: 2009年8月です。

次のアーカイブはインターネットなこと: 2009年10月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。


月別 アーカイブ

電気ウナギ的○○ mobile ver.

携帯版「電気ウナギ的○○」はこちら