Honjo: 2008年5月アーカイブ

でーきたできた

|
 文字化け、回避できた。boulderingディレクトリ以下にdefaultcharsetを設定して見たら、上手い事行った。

 よかったよかった。って、勉強になるなぁー。

続き、結局

|
 defaultcharset宣言はやめてしまった。というのも、ブログ記事を登録し、各ファイルが再構築されたものを確認に行ったら、無茶苦茶文字が化けていたのだ。ということで、w3mでの文字化けはそのままになってしまった。サーバを分けないと駄目かも。

 w3mというウェブブラウザを初めて使ってみた。キャラクターしか表示できないブラウザだ。今時そんなものをどうするのだとの疑問を持つ方もあろうが、未だに文字しか表示できないコンピュータも充分に存在するのである。現に、小生でさえそんなパソコンをいじくっているのである。まぁ、昔のDOSマシンという感じのパソコンである。もっとも、現在小生が弄んでいるパソコンは、ウインドウズマシンに繋いで、そのパソコンのディスプレーとキーボードを使って動かしているのであるが。その文字しか表示できないパソコン上でw3cを動かして遊んで見たというわけである。

 このパソコン、実は、ウェブサーバが動いていて、そのサーバの動作の確認ということもあってのw3mではあるのだが、その自分のページを見てみたら、もう、物凄い文字化けなのである。その、仮にサーバマシンと言うことにするが、サーバマシンは日本語は全く扱わない。従って、文字化けは、端末として繋いだパソコン、仮にウインドウズマシンということにするが、そのウインドウズマシン上で動いているターミナルソフトでの漢字コードの扱いだろうと見当を付け、ターミナルソフトの設定をいじってみたのだが、上手く行かなかった。

 では、w3cでの設定かと、w3cの設定ファイルを見てみたら、ディスプレー用とサーバ内のコード体系の設定する所があった。両方ともUS-ASCIIになっていたので、ディスプレー用のコードをShift_jisにしてやったら、文字化けが直った。

 気をよくして、他の文字ばっかりの自分のページを見に行ったら、メニューファイルは綺麗に表示するのだが、ここの、ページを見に行くと、これが化け化けだったのだ。

 調べて見たら、メニューファイルは比較的新しかったので、CHARSET=Shift_jisと宣言されていたのだが、文字化けを起こしていたファイルにはその様な宣言は無かったのだ。

 どのソフトがどんなコード変換をやっているのか、細かいことはわからなかったので、そこまでの各ソフトのコード体系をいろいろに設定して見たのだが、なかなか文字化けは解消しなかった。

 そんな時、ふと、ウェブサーバの設定にdefaultchaset という設定項目があり、その項目をコメントアウトしていたことを思い出した。そこでその項目をShift_jisに設定してやったら、うまいこと表示してくれた。

 ということで、一応設定は成功したのだが、実は、小生がホームページを作り始めた頃から、このキャラクタベースでのブラウザに対しても正常に表示できるようにとの配慮をしてきたつもりであった。そんな訳で、小生のあるページ群は、一切の画像とかフレームとかは使ってはいないのである。

 しかし、配慮があさはかだったことが露呈してしまったのだ。これはいけないと言うことで、実際にインターネット上に公開しているウェブサーバの設定もdefaultchasetをShift_jisに設定しなおした。幸い、ウェブページはウインドウズマシンで作っていたので、コード体系は全てShift_jisだったのだ。

 その後、それらのウェブページをw3mで確認して見た所、全て正常に表示された。

 以上、真にお粗末なことであった。それにしても、この文字コードのこと、実にややこしいことではある。

 ということで、目出度し目出度しとこの記事を書いているのだが、書き込んだものを確認する場面で、文字化けが発生してしまったのだ。と言うのも、このブログでは、UTFのコード体系を使っているのである。HTMLファイルになってしまえば特に問題は無いのだが、内部処理において不具合が発生してしまったのだ。まぁ、記事を書くことには特に不具合は無いので、表面的にはこのままでも良いのだが。

 さぁーどっちをとるか。このブログソフトの方でどうにかできるのか。暫くまた遊べそうだ。

ところでsquidってなに?

|
 ヤリイカのことである。で、その実態は

Squidは、FTPやgopher、HTTPデータオブジェクトに対応した、webクライアントの ための、高性能な代理キャッシュサーバです。
ということだそうだ。で、どんなことをするのかというと、

これまでの古典的なキャッシュソフトとは異なり、Squidは単一の非ブロック型で、 I/O駆動によるプロセスで全てのリクエストを処理します。 Squidは、(i)メタデータ、特にまさにキャッシュされようとしているオブジェクトを RAM中に保存し、(ii)DNS検索をキャッシュし、(iii)非ブロック型DNS検索を サポートし、(iv)オブジェクトとDNS検索の両方で、失敗したリクエストに関する ネガティブキャッシュがインプリメントされています。また、SSLや、拡張性に 富んだアクセス制御や、全てのアクセスを記録することもサポートしています。 軽量なInternet Cache Protocolを使用することによって、 さらに帯域の使用を減少するために、Squidキャッシュを階層化や網状化することが できます。
てなことをする或いは出来るのだそうだ。

 諸君等はこれらを理解できようか? 小生、チンプンカンプンである。

squid のこと

|
 なかなか動かなかったsquidがやっと動き出した。というか、インストールするパッケージを古いバージョンに変えて、やっと動き出した。

 というのも、最新のsquidは、カーネルが2.6.なんとか以降でないとサポートしない関数を使っているため、カーネルが2.4.何とかでは動かなかったのだ。そのことに気が付くまで、結構な時間を要してしまった。

 最初は、設定ファイルでの設定がまずいのかと、相当コメントで膨らんだ、横文字ばっかりの設定ファイルをプリントアウトして、ざっと目を通して見たのだが、当然小生に理解できる訳も無く、ただ横文字をなめただけだった。

 そんななか、syslogだったかを読んで見ると、squidが何回も何回も起動しようとして、その都度何とかという関数がサポートされていない、見たいなメッセージが残されていた。なにしろ、squid事態が起動しないから、squidからのlogが全く作成されなかったので、どのログファイルを読めば良いかが分からなかったのだ。いや、以前はその辺は理解していた積りだったのだが、最近ではその辺が分からなくなってしまっていたので、調べる気も俄かには起こらなかったのだ。

 まぁ、そんなことはどうでも良い。そのサポートされていないと言う関数の名前と、squid、debian等でネットで検索をかけてみると、あるHPが見つかった。

 そのHPは玄箱とか呼ばれる、小生の使っているパソコンと同じCPUを使ってる同じようなパソコンだったので、その人も小生と同じような事をしていたようだ。つまり、本来のOSをdebianに変えていたらしい。そのため、結構親しみを持って読むことが出来た。つまり、カーネルのバージョンを上げるのではなく、squidのバージョンを下げると言う方法をとっていたのだ。

 他のディストリビューションでは、結構バージョンが違ってもそのファイルやパッケージは見つけやすい感じだったのだが、このdebianは、最新のパッケージしか見つけられず、古いバージョンを見つける方法を知らなかったので、どうすればよいのか分からなかったのだが、そのHPには古いバージョンのパッケージを置いている場所を明示してくれていたので、早速カーネルが2.4でも動くsquidのパーケージをインストールしなおしてみた。そうしたら、動いたのだった。

 インストールの時には、なんだかいやな感じのメッセージが出て、特にキャッシュを作るコマンドとかを実行した時に、なんだかが出来ないみたいなメッセージが出たような気がしたのだが、アクセスして見たら、ブラウザが上手く表示してくれた。ログファイルを調べたら、ちゃんとキャッシュしているとのログが記録されていた。squidプログラム(デーモン?)も停まることなく動いていた。

 ということで、まぁ、一先ずは目出度しというところか。

最近またLinux

|
 ここの所暫く途絶えていたパソコンネタである。

 以前ちょっと触っただけで挫折したDebianをまたいじりはじめた。ディスプレーもキーボードも無い、パワーPCパソコンでだ。

 このパソコン、デフォルトではBSD系のUnixが乗っているのだが、そこで走るデビアンが用意されていたので、それでインストールし直して、それを使い始めたのだ。勿論コンソールが無いから、リモートの端末からの操作しか出来ないから、Xなんかは動かない。というか、動かしてもあまり意味が無い。従って、Xはインストールはしていない。

 最初は、ベーシックな部分だけしか乗っていないから、それに色々なソフトをインストールして行った。その時、物凄く威力を発揮したのが apt-get 等のパッケージインストール用のツールだ。

 これは物凄い。つまり、これを使うとネットワークからのインストールが簡単に出来るから、すごく簡単で使いやすいのだ。ただ、パッケージは膨大にあるし、どれが目的のパッケージだかが分からないから、その辺は素人には使いにくいのだが。

 まぁ、案内書が有ってそれを手本にやっているから、って、対象のパソコンのCPUが全く違うから、インストール用のパッケージは全く違うのだが、apt-get を使うと、その辺の考慮は全くいらないから、殆どプラモデル感覚で出来てしまう。

 先ず、ntpdate、つまりネット上から正確な時刻を取得するツール、をインストールした。

 このソフト、実は、サーバーにもなるため、セットアップ用のファイルがある。そこには、問い合わせに行くサーバが登録されている。そのため、ntpdate を実行するだけで時刻の同期が出来るものとばっかり思っていたので、引数を与えずに実行して見た。すると、エラーメッセージが帰ってきた。Windowsのntpdateはセット用のファイルを宣言してあれば、引数無しに実行出来るので、debianもそうとばっかり思っていたので、何がなんだか分からなかった。仕方がないから、他のLinux用の参考書を幾つか参照して、コマンドラインからの実行の時は引数にホストをつけてやらなければならないことが分かった。幸い、家のネットワークの中にNTPサーバがあったので、そのアドレスをつけてやったら、うまく同期が出来た。

 次は、apachだ。つまり、webサーバだ。これは、apache2をインストールして見た。

 先ず、一番のルートのページが見えない。ファイル名を省略すると、別のディレクトリのファイルに飛んでしまう。ファイル名をつけてやると、文字が化けてしまう。別ディレクトリに飛んでしまうのは一先ず置いといて、文字化け対策を始めた。

 参考書には、defaultcharset をコメントアウトせよと書いてあるから、そうしたのだが、文字化けは直らなかった。

 apache2 の設定用のファイルは幾つにも分かれている。以前のように一つとか3つとかではない。数えるのが面倒なくらい数がある。他にもどこかに設定されているのかと、色々と探して見たが、見つからなかった。

 以前、CGIのタグが悪さをして、文字化けを起こしていたことがあったので、CGIの実行環境を整え、CGIが正常に働くように設定して見たが、やはり文字化けは直らなかった。その後も、何がなんだか分からない中で、なんだかんだとやっているうちに、言語の優先度が設定されているのに気が付いた。Ja は優先度が高くは無かった。それをトップに持っていったら、 文字化けが直った。このことは、最近の参考書には明示されてはいなかった。確か大分以前の参考書にはあったような気がするのだが。

 続いて、FTPサーバをインストールした。パッケージはvsftpdだ。

 これは素直にインストールできたので、inetdでの起動を設定して見た。ところが、これが上手く行かなかった。仕方がないから、xinetdをインストールして、それで起動するように設定しなおした。しかし、これも上手く行かなかった。そして、inetdをリムーブしたり、ああだこうだやっていたら、遂に、スタンドアロンでも起動できなくなってしまった。vsftpdをインストールしなおしたりしてみたが、結局上手く行かなかった。なんだか分からなくなってしまった。

 で、結局、システム自体を再インストールしてしまった。

 これは、前回の経験から、比較的スムースにインストールが進んだ。

 調子に乗って、今まで触ったことの無い、squidをインストールして見た。プロクシサーバだ。

 インストールは何事も無くでき、何事も無く立ち上がった。しかし、squidにコネクトできないのだ。ネットからは勿論、ローカルホストからも接続できないのだ。セッティング用のファイルも良くは理解が出来ない。少なくとも、ローカルからはポートが読めても良いはずなのに、それも読めないのだ。

 セッティングに疲れてしまったので、analogやsambaをインストールしたりしてみた。これらは特に問題は無かった。でも、squidは未だにどうにもなってはいない。

 使っているパソコンは、特殊中の特殊なもので、パワーPC用のパッケージでも動かないものがあるらしいから、若しかすると設定の問題では無いのかも知れない。

 暫くは、そのパソコンでsquidとの格闘が続きそうだ。

 とまぁ、近況はそんな所だが、実際はもっと書きたいことがいっぱいある。特にソフトのインストールに関しては、それぞれが一つの項目で書いても相当のボリュームになるくらいにある。そのうち気が向いたらその辺のことを書くことにしよう。

アーカイブ

Techonrati

Technorati search
Powered by Movable Type 4.0