Linux設定・活用のブログ記事概要

メイン / Net・コンピュータ / Linux設定・活用
このブログをホストしている OpenBlockSにインストールした Debian を中心に、Linux 関係の設定や Tips、アプリケーションをインストールしたときの話などについて書かれたエントリーが分類されています。

CentOSでも KDE

カテゴリ: Linux設定・活用
|

~~正月休み中なのですが、ヒマなので昨年末の職場 PC を CentOS にした件のことをまとめてアップしたいと思います~~

ここ何年かは TurboLinux, SuSE と、KDE に注力するディストリビューションを使ってきたこともあり、デスクトップは KDE がお気に入りです。
もちろん CentOS にも KDE のパッケージは用意されていますが、デフォルトは Gnome で、オプションを選択しないとインストールされなかったりと、あまり力が入っていない感じです。
サーバ系のプロトタイプ開発のために CentOS にしたものの、デスクトップはやっぱり KDE が好きなので、オプションをインストールして、普段利用するデスクトップには KDE を選択します。

・・・が、RedHat の KDE と Gnome でデザインを統一するという余計なお世話な方針のせいで、KDE にするだけではイマイチ垢抜けない感じです。仕方ないので、細かくカスタマイズをしていくことにします。

まず、外観&テーマを変更します。

テーマ → クリスタル SVG
ウィンドウ装飾 → Quartz
ウィジェットスタイル → Plastik
色スキーム → Kermik (一部カスタム)
背景 → ブルーブレンド

フォントもイマイチなので、以前使用していた TurboLinux についていたリコーフォントをインストールしてそちらをデフォルトにします。

・・・カスタマイズを進めて、だいぶん良くなってきたと思っていたら、何故か GDM が core dump してログイン画面がまともに表示されなくなってしまいました。
軽く Google で検索してみても、原因や対策方法は見つかりません。
分かりませんが、どうせデスクトップは KDE なので、さっさと GDM には見切りをつけて KDM に切り替えてしまうことにします。

調べて見ると、切り替えるためには設定ファイル「/etc/sysconfig/desktop」を変更すればよいようです...

DISPLAYMANAGER="KDE"

変更して X をリセットすると、テーマが見つからずデフォルトのテーマになってしまいます。
まぁこのままでも機能上の害はないのですが「/usr/share/config/kdm/kdmrc」を修正すれば OK なようなので対策します。

Theme=/usr/share/apps/kdm/themes/CentOSCubes

OK。
GDM のときとぱっと見は区別がつかないログイン画面になりました。(^^;;;;;;

いつまでも見た目で遊んでいると怒られるので、次は適当に切り上げてユーティリティやアプリを設定して、仕事ができるレベルまで環境を整えることにします。

年末年始は、実家に帰省しています。
アニヲタ的には、この時期は番組の改編や特番などチェックするべきことが多く、HDD レコーダの EPG のリミットを越えて部屋を離れるのはかなり心残りなのですが、そんな理由で帰省期間を縮めると本格的にダメなひとの烙印を押されそうなので、ちゃんと帰ることにしました。(^^;;;;;;;;;;;;

とはいっても、やはり気になるので、実家から遠隔で HDD レコーダ を操作する方法を検討することにします。(^^;;;;;;;

幸い、うちの HDD レコーダは、東芝の RD-S300 で、こいつはネットに繋げばブラウザを利用して操作することが可能なのですが、実家からアクセスするためには 2 つほど問題がありました。

1 つめは、ネットから操作する場合は本体の電源を ON にしておく必要があるということです。考えれば当然なのですが、そもそも今回は部屋から遠く離れた場所で操作するのが目的なので、この制限はイタすぎます。

# 帰省期間中、電源入れっぱなしという方法もあるんでしょうが、電子ちゃんに怒られそうなのでとりあえず考えないことにします。

2 つめは、操作画面で Java アプレットを使用しているところがあるので、NAT を越せないのではないかという疑念がある点です。(最初からあきらめているので、本当にダメかは検証していませんが)

1 つめの方は、マニュアルを見ているときに発見した WOL (Wake-On-LAN) という単語から突破する方法が見つかりました。WOL は、サーバなんかの電源を特殊なパケットを送出して入れる規格で、以前使用していた PC が、電源を落としても LAN のリンクが down しない理由を調べたときに知ってはいたのですが、実際にやってみたことはないし、まさか HDD レコーダが対応しているとは思いもしなかったので盲点でした。

早速使い方を調べて、実験してみることにします...

Debian の場合、パッケージがあるので、

# apt-get install wakeonlan

で、インストールは終了します。
実行には、対象機器の MAC アドレスが必要なので、一旦電源を入れて arp で MAC アドレスを調べてから電源を切り、

# wakeonlan MACアドレス

を実行します。すると、ちゃんと HDD レコーダの電源が入りました。成功です。
電源 OFF は、GUI で行えるので、これで電源操作は OK そうです。

次は、アプレット対応ですが、これは OpenBlockS に PPTP のサーバをたてて VPN で実家から繋ぐという方法でクリアすることにしました。

PPTP もやったことないので調べると、ポート 47 と 1723 を使用するようなので、とりあえず ADSL ルータのポートマッピングを追加しておきます。
# よくよく調べたら今回の場合、ポート 47 は不要だったかも...

ルータ側の設定ができたら、

# apt-get install pptpd

で、インストールし、/etc/pptpd.conf の localip と remoteip を追加、 /etc/ppp/chap-secrets に、アクセスするためのアカウントとパスワードを追加して、/etc/init.d/pptpd start で起動します...

うまくいくようになったので、次は Windows 側の設定をします。
マイ ネットワークのプロパティから「新しい接続」で VPN の接続を追加します...

・・・接続。ちょっと時間がかかりましたが、接続できたようです。
内部 IP アドレスでブログにアクセスすることもできます。
うまくいっているようなので、目的の HDD レコーダにアクセスしてみます・・・

ん?接続がタイムアウトしてしまいます。

どうも PPTP サーバがたっているサーバ以外にアクセスできないようです。
ファイアウォールの類は設定していないのでパケットの転送の問題でアタリをつけます。

# cat /proc/sys/net/ipv4/ip_forward
0

やはり IP 転送が無効になっているようです。
とりあえず、

# echo 1 > /proc/sys/net/ipv4/ip_forward

で有効にしてやってみます。
OK。これだけだとリブートすると戻ってしますが、まぁとりあえずはよしとしましょう。

透明マウスカーソルの怪

カテゴリ: Linux設定・活用
|

前回、DELL の OptiPlex 740 に CentOS 5.1 をインストールする記事で「インストールは問題なくできたようです」と書きましたがウソでした。
問題大有りです。マウスカーソルが表示されていません。(^^;;;;;;;;;;;;;;

マウスをぐりぐり適当に動かすと、マウスオーバのイベントであちこち表示が変わるので、マウスが認識されていないのではなく、マウスカーソルが描画されないだけのようです。

最近の UI では、ほとんどのメニューがマウスオーバに反応してハイライトされるので、マウスカーソルが出なくても、操作不能とまではいきませんが、それでも著しく操作性は悪いです。あと、マウスカーソルほどの問題ではありませんが、画面の解像度が 800x600 になっているのも、狭いのでとっととディスプレイにあわせて 1280x1024 に変更したいところです。

とりあえず、root でログインして、画面やマウスの設定を触ってみますが、改善は見られません。あと、解像度の選択にも 640x480 と 800x600 しか選択肢に出ていません。久しく忘れていたイヤな記憶がフラッシュバックします...

「あれ? ひょっとしてビデオチップがサポートされてない?」

そういえば、VGA は「内蔵」でいいやと思ってそれ以上は気にしていませんでした。今から思えば迂闊すぎます orz

「最悪、自腹でグラボ増設か・・・」

自腹でも、そんなに高価なものではないにしろ、精神的ダメージから軽く血の気が引いていきます。

といっても、載っているビデオチップがどう認識されているのかを確認するまでは、まだ敗北が確定したわけではありません。
大昔、X は、XF86Config をエディタで直接編集して startx で起動するものだった時代を思い出しながら調査を進めます。

まずは、X サーバの出すメッセージを確認。
/var/log を適当に覗くと、Xorg.0.log というファイルがそれっぽそうです。

(--) Chipset GeForce 6150 LE found

ふむ。
調べると、Athlon64 用の統合チップセットのようです。
とりあえあず、サポートされていないというレベルではないようなので、ちょっと安心します。だとすれば、マウスカーソルが出ないのはドライバのバグかなんかの可能性が高いので、Google で同じ症状が報告されてないかを探すことにします...

「まさにそれ!」は見つからなかったのですが、「ハードウェアカーソルがバグっているのでソフトウェアカーソルにしてみれば」というのがありました。そういえば、昔は結構 FAQ 的な話としてあった気がします...

X の設定変更を X の上でやると確認が面倒なので、一旦ログアウトしてから CTRL+ALT+F1 で、コンソールに切り替えて root でログインします。

/etc/X11/xorg.conf に sw_cursor のオプションを追加します。

Section "Device"
        Identifier  "Videocard0"
        Driver      "nv"
        Option      "sw_cursor"
EndSection

保存したら、CTRL+ALT+F7 で X に戻って、CTRL+ALT+BkSp で X をリセットします。

・・・無事マウスカーソルが表示されました。とりあえずめでたしです。

で、続いて解像度です。
これは、ドライバではなくモニタの認識に失敗してるためだけのようなので、モニタを手動で Generic LCD 1280x1024 を設定します。

・・・画面がブラックアウトして、サポートされていない解像度だと表示されてしまいます。サポートされていない解像度なわけはないので、うまく設定がされていない線を疑います。GUI はアテにならないので、直接 xorg.conf を編集します・・・解像度指定が挿入されている箇所が正しくないようなので移動してみます。

一応うまくいきました。
Nvidia のビデオチップならば、Nvidia ドライバも試してみたいところですが、それは後日。

職場なもんで CentOS

カテゴリ: Linux設定・活用
|

リース期間の満了により職場で使用している PC のリプレースすることになり、新しいマシンは、ちょっと贅沢に DELL の OptiPlex 740 を、Athlon(TM) 64 X2 5600+, メモリ 4GB, HDD 250GB x2 の構成で決裁をもらい発注しました。
OS は、自分で Linux を入れるので、OS なしモデルで、その代わり VMWare Workstation と、パッケージ版の Windows Vista を購入します。

入れる Linux は、今は、新技術調査とか環境整備といった業務が多いので、自分の環境で実験できるように、実際の案件で採用することの多い RedHat Linux の clone である CentOS にします。ただし、バージョンは最新の 5 で 64bit 版を選択します。

その CentOS ですが、タイミングよく PC の到着とほぼ同じときに 5.1 がリリースされたので、自宅の OpenBlockS で rtorrent を仕込んで速攻でダウンロードし、 DVD に焼いてから職場に持ち込みました。

設置したばかりの真新しい PC の電源入れて、DVD をセットします...

ん? なんか OS が見つからないといわれます。
どうやら、OS なしモデルでも、BIOS は、とりあえず HDD ブート専用で設定されているようです。ブート直後にキーを押してメニューに入り、 DVD を指定して起動します。

今度は CentOS のロゴが表示され、OS がロードされていきます。
念のためメディアチェックを実行してから、インストール作業にかかることにします。

まずは、HDD のパーティションを決めます。

今回、ディスクが 2 台あるので、RAID を構成します。戦略は、基本はミラーリング (RAID 1) で、ワーク用に一部をストライピング (RAID 0) に、スワップ領域は RAID 不用なので、同じ位置にそれぞれ確保することにします。

16GB を / に、96GB を VMWare の仮想ディスク置き場として /vmdisk に、72GB を /home に、48GB x 2 をストライピングして /work に割り当てます。

Disk /dev/sda: 250.0 GB, 250000000000 bytes
255 heads, 63 sectors/track, 30394 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes
 
デバイス Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        2089    16779861   fd  Linux raid 自動検出
/dev/sda2            2090        2220     1052257+  82  Linux swap / Solaris
/dev/sda3            2221       14752   100663290   fd  Linux raid 自動検出
/dev/sda4           14753       30394   125644365    5  拡張領域
/dev/sda5           14753       21018    50331613+  fd  Linux raid 自動検出
/dev/sda6           21019       30394    75312688+  fd  Linux raid 自動検出
 
Disk /dev/sdb: 250.0 GB, 250000000000 bytes
255 heads, 63 sectors/track, 30394 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes
 
デバイス Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1        2089    16779861   fd  Linux raid 自動検出
/dev/sdb2            2090        2220     1052257+  82  Linux swap / Solaris
/dev/sdb3            2221       14752   100663290   fd  Linux raid 自動検出
/dev/sdb4           14753       30394   125644365    5  拡張領域
/dev/sdb5           14753       21018    50331613+  fd  Linux raid 自動検出
/dev/sdb6           21019       30394    75312688+  fd  Linux raid 自動検出

パッケージの選択は、「Desktop - Gnome」「Desktop - KDE」「Server」「Server - GUI」ぐらいを、とりあえず選択しておきます。
# 仮想化は VMWare を入れるのでスルーします。

・・・インストールが無事終了してリブートされ、インストール後の設定に入ります。

接続が社内 LAN なのでファイアウオールと SELinux は、サクっと無効にします。

全ての設定が終わり、ログイン画面が表示されました。
とりあえず、インストールは問題なくできたようです。

Gregarius のインストール

カテゴリ: Linux設定・活用
|

今まで、RSS リーダーは Firefox で Sage を使っていたのですが、これだとその PC でしか使用できないので、サーバ型の RSS リーダーをインストールしてみたいと考えていました。

OpenBlockS の OS も更新できたので、次はこのあたりに手を付けることにします。

とりあえず、Google で検索です..

む。RSS もリーダーもサーバもネットではありふれた単語すぎてかすりもしません orz
少し検索語を工夫したら、「フレッシュリーダー」というのが見つかったのですが、残念ながら x86 のバイナリしか配布していないようなので、OpenBlockS では利用できなさそうです。
仕方ないので、さらに探していくと Gregarius というのを見つけました。
GPL ライセンスで、PHP、MySQL 。条件は問題なさそうです。

早速ソースをダウンロードして、Wiki のインストール手順を読みながらインストールしてみることにします。

ドキュメントを読むと、アーカイブを展開して、設定ファイルに DB の接続情報を設定して、DB のスキーマ作成を実行するという手順で進めればよいようです。

当然ですが、Apache の Alias で、アーカイブを展開したディレクトリをアクセスできるようにする設定も必要です。

作業が済んだら、実行です...

...なんかうまくいきません。(;_;)

あらためてアーカイブに入っている INSTALL ファイルを読んでみると、 .htaccess を無効にしてみること、詳細は FAQ を読めとあります。

FAQ を読んでみると、どうやら mod_rewrite が有効になっていないのが問題のようです。
Apache の設定を変更して mod_rewrite を有効にするのと、アーカイブに含まれる .htaccess が有効になるように、AllowOverride を All に変更します。

エラーは出なくなったので、Sage に登録していた Feed を OPML で出力して読み込ませます。

更新すると RSS 集めてきて新着は表示されます。
が、サイト別に表示させるリンクがうまく動作しないようです。
エラーを見ると、どうやら mod_write の書き換えがうまくいっていないようですが、それ以外にもサイト名に日本語が含まれていると、その部分が「_」で置き換えられて潰されてしまうという問題もあるようです。これでは、mod_write の設定を追加しても、結局だめなので、先にこちらを調べることにします...

bug track 情報を見てみると、開発版の方にはそれっぽい修正がいくつか登録されているようです。
ひょっとしたら、最新版 (nightly) なら直っているかもしれません。

nightlyの最新ソースをダウンロードして再挑戦します...

ブラウザからアクセスすると、なんとメッセージが日本語化されています。ちょっとびっくりだったのですが、当初目的のタイトルに日本語を含む場合の問題もちゃんと解決しているようなので良さげです。
mod_write の方の問題は、どうやら RewriteBase を定義していないことが原因のようなので、.htaccess に 設定を追加して対策します。

Admin画面を見ていくと、テーマ (デザイン) も変更できるようです。
試しに、テーマをデフォルトから記事を見出し行だけに折り畳めるやつに変更します。これなら購読しているサイトが多くなって未読記事が増えても、ある程度はうるさくなるのを防げそうです。

IRC サーバを Etch でビルド

カテゴリ: Linux設定・活用
|

このサーバには、身内の連絡用途で IRC サーバを立ち上げてあります。
あまり活用はしていないのですが、せっかくなので、これも Etch に持っていくことにします。

Sarge のときには、IRCNET-JP の IRCサーバソフトウェアから irc2.10.3p7+hemp2+jp6 を入れていたので、そのときのソースをそのまま利用することにします。

同じソースで同じ設定でよいのだから、前回やったことを思い出せれば楽勝・・・と思ったら、甘かったです。(^^;;;;;

まぁ順を追って書くと、

ソースを展開して、configure。ここまでは問題なし。次に、config.h を編集する訳ですが、前回は変更点をメモしていなかったので、前回のビルドしたときのディレクトリと新規に展開したディレクトリの diff を取って確認します。

変更点はこんな感じ。

#undef OPER_SET
#undef SPLIT_HANDLE
#define SPLIT_SERV  1
#define SPLIT_USERS 1
#undef DELAY_ACCEPT

終わったら、make all でコンパイルします・・・
う。なんかエラーが出ます。Sarge では問題なかったので Etch で gcc 4.1.2 に変わった関係でしょうか。このまま諦めるのも癪なので修正をかけてなんとかしてみます・・・
結構大変ですが、なんとかコンパイルは通り・・・あれ?リンクでもエラーが出ます。(;_;)

メッセージを見ると、数学関係の関数でエラーになっているようなので、Makefile を編集して libm を追加してみます。

LIBS = -lnsl -lcrypt -lm

再コンパイル・・・正常終了しました。OK。
make install して、ircd.conf を、旧サーバからコピー、起動します。
PC から CHOCOA を起動して繋いでみます。まぁ基本的なところでは問題ないようです。
同じことを本番でもう一回する必要があるので、今回の変更点を patch にしておきます。

diff -crN ../tmp/irc2.10.3p7+hemp2+jp6/ircd ircd > ../ircd.patch

# 適当なものでも、パッチが欲しいひとは こちら

Apache 更新計画

カテゴリ: Linux設定・活用
|

自宅サーバの Etch バージョンアップのために、設定しているVMWare の仮環境ですが、続いてはメインとなる Web 関係にかかります。

とりあえず、今回予定さしているバージョンの動きは、こんな感じです。

パッケージで入れていたもの:

  • apache 2.0.54 → 2.2.3
  • OpenSSL 0.9.7e → 0.9.8e
  • php 4.3.10 → 5.2.0
  • perl 5.8.4 → 5.8.8
  • squirrelMail 1.4.4 → 1.4.9a

自分で入れていたもの:

  • rep2 ※ 最新版にアップ済 [PHP]
  • Movable-type 3.2 => 4.0 [Perl]
  • mt4i 2.0 => 2.2 [PHP]
  • qr_img.cgi (変更しない) [Perl]

パッケージの依存関係確認したら、問題なさそうなので、PHPも 5系まであげてみることにします。

とりあえず、静的コンテンツとか、rep2と、qr_img.cgiは、ディレクトリごと tarでまとめて持ってきてみて、動かしてみることにします・・・

apache2/sites-available/default も、旧サーバから持ってきて置きます。

rep2は OK。qr_img.cgi は、gd が無くてエラーになってので、パッケージをインストールして再実行します。
今度は OK。

続いて、必要なモジュールを有効にします。

# cd /etc/apache2/mods-enabled
# ln -s ../mods-available/include.load .
# ln -s ../mods-available/encoding.load .
# ln -s ../mods-available/dav* .
# ln -s ../mods-available/ssl.* .
# ln -s ../mods-available/userdir.* .

ん? mod_dav_lock というのが増えているようです。

http://httpd.apache.org/docs/2.2/ja/mod/mod_dav_lock.html

ふむ・・・subversion 使わなければ、必要ないのかな・・・
ちょっと微妙。


次に WebDAV と、squirrelMail ですが、こいつらは SSL でアクセスするので、その前に OpenSSL を設定します。

OpenSSL で、前回作成した証明書は、有効期限が 1ヶ月しかないものを作ってしまい、失敗したので、今度は絶対問題ないスパンで有効期限を設定することにします。

まず /etc/ssl/openssl.cnf を編集します。

次に鍵を作成します。

# openssl genrsa -out ca.key -des3 1024

続いて証明書を作成します。(-days 9999で 9999日有効なものを作成)

# openssl req -new -x509 -days 9999 -key ca.key -out ca.crt

パスフレーズを除きます。

# openssl rsa -in ca.key -out server.key

作成した証明書を https と、imaps 用にコピーします。

# chmod 600 server.key
# cp ca.crt /etc/apache2/ssl.crt
# cp ca.crt /etc/ssl/certs/dovecot.pem
# cp server.key /etc/apache2/ssl.key
# cp server.key /etc/ssl/private/dovecot.pem

旧サーバでの記述を参考に apache2/sites-available/ssl を作成して sites-enabled にリンクします。

後は、BASIC 認証のために .htpasswd を作成しておきます。

OK。
次回は、メイン中のメイン、Movable Type にかかることにします...

Etch 始動

カテゴリ: Linux設定・活用
|

ネットワークが開通したら、次は apt の設定です。

まずは /etc/apt/sources.list の取得先を Ring サーバに変更します。

deb http://www.ring.gr.jp/archives/linux/debian/debian/ etch main contrib non-free
deb-src http://www.ring.gr.jp/archives/linux/debian/debian/ etch main contrib non-free

で、「apt-get update」でパッケージインデックスの再同期を行います・・・
ん? なんか GPG error とか出ます。
どうやら VM を作成したひとが追加していたアンオフィシャルのリポジトリについての公開鍵がないといっているようです。

ちょっと調べると、以下の手順を行うと解決できるようです。

gpg --keyserver pgp.nic.ad.jp --recv-keys エラーに含まれるコード
gpg --armor --export エラーに含まれるコード | apt-key add -

OK。
続けて現在インストールされているものを最新にしておきます。

# apt-get upgrade

設定できたら、apt-get。
最終的に入れたパッケージはだいたいこんな感じ・・・

基本:
hdparm smartmontools
jless screen tcsh unzip bzip2 nkf locales manpages-ja
telnet ftp dnsutils lynx ncftp w3m rtorrent
emacs ispell wl 
開発:
gcc make libc6-dev patch manpages-ja-dev libxml2-dev libxml-dev
WWWサーバ、Movable Typeなどで必要なもの:
apache2 php5 php-pear analog libapache2-mod-encoding
imagemagick perlmagick libgd-gd1-perl
libxml-atom-perl libjcode-pm-perl libarchive-tar-perl libarchive-zip-perl
メールサーバ:
exim4 dovecot-common dovecot-imapd fetchmail fetchmailconf
squirrelmail squirrelmail-locales
その他サーバ:
ftpd ntpdate openntpd openssh-server openssl telnetd bind9 samba swat
MySQL:
mysql-server php5-mysql

インストールできたら、次は設定です。
今回は旧サーバもあるので、移せるものはコピーで済ませます。
とりあえずは、軽めのところから・・・

#### 日本語環境の設定
# dpkg-reconfigure locales
#### NTP サーバを ntp.ring.gr.jp に変更)
# vi /etc/openntpd/ntpd.conf
#### ssh のセキュリティ設定を強化
# vi /etc/ssh/sshd_config (PermitRootLogin と、PasswordAuthentication を no に)
# vi /etc/hosts.deny
# vi /etc/hosts.allow
#### DNS 設定を旧サーバからコピー
# cd /etc/bind/
#  GET db.* named.conf.local named.conf.options
#### SMTP (Exim4) の設定をコピー
# cd /etc/exim4
# GET update-exim4.conf.conf
# update-exim4.conf
#### IMAP (dovecot) の設定を編集
# vi /etc/dovecot/dovecot.conf (protocols = imap imaps)

ちょっと長くなったので、今回はここまで・・・

バージョンアップの季節

カテゴリ: Linux設定・活用
|

環境が固まった以後は動きのなかったこのサーバですが、先日、Debian の Etch に入れ直して再設定しました。

このブログも長らく放置ぎみだったのですが、ネタもいろいろできたのでちょっと書いてみたいと思います。

今回、OS を入れ直すハメに陥ったのは、ある「気づいてはいたけど、あまり重要とは思わず放置していたひとつのこと」、すなわち「apt のリポジトリが unstable/testing に設定されている」ことが原因でした。

インストールした当時は、sarge がリリースされてから、さほど時間がたっていなかったので、testing と、sarge の差はほとんどなく、testing のままでも実害もなかったのですが、2 年近く経過し、次の etch がリリースされた今となっては、
testing と環境の差は非常に大きく、もはやアップグレードに利用できるものでは無くなっていました。

それに気づいて、あわててリポジトリを sarge に変更するも、既に遅く、微妙に sargeから外れたバージョンに更新されたパッケージが矛盾を引き起こして、エラーになってうまくいきません。

しようがないので、あきらめて、今度は 一気に etch まで、dist-upgrade を試みるも、カーネルが 2.6 になる関係でうまくいかないようです。

万事休す・・・どうやら再インストールするのが早そうです。

せめてもの救いは、OpenBlockS266 用に 新しい etch のイメージが
公開されているので、単なる再インストールではなく、バージョンアップも
できることでしょうか。

GW と自宅サーバ

カテゴリ: Linux設定・活用
|

連休中は、実家の方に帰省しています。実家は黒電話が唯一の通信手段という素敵な環境ですので、ネットには WX-310K で接続していたりします。(^^;;;;;;

自宅(アパート)の環境は、基本的に OpenBlockS で構築で構築したサーバを中心に、できるだけ、サーバサイドで処理を行わせて、部屋の中で使う端末 (PC) が変わったり、ノートPCを持ち出して接続ネットワークが変わったりしても、できるだけ違和感なく作業ができるように、工夫していたりします。

この工夫の中心が、OpenBlocks に立てている内向けの DNS サーバです。

このサイト、morishoji.homelinux.net は、以前書いたように、DynDNS.comのサービスを利用してアドレスを公開しているのですが、普段自宅で使用するときのため、下記の設定で BIND を起動して、LAN を使用する場合は、デフォルト DNS を OpenBlockS に設定するようにしています。

(ちょっと長いので、設定方法の詳細は、追記に記載します)

analogでアクセス解析

カテゴリ: Linux設定・活用
|

このブログも、もう少しで開始から 3ヶ月になり、エントリー数も 50になります。まだまだ、駆け出しの域は出ないとは思うのですが、そろそろログをなんとなく眺めるだけでなく、ツールを使って解析してみることにしました。

ツールとしては、もはや古典の類かもしれませんが、analogを使うことにします。

何故、analogかというと、以前仕事で構築したサイトにインストールしたことがあって、そのとき設定方法などを調べて調整したことがあったので、勝手が分かってるからというのが理由です。

analogを使うと以下のようなことを知ることが出来ます。(主なものです)

  • 月ごとのアクセス数の推移
  • 日ごとのアクセス数の推移
  • 曜日ごとののアクセス数の推移
  • 時間によるアクセス数の推移
  • ブラウザ・UAの割合
  • 利用している OSの割合
  • アクセス元ドメインの割合
  • どのページが多く見られているか
  • 検索サイトから着た場合の検索語

逆に以下のようなことは、(簡単には) 求められません。

  • ユニーク訪問者数 (作者の主義らしいので、analogで実現されることはないでようです)
  • 複数の条件の相関 (Firefoxでアクセスするひとに人気のページなど)
    特定の条件の組み合わせのみならば除外条件などを組み合わせれば可能ですが、データウェアハウスのようにマトリックスやキューブを作成するようなことは出来ないといっていいと思います。

Debianでは、パッケージがあるようですので、手っ取り早く apt-getでインストールします。

インストールが出来たら、解析結果と、access.logを見ながら、自分のブログにあわせて analog.cfgを調整していきます...

どうやら最新版では、日本語の検索語が URLエンコードされたままで、集計されて表示されてしまい、そのままでは役にたたないので、簡単な Perlのスクリプトを作って、生成した index.htmlをデコードすることにしました。.

/etc/analog.cfgで追加したものと、作成した index.htmlの日本語の検索語をデコードするスクリプトは、長くなるので追記に記述します...

京ぽん2 WX310Kで QRコードリーダが使えるようになったので、どうせなら自分のサーバで生成させてみることにします。

検索するといろいろ引っ掛かりますが、Debian Linuxが動いている OpenBlockSで CGIとして動かすことを考えれば、「QRcode Perl CGI & PHP scripts ver. 0.50」あたりがよさそうです。

まずサイトからアーカイブをダウンロードして展開します。
ドキュメントを読むと、どうやら GDと GDを Perlからアクセスするモジュールが必要なようなので、apt-getします。
最後に必要なファイルを cgi-binに移動、ドキュメントに従いスクリプトの頭に書かれているディレクトリの場所設定などを書き換えて起動してみます...

クエリパラメタの「d」にエンコードしたいデータを渡せばよいようなので、
http://morishoji.homelinux.net/cgi-bin/qr_img.cgi ?d=http://morishoji.homelinux.net/mt/mt4i.cgi
で、先月インストールした MT4iにアクセスするための URLをエンコードしてみます。

QRコードらしきものが表示されたので、京ぽん2で読み取らせてみます。OK

QRコードの画像はブログのメニューに追加しようと思うので、ブラウザで名前をつけて保存しておきます。

なんか調子が出てきたのでもう少し面白いことが出来ないか考えてみます...

・・・QRコードは結構長いデータでも OKなようです...
・・・読み込んだデータはブックマークに保存出来るようです...

それなら、Bookmarkletを QRコード化するってのはどうでしょうか?
京ぽんは、ユーティリティを使わないと登録できなかった記憶があるので、QRコードで登録出来れば便利そうです。

Bookmarkletを変換するのなら登録用のフォームもないと不便なので、即興で作成します。

http://morishoji.homelinux.net/qr.html

Bookmarkletは、京ぽんのときの定番の 「boxonさんのBookmarkletのページ」から拾います。

QRコードには問題なく変換できましたが、文字数が多いので結構大きな画像になってしまいました...

ともかく京2で読み取らせてみます...む。大きいので赤枠の中に入りません... orz

でも、カメラを引くとピンボケしてうまく読み取れないようです。画像の方をリサイズしないとダメなんでしょうか...
とりあえずダメ元で赤枠は無視して画面いっぱい使用して撮影してみます...

お、成功しました。いけるようです...

よし、じゃあブックマーク登録...あれ?メニューにブックマーク登録がありません。
どうやら、URLとして認識されないとブックマークには登録できないようです... orz

できることは、保存かコピーだけのようです... orz

仕方ないので、コピーで登録することにします...むむ。コピー出来るのは相変わらず 128文字までのようです... orz

・・・なんか手はないんでしょうか...考えます...

あ、ひょっとしたら、「http://」で始めておけば、ブックマークするが出るかもしれません。さっそく試してみます...

ブックマークのメニューが出てます!!よし登録を...

あれ?良く見たらURL欄に「"」の手前までしか入っていません。どうやらパターンマッチングで URLを切り出しているようです... orz

うーむ。、なんか簡単に登録とはいかないようです...どうやら没かなぁ。この企画... orz

リスと雷鳥とIMAP

カテゴリ: Linux設定・活用
|

IMAPは、メーラーの機能のうち、メールボックスの管理をサーバ側に移して、メーラーはユーザーインターフェイスに特化しましょうという、理想は高いけど使い物になるレベルまでいくのは中々難しそうな規格だなぁというのが、私の認識でした。
そんな訳で、存在を知ったのは随分昔なのですが、ずっと様子見のまま今に至っています。
今回、IMAPが実用に耐えるレベルまで成熟しているのであれば、私のニーズを十分に満たすはずだし、どれぐらいのことが出来るのか興味もあるんでトライしてみることにします。
で、入れるとは決めたのですが、今まで一度も入れる気になったことがないものなので、世の中にはどんなプログラムが公開されているのかとか動向を全然押さえていません。(^^;;;;;;;;;;;
まず、@ITみたいなサイトの記事を読んで状況を把握するところからはじめます。
選択肢としとては、UW-IMAP, Courier IMAP, Cyrus IMAP, Dovecot ぐらいがあるようです。その中で、UW-IMAPはリファレンス実装的な位置づけだけど、ちょっと遅いというぐらいが定説である以外は特別優劣はないように見えます。(Courier IMAPは Maildirに特化しているため、MTAの選択によっては使えないようですが、今回は Maildir形式なので問題なさそうです)
OpenBlockSは非力なので、UW-IMAPは外したのですが、他は特に決め手になる情報も見つからなかったので、ネットで調べていて、最近一番伸びている雰囲気が感じた Dovecotを入れてみることにします。
Debianでは dovecotは、パッケージがあるので、インストール自体は apt-getで終了します。
設定も /etc/dovecot/dovecot.confの以下の行を修正するだけで OKのようです。

 protocols = imap imaps

設定して再起動したら、次はメーラー側です。
メーラーは、前から使用している Thunderbirdが、IMAPに対応しているようなので、そのまま使用します。
メニューのツールからアカウント設定を選択して設定画面を表示し、左下のアカウントの追加ボタンを押して IMAPを使用するアカウントを追加します。終わったらアクセスしてみます。パスワードを入力してフォルダを開くと Exim4の設定をしたときのテストメールが出てきます。とりあえずうまくいったようです。
気を良くして、某MLの 1997年からのアーカイブを展開してみます。(^^;;;;;;;;;;;;;;;;;
アクセスすると、頑張ってはくれるのですが、さすがにちょっと遅いです。(^^;;;;;;;;;;;;;;;;;;;;;;;
まぁこれはしょうがないかと諦めて年ごとにサブホルダーを分割して移動することにします。

続いて WebMailを入れるのですが、これは IMAPを使っている環境では SquirrelMailが良さそうな感じなので、使ってみることにします。
これも、インストールは apt-getで可能なのですが、WebMailなので、Apacheの設定変更も必要です。
一通り設定して、アクセスすると日本語が出ないようです。一瞬「あれミスったかな?」と思ったのですが、ログインしてからオプションの表示オプションの画面を開いて言語を Japaneseにすると問題なく表示され、やれやれです。
ただ、例の MLのフォルダーはタイムアウトしてしまい表示できません。SquirrelMailの設定にも特にないので、色々調べたところ、SquirrelMailではなく PHPが出していることが分かったので、php.iniを以下のように変更します。

 default_socket_timeout = 60
 memory_limit = 16M

これで、遅いながらも表示されるようになったので OKとします。 (^^;;;
お約束で、京ぽんのスモールスクリーンモードでアクセスして表示を確認してみます。
OK。
最後は、Emacsからの参照なんですが、最初は普段使っている Mewが、IMAPをサポートしているらしいので、そのまま使うつもりでした。が、実際やってみると、確かに受信は出来るものの、ちゃんとIMAPをサポートしているといえるレベルはないようなので、止めて他をあたってみることにします。
Googleの結果をみていくと、どうやら Wanderlustが良さそうな感じです。パッケージもあるようなので、apt-getして設定していきます。
少し使ってみた限りは、確かに Mewと操作が似ていて、違和感も少なく、いい感じのようです。

謎の MTA Exim4

カテゴリ: Linux設定・活用
| | コメント(1)

メールの設定ということで、最初に OpenBlockSの MTAからかかろうと思います。
そういえば Debianは標準MTAとして何を選択してるんだっけ?気にしたことがなかったんで軽く調べてみます。
Exim4?? 初めて目にする名前です。(^^;;;;;;;;;
そういえば、base-configしたときに見たような気がしますが、そのときは、メール関連だと認識したものの、まさか MTAだと思わなかったので、スキップしてしまいました。 (^^;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

私自身、今まで設定経験があるMTAは、sendmailと qmailなんで、そちらに乗せ変えてもいいんだろうけど、 出来るだけ Debianの流儀に従うポリシーにより、Exim4を使ってみることにします。
気分は、「見せてもらおうじゃないか、Debianの MTAの実力とやらを。」という感じなんですが、MTAは設定してあげないと基本的に使えない(使ってはいけない)ものだし、見たことがないソフトの設定がすぐ出来るわけもないので、とりあえず設定方法を解説しているサイトを Googleで探すことにします。(弱っ)

基本的なところは、dpkg-reconfigure exim4-configで、パッケージの再設定プログラムを起動してメニュー形式で行い、後は必要に応じて設定ファイルを手で修正していく流れのようです。
とりあえず、メニューを立ち上げて設定を行います。まず設定を分割するかどうかと聞かれて、悩んだのですが、どう分割されるか見てみたいので、Yesを答えます。次のタイプはインターネットサイトを選択、以下サイトに関する情報を設定していきます。
設定メニューを全部こなすと、自動的にExim4がリスタートされ変更が有効になるのですが、設定方法を調べているときに見かけた、設定すれば Maildir形式を使用できるというのもやっておこうと思います。「/etc/exim4/exim4.conf.templateにあるLOCAL_DELIVERYがmail_spoolとなっているので、それをmaildir_homeに書き換えるだけです。」というのに従って LOCAL_DELIVERYを探すのですが、さっき設定を分割したので大変です。(^^;;;;;;;;;;;;;;;;
探し当ててみると、
LOCAL_DELIVERY=DEBCONFlocaldeliveryDEBCONF
なんか直接編集すると不味そうな感じなので、もう少し調べてみると、
どうやら「/etc/exim4/update-exim4.conf.confに dc_localdelivery='maildir_home'を追加する」
ほうがよさそうです。
見てみると update-exim4.conf.confは、さっきのメニューで答えた内容を保存しているようで、メニュー外でも主なものは、ここに記述し、さらに詳細に設定を調整したいときだけ、分割された大量の設定ファイルに取り組む必要が出てくるというのが Debianのポリシーのようです。

設定が出来たら、まずローカルユーザ間でメールの送信を確認、うまくいかないときは /var/log/exim4/main.logをチェックしながら調整していき、ローカルが問題なくなったら、 DIONの MTAとの間でうまくいくかを確認していきます...

Apacheと WebDAV

カテゴリ: Linux設定・活用
|

OSとして必要なものを思いつくだけ入れたら、いよいよサービスの構築にかかります。
やりたいことは色々あるのですが、手始めに以前から気になっていた WebDAVサーバをやってみようと思います。
(※自分専用サービスなので公開はしてないです。あしからず)

まず、apt-cache searchで、apache2関連のパッケージを探して、入れるものを決めます。
決まったら、即 apt-get。もう慣れたものです。(^^;;
インストールが済んだら /etcに移動して設定ファイルを探します。どうやら、/etc/apache2以下がそのようなのですが、Debian固有(?)の構成になっているようです。まぁApacheの仕様に沿ってさえいれば、とりあえずの問題はないのですが、パッケージでアップデートしたとき痛い目にあう可能性があるので、出来るだけDebian流に従うことを目標にします。
まず、dpkg -Lで「何処に」「何が」インストールされたかを表示させて確認します。ドキュメントの場所と、キーになりそうなファイル・ディレクトリを押さえて、ネットも調べながら作業を進めます。

調べていくと、どうやらWebDAVは、apache2-commonに含まれているようですが、日本語ディレクトリを使う場合、mod_encodingというのが要るようなので apt-getしておきます。また、どうせなら SSLでアクセスしたいので、OpenSSLも入れます。パッケージがだいたい揃ったら、WebDAV用のディレクトリを作成して設定ファイルの記述にかかります。
とりあえず、標準のやりかたをまねてと思って、httpd.confと、apache2.confを開いたのですが、 DocumentRootの記述が見当たりません。仕方がないので検索します。ディレクトリは、/var/wwwのようなので、
# cd /etc/apache2
# grep /var/www * */*
を実行。sites-available/defaultに記述があるようなので開いてみます。どうやら、ここに VirtualHostごとにファイルを分けて作成して置くのが流儀と理解したので defaultをコピー。webdavファイルを作成して、編集していきます。
--
編集が終了したら Apacheをリスタートして変更を反映させます。試しに Windowsから、「ネットワークプレイスの追加」を行ってみます。「入力したフォルダは有効でないようです」で進めません。ダメなようですが、どうおかしいのか分かりません。(;_;)
--
切り分けのため、普通に Firefoxでアクセスしてみます。
「接続を確立できませんでした」
あらら、WebDAV以前の問題のようです。(恥)
ちゃんと調べると、作成したファイルを有効にするためには、site-enabledからリンクしておく必要があるようです。
リンクを設定して、リスタートすると今度は Apacheがエラーになります。エラーメッセージを読むと、SSLが組み込まれていないように見えるのですが、OpenSSLはちょっと前にインストールしたはずです。何故でしょう?
予定外の場所での足踏みにイライラしながらも調べていくと、どうやらモジュールについても実際に使うものを mods-enabledにリンクしておく必要があることが判明しました。この作業は a2enmodというコマンドで行うのが推奨のようです。
モジュールを有効にして再度リスタート。
Firefoxでアクセスします...OK。
ネットワークプレイスの追加を行います。問題なし。
試しに適当なファイルを置いてみます。問題なし。
OpenBlockSにログインして確認します。OK。
Windowsでファイル名を日本語にしてみます。
Linuxで lsすると ??????だけど Windowsでは問題ないようです。
Linuxでも、言語を UTF-8にして lsするとちゃんと出ます。OK。
結局、WebDAVより、Apacheの設定ファイル群の扱いの方に振り回されてしまいました。やれやれ。

Debian 怒涛の apt-get

カテゴリ: Linux設定・活用
|

シリアルを繋いでリブートした OpenBlockS、ifconfigで見ると、eth0の設定もうまくいっているようです。よしよし、これなら簡単かなと思って、base-configを起動して初期設定にかかります。普通に PCに入れるのと同じ要領でほいほい進めていたら、追加パッケージを入れるところで問題発生、

E: This installation run will require temporarily removing the essential package e2fsprogs due to a Conflicts/Pre-Depends loop. This is often bad, but if you really want to do it, activate the APT::Force-LoopBreak option.
E: Internal Error, Could not early remove e2fsprogs

てなエラーで止まります。apt-get, aptiudeでなにをやってもダメ。いろいろ試しているうちに、変な状態になって、base-configまで削除されたりして、完全にハマリ状態です...

やっぱり debianって(ry
とか、かなり投げやりな気分になってきたのですが、もう、これ以上壊れたら最初からやり直すつもりで、エラーメッセージにあるエラー無視オプションをつけてapt-get実行してみました。
--
なんか、メッセージはいろいろ出ますが、とりあえず、あの憎らしいメッセージは出ていないようです。
--
ちょっと前に apt-getに失敗したパッケージのインストールを再度実行して試してもうまくいくようです。
--
うまくいかないときに、メニュー式のツールを使うと傷が広がるという経験を元に、腹をくくって、思いつく順に、片っ端から apt-getしていくことにします。
とりあえずは、リモートアクセス系、telnetd, ftpd, sshなんかを入れたいんですが、手元に CD-ROMがあるわけではないので、何を apt-getすればいいのか、いまいち分かりません。
いちいち Googleで検索すれば、調べることは可能ですが、これでは時間がどれだけあっても足りません。
もっといい方法はないのかと調べてみると、
apt-cache search キーワード
で、関連するパッケージをリストしてくれるらしいことが分かりました。
これは便利ということで、思いつくままパッケージを探して apt-getする作業を繰り返します...

ぷらっとホームが配布している Debianですが、実は最初はどうかなぁと思ってました。
主な理由は、READMEを読むとどうやら、基本部分しか含まれていないようだからです。(^^;;;;;
自分では Linuxは、いろいろ入れたことがある(Debianも大昔に 1.3(bo)を Libretto 50に入れたことがあるだけだけど)んで、それなりに上級者だと思っているんだけど、考えれば CD(DVD)-ROMからしか入れたことがなかったんで、配布されているものが全てという印象を無意識にもっていたようです。

で、Googleで調べて見つけていた Vine Linuxを入れるサイトを読んでみると、どうやら主にMac用の PowerPC版のディストリに手を加えてインストールするようでした。
実はこのサイトを読むまで、自分が買った OpenBlockSがPowerPCを採用していることと、それゆえ、PowerPC用に作成されたパッケージが使える可能性があることに気づいてませんでした。 (^^;;;;;;;;;;;;;;;;;;;;;;;;;;;

で、その瞬間に了解しました。Debianでも、ハードウェアに依存する基本部分さえ入れれば、後は普通に PowerPC用のパッケージがネットからインストールできるから、基本だけ配布すればいいんだと。

なら、久しく使っていなかった Debianを使ってみようということで、再度ぷらっとホームのページに行って READMEを読み、配布アーカイブをダウンロードします。

HDDのパーティションを切ってフォーマットし、ダウンロードしたファイルを展開して設定作業を進めていきます。
よく読むとここで、作業上1つ小さな問題が見つかりました。大したことではないのですが、Debianを入れる場合、シリアルで接続しての作業が必須のようです。普段作業で使っているノート(Mebius MP50G)は、シリアルポートが付いていないので、繋ぐためには USBシリアルを買わねばなりません。あるいは、ノートPCの特権である こたつ作業をあきらめてキューブPCを起動してそちらから作業するかです。(^^;;;;;;;;;;;;;;;;;;;;;;;;;;

結局、わざわざ USBシリアルを買うのもなんなので、寒いのは我慢して、久しぶりに Athlon64搭載のキューブPCを立ち上げて、OpenBlockSに付属のケーブルで接続します。
で、端末ソフトなのですが、大した作業ではないし Windowsのおまけのハイパーターミナルでいいかなぁと思って立ち上げてみたのですが、どうもうまくないようで、アクセスできません。あまり時間をかけても仕方がないので、別のターミナルソフトを入れてみることにしました。
ここで、まず考えられるのは、仕事でも使っている定番 TeraTermなんですが、最近開発も止まっていて、もっといいのがあるという話も聞くので、少し調べて、Poderosaというのを入れてみました。
端末ソフトを Poderosaに変えてシリアルにアクセスすると、問題なくアクセス可能。気を良くして作業を続けます...



ナビゲーション

最近のコメント


最近のコメントを表示...
Powered by Movable Type 7.1.1