友人

AMAZON

  • AMAZON
無料ブログはココログ

« 2008年1月 | トップページ | 2008年3月 »

2008年2月

2008年2月28日 (木)

Fedora 8 で四苦八苦 SNMPとMRTG編

 SNMPとMRTGはピィ〜ンと来ない方も居られると思います。
 私もSNMPはインテルLANカードを使用した時に変な規格だなぁ〜と思っていた程度でした。
 御自宅サーバーでは導入する度合いは低いと思いますが、イタズラ心に溢れている方は試してみてください。
 SNMPはネットワーク機器をネットワーク経由で監視するためのプロトコルで「Simple Network Management Protocol」と言われるそうです。
 後述するMRTGとの組み合わせでISPや大手通信会社で表示されるトラフィックグラフが簡単に作成できるものです(MRTGはSNMP越にデータを取得しHTML化して出力するものです)。

 SNMPで得られるものとしてはサーバーやルータ(対応しているものは高級品ばかりですょ)のシステム情報、LANカードのハードウェア情報、通過しているIP情報等です。
 Windowsのレジストリに書き込まれているようなハードウェア情報を読み取るものと思ってください。その他にIP等が追加されているあたりがネットワーク用ってことです。
 SNMPでは、これらの情報を取得するアドレスみたいなものが標準化されており、MIBと称されています。MIBはツリー構造を成しており、特定のMIB番号を指定して、それに対応する情報を得る…というものです。
 まずはMIBツリーを実際に出力したものをサンプル添付しておきます。
  「snmp_list.txt」をダウンロード

 次にsnmpdの設定を行います。Fedora8での定義ファイルは/etc/snmp/snmpd.confとなっています。こちらもサンプルを添付しておきます。余計なコメント行は削除しています。
  「snmpd.conf.sample」をダウンロード

 snmpd自身はsnmpクライアントからの要求がなければ状態を返すことはありません。今回はRead属性だけを許可していますがWrite属性を許可するとシステム情報をイタズラされる基となります。このため、一見不要に思ってアンインストールすることは好ましいことですが、これから記載するMRTGを使用する際はSNMPが実行されている必要があります。
 snmpを使用する際はlm_sensorsパッケージが必要になります。lm_sensorsはWindowsの自作PCでは添付されていることが多いマザーボード温度監視ツールなんかのLinux版と思ってください。

 MRTGは「Multi Router Traffic Grapher」の略らしく、和訳すると「多くのルーター上のトラフィックをグラフ化する」ということになります。
 よってグラフ化するのがMRTGで、その基となるのがSNMPになります。
 MRTGの定義ファイルはFedora8の場合、/etc/mrtg/mrtg.cfgファイルです。コマンドで作成できますので次のようなコマンドを使用します(長いけど1行)。
 #>cfgmaker --out=/etc/mrtg/mrtg.cfg --global "workdir:/var/www/mrtg" --global "Language:eucjp" general@127.0.0.1
 みたいな感じです。
 --globalオプションを見て欲しいのですが、1個目はMRTGで作成されたHTMLファイルの出力先ディレクトリ、2個目は言語コードでutf-8はダメらしい。最後はsnmpd.confのcom2secラインの最後にあるコミュニティ名称となっています。
 次に最近ではギガビットイーサネットが当たり前になっていますので桁溢れ対策としてmrtg.cfgを修正しておきます。
 次の記載で探し出して欲しい。
  Target[127.0.0.1_1]: 1:general@127.0.0.1
 この行の終わりに:を5個と2を加える(以下のように修正する)。
  Target[127.0.0.1_1]: 1:general@127.0.0.1:::::2

 設定が完了したら実際に起動させる。最初と2〜3回目迄はエラーが出力されますが異常ではない模様です。私のところでも2回目まではエラーが出ましたが3回目以降はエラー出力されなくなりました。
  LANG=ja_JP.eucJP mrtg /etc/mrtg/mrtg.cfg
 /var/www/mrtg/以下にファイルと図が作成されていると思います。
 それがmrtgの実行結果です。
 あとはFedora8ではデフォルトで5分に1回実行するようにcrondで指定されています。
 しかし、index.htmlファイルがないのでイチいちファイル名称を入れてやるか、ディレクトリ表示を有効にしなければならないのでindex.htmlを作成します。
  indexmaker /etc/mrtg/mrtg.cfg > /var/www/mrtg/index.html
 これでmrtg.cfgファイルの中身からindex.htmlを作成してくれます。ただし、ethnだけが作成され、loは作成されません。
 またmrtgの出力するページはEUC-JPと指定されているらしいので、apacheでmrtgを定義している部分の最後のあたりにでも次のものを入れておくと良いらしい。
   AddDefaultCharset off
 mrtgをhttp://www.inter.net/mrtg/にしても、http://mrtg.inter.net/にしても今回は定義ファイルを用意していませんので各人で作成してみてください。
 本ブログの過去記事にWeb編や折に触れてホスティング設定ファイルを使用していますので参考にしてみてください。

 まぁMRTGの結果も2〜3か月ほど溜め込めれば面白いグラフになると思いますょ。

2008年2月27日 (水)

Fedora 8 で四苦八苦 ヨタ話5 HDDトラブる

 拙者の「WordPressテストサイト」に記載しましたが、ハードディスク(論理)にエラーが発生しました。
 どうもウィルススキャンで調子悪いなぁ〜と思っていたらハードディスクが原因でした。
 リカバリ後はピンピンしています。

 しかし、こうしたハードディスクとりわけファイルシステムのエラーではマシーンリソースも原因に含まれます。
 十分なリソースがあれば発生しないのですが、CPUパワーが不足していたり、メモリが不足していたりした時に発生する典型的なパターンです。
 ハードディスクもSMARTエラーはないので物理的には問題ない模様。

 ext3のジャーナルの使い方を熟知しておりませんので間違えているとも思えますが、ファイルシステムのチェックと修復は次のコマンドです。

  1. fsck ←さしずめFile System Checkの略か。Dosのchkdskとntfschkに相当
  2. fsck.ext3 /dev/sda1 ←/dev/sda1をチェックする。リカバリは都度訊かれる
  3. fsck.ext3 -y /dev/sda1 ←返事が多くて面倒な時にAll Yとするオプション

 まぁ、man fsckとかでヘルプが出ますので一読してみてください。

 こうなっては…Q9000系まで保たせるしかないなぁ。

 今買っては損にしか思えないからなぁ。
 うぅ〜インテルさぁ〜ん早く出してぇ。

2008年2月26日 (火)

住宅ローン控除(地方所得税)

 「週末雑貨」って看板立ててるので本旨に戻り…。
 タイトルにありますが確定申告真っ只中にあって頑張るお父さんの強い見方!!
 住宅ローン控除(正確には「住宅借入金等特別控除」)が熱いですょ〜!!
 国税だけの所得税が地方移譲され地方所得税として都道府県民税と市区町村税とになっています。
 昨年末までに住宅を取得し初めて住宅ローン控除が受けられる方は、今回の国税当局の手続きでイッペンにできる模様です(最も税務署に念を押すことが必要ですけど…)。
 しかし、それ以前に控除を受けていた方は、私もそうですが年末調整で終わらせて…って方が多いと思います。
 実は↑大間違い!!!!!!!!
 年末調整で還付されてくるのは国税の所得税だけです。
 地方に移譲された分の地方所得税は還付されていません。
 手続きも冷たいようですが国税当局は行いませんし、会社の税理担当も行いません(今年の確定申告で初めての方だけが国税当局でも代理受付してくれる模様)。
 全ては自分でやることになっているようです。
 ちなみに国税庁のホームページ、源泉徴収書にも書かれていますが、市区町村役場まで手続きに行く必要があります。
 当然ながら役所ですので締切があります。
 年末調整で還付金が一昨年よりも少ないと感じたら地方所得税の還付が期待できます。
 私の場合は源泉徴収書を受け取ってすぐ、1か月も前に手続きを終わらせましたが、ニンマリでした!!
 私の場合は特別区になりますので特別区の税務担当窓口まで行きます。
 書類を提出しますので用意するものは次のようなものです。
 源泉徴収書(原本を取られたくない方はコピーして一緒に持っていき、その場でチェックさせてコピーを控えにさせる。ただし対応は役所による)。ハンコ、年末調整に出した住宅ローン控除計算書(無くても金額が書ければOKなので会社の税理担当や給料担当に問い合わせてもOK)。
 たったのこれだけを持って市区町村窓口に行って紙を1枚書くだけで場合によっては数万円〜10万円程度まで控除対象となります。
 ちなみに特別区の場合は、都民税と区民税を一緒に都税事務所が徴収しており、都税事務所のように思えますが、手続きは区役所です。そこで都民税分と一緒に手続きが行えます。
 地方所得税も地方税の1つですので国税のように一括還付はありません。次年度に課税される月額から控除される額を差し引いた額が納税額になるようです。
 医療費還付で税務署に行ったら、その足で区役所へ住宅ローン控除もお忘れなく…。

 大事な事ですが、私は税理士や会計士の資格を持っておりませんので自分の経験で記載しております。このことを十分に御承知おきください。

 

2008年2月24日 (日)

fedor 8 で四苦八苦 wiki編 mediawikiその2

 前回の「fedora8で四苦八苦wiki編mediawiki」で記載したCSS等のテーブル表示ですが、やはり私のトンでもない勘違いがありました。
 apacheで使用するvirtual用の定義ファイルにaliasを突っ込んでおかないとダメでした。
   修正前のmediawiki.conf.sampleファイル

 このファイルの最終行</virtual>の前に次のような1行を追加してください。

alias /skins/ "/usr/share/mediawiki/skins/"

 これで内部的に処理されるhttp://<username>.inter.net/skins/が来ると、自動的に/usr/share/mediawiki/skins/ディレクトリから送出されるようになり、スキンが適用された見栄えの良いページが表示されます(defaultのmonobook)。

 ここからは推察話です。

 /skins/をalias処理しなければならなかったので、画像やマルチメディアファイル、Officeファイルをアップロードするためのディレクトリである/images/もalias処理が必要になるかもしれません。
 ちなみにfedora8では/var/www/wiki/images/ディレクトリが作成されていますが、/usr/share/mediawiki/images/ディレクトリも作成されています。これでは混乱が生じます。
 mediawikiのヘルプファイルを追いかけていますが、どうやらPATHはパスでもディレクトリパスではなく、URL-PATHと解釈されるらしいので/usr/領域へアップロードされているようならaliasで/home/側へ案内してやるのが好都合と思います。
 特にエディタ越しにアップロードするなら自動処理されますが、ftp転送を考慮すると/home/ディレクトリ側の方が維持管理しやすいからです。

 ここでフと考えついたのですが、CSSファイル群も/usr/ディレクトリ側にあります。よってyum喰らったら書き換えられてしまいます。
 ということは今のCSSファイル群を/home/側へ全部コピーしておき、そこへaliasかけてやれば…ftp転送で管理しやすいCSSになると思います(実証はまだです)。
 これが出来れば公開されているカスタマイズスキンも比較的に簡単に管理できると思います。いちいちサーバー上から管理しているようでは面倒このうえない。

 大事なことですが、ln(シンボリック作成)コマンドは使用しない方が良いです。lnは元のファイルの絶対的な位置を記憶しているらしく、yumでアップデートされたり、上書き編集した際にディスク上の絶対的な位置が変化すると奇妙な動作をします。

 それにしてもmediawikiは静的ページを作成していない模様です。
 PHPとはいえ、レスポンスが低下する基だよなぁ。
 こりゃ〜moinmoinの方が私の処には向いているかなぁ。

fedora 8 で四苦八苦 wiki編 mediawiki

 fedora8でmediawikiを立ち上げてみました。
 moinよりもインストールが簡単だったような…驚。

 ただし、私が何処か勘違いしているようでCSSが有効にならず、テーブルが表示されません(ブラウザ越しにはCSS定義ファイルを読んでいるようですが一切反映されていないみたいです)。

 こりゃまた暫くは格闘になりそうです。

 さて、そんなmediawikiサイトですが以下のようになっております。

  1. サイト名: ntym.net mediawiki テストサイト
  2. URL: http://mediawiki.ntym.net/
  3. 目的: SELinux設定、リソース要求の調査ほか
  4. 制限: 管理者のみが編集権限を持ち、訪問者は閲覧のみ

 インストールの大まかな流れは次のとおりです。

  1. パッケージをインストール(ImageMagickとLaTexも必要らしい)
  2. fedora8デフォルトで/var/www/wiki/にインストールスクリプトがあるの移動
  3. 移動先はホスティングなので/home/<user>/www/public_html/とかになる
  4. MySQL(PostgreSQLでも可)上にデータベースを構築
  5. apacheを定義しておく(アクセスできれば良い程度で単純なもので充分)
  6. ブラウザからアクセスするとインストールスクリプトが実行される
  7. 入力欄を埋めていき、最後のINSTALLを押す
  8. /home/<user>/www/public_html/config/LocalSettings.phpファイルを移動
  9. 移動先は/home/<user>/www/public_html/ディレクトリ
  10. 再びアクセスしてやればトップページが表示されます。
  11. あとはLocalSettings.phpファイルでカスタマイズ

 ではサンプルファイルです。
 まずはapache定義ファイルです。こちらはホスティングの標準タイプです。
   「mediawiki.conf.sample」をダウンロード

 次はLocalSettings.phpファイルです。これからも修正が入りそうですが、とりあえずは上のように最低限のセキュリティを入れてあるものです。
   「LocalSettings.php.sample」をダウンロード

 Redirect.phpが動作しているようなのでCSSが反映されない原因が掴めていません。
 それとfedora8のmediawikiも動作権限は<apache:apache>ですので適宜、chownとchmodはお忘れなく。特にLocalSettings.phpファイルにはパスワードが平文で記載されていますのでanotherユーザーからは見れないようにしておく必要があります。
 ちなみに私は<username:apache>で660にしましたが、動作しています。
 SELinuxもMoinと共にスクリプトで警告が出されますのでEnforceな方はEnableモジュールが必要になると思います。

2008年2月23日 (土)

fedora 8 で四苦八苦 wiki編 moin その3

 前回「fedora8で四苦八苦 wiki編moinその2」で記載しましたが、テストサイトを公開運用しました。
 アドレス等はつぎのとおりです。

  • サイト名: ntym.net moin wiki テストサイト
  • intername: ntym.net moin wiki test site
  • URL: http://moinmoin.ntym.net/
  • 目的: SELinux設定、リソース要求等を収集するため
  • 制限: 管理者権限(私個人)を有するものが編集でき、訪問者は閲覧のみ

 彼方此方の先駆サイトを見ると、SPAMもあるようですから対策しました。
 もっともrobots.txt位は定義しておいて.pyとか.cgiは収集否対象にしないとなぁ。

 その「moin wiki テストサイト」ですが、今のところはthemeをexplorerにしてありますが気まぐれ的に変更します。explorerは一般公開用というよりも管理者プリファレンスで便利に思います(msdnとかadobeオンラインヘルプのような感じです)。一般公開用ではデフォルトのmodernかmentalwealthがシックり来ますねぇ。

 では、いつものようにサンプルを交えて書いていきます。

 まずはfedora8ではパッケージとして用意されており、バージョンは1.5.8となっています(moin公式サイトでは1.6.1が公開されています)。

 余計な話をとばして読み進めたい方は、こちらのファイル(手動操作ログ)を見てください。
   「moinsetup.txt」をダウンロード

 それと、最初はヘボばかりしていましたので、失敗ネタを見たい方はコチラもどうぞ(手動操作ログ+下手な和訳)
   「moinsetup_missed.txt」をダウンロード

 まずは必要なファイルをコピーしてパーミッションやオウナーを変更する。
 その後にapacheを定義する。
 apacheの定義では当サイトの特徴でもあるホスティングにより構築しました。
 添付のサンプルではRewriteEngineが有効になっていますが、moinの試験アクセスが終了するまではコメントアウトにしておいた方が無難と思います(私の場合は順に行っていったのでRewriteEngineは一番最後に加筆となります)。

   

「setup_moin.sh.sample」をダウンロード
   「moinwiki.conf.sample」をダウンロード

 setup_moin.shは公式マニュアルで用意されているスクリプトをfedora8と私の環境に合うようにして修正したものですが、実行するよりは開いて閲覧しながら手動操作した方が無難です。
 moinwiki.confはmoinをapacheでホスティング公開するための定義ファイルを修正しています。Rewriteが付いているので最初はコメントアウトしておき、後から有効にすれば楽だと思いますょ。

 この後に/home/<username>/www/cgi-bin/にコピーしたmoin.cgiとwikiconfig.pyを修正します。このうち、wikiconfig.pyファイルは確認しながら何度か修正しますのでエディタで開きっぱなしにしておき、修正したら即上書き実行し、apacheを再起動させ、できればブラウザーも再起動させてアクセスしては修正を4回程繰り返します。

   

「moin.cgi.sample」をダウンロード
   「wikiconfig.py.sample」をダウンロード

 上述のようにwikiconfig.pyは何度か修正しますが上のサンプルファイルは最終形となっております。手元にあるハズのfedora8パッケージで供給されたファイルを徐々に修正していってください。
 おおまかな作業手順は次のとおりです。

  1. utf-8にして一部でも日本語が表示されるようにしていてenのままアクセス
  2. 管理者ユーザーをmoin上で作成し、ログオフ
  3. その管理者ユーザーをwikiconfig.pyでsuperuserにする
  4. moinにログインし、日本語化する(方法は上のtxtファイル参照)
  5. moinをログオフし、デフォルトで日本語が有効にwikiconfig.pyを修正
  6. moinにログインし、確認し、ログオフする
  7. ACL設定(管理者だけが編集でき、訪問者は閲覧のみ)を行う
  8. moinにログインし、確認し、ログオフする
  9. themeをダウンロードしてきてインストール(基本は展開のみ)
  10. デフォルトthemeを変更したり、ユーザー限定にしたり…はお好み
  11. themeはバージョンを選ぶのでmoin1.5.xで有効なものにする

 ざっと、こんな感じですが、かなり煩雑な作業になります。
 今回は機能試験ができなかったのですが、ConfigHelpをおいかけると、Header領域(特にmetaタグ)が定義できる模様です。これはSEOにはカナり有効と思います。
 またmailサーバー項目もあり、メールが使えるようです。
 他にもACL廻りのオプションもありますが、こちらは皆目不明な英文…泣
 トップページだけ作ってみましたが、わかりにくいディレクトリ構成ですがftpで管理できます。作ったページのほか元々の英文ヘルプもファイルとして登録されています。根性と時間があれば和訳に挑戦したいところですが、他にもmovabletype、mediawikiを立ち上げないと…。
 もたもたしてたら、完成したらfedoraが8でなくて9になりそうだしなぁ…泣

2008年2月22日 (金)

fedora 8 で四苦八苦 wiki編 moinその2

 前回の「fedora8で四苦八苦 wiki編 moin」に続いてmoinをイジくり舞わしてみました。
 特定のユーザー権限で実行させるにはスタンドアローンしか方法がない模様です。このあたりを閲覧したい方はマスターヘルプがコチラにあります。
 例えば、user=とgroup=を公開したいホスティングサーバーのユーザー(私の場合はmoinmoin)とし、port=80としたmoin.pyを使用してスタンドアローンで起動させるものです。
 この方法を応用して、Pythonのフレームであるtwistedを使用するようにもできる模様です。

 次に、farm機能は複数のwikiサイトを使用する際に使う機能の模様です。
 実際に定義して試してみましたが、apacheで定義されたURLでないと「見つからない」エラーとなりました。DNSとfarmconfig.pyだけではマルチサーバーにはならない模様です。
 例えばhttp://www.local.net/mywiki/でデフォルトwikiとなり、http://moin.local.net/mywiki/でセカンドwikiとなるようにDNSとfarmconfig.pyとwikiconfig.py(moin.py)を定義しておきましたが、エラーで閲覧できませんでした。

 よってセキュリティを考慮しつつもftpなんかで管理できるようにするには、chownする際にユーザーをディレクトリオーナーにしておき、グループでapacheにするしかない模様です。これでchmodで775にしておけばどうにかなる…ハズ。
 それかchownの際にapache:<ディレクトリオーナー>にしておき、chmod775でもOKか。

 moinはデータベースを使用せずに静的ページを作成してくれますので作成されたページを修正するにしてもftpから操作できないと面倒ですからねぇ。よって、apache:apacheで775にすると、サーバーからの直接操作でなければ一切の操作ができなくなります。←これって良いようで迷惑この上ない。

 さてとイジり舞わしたし、moinのテストページでも仕込んでおきますねぇ。

そういえば…VistaのSP1どうしたのかな?

 Q9300を投稿したところで…
 フと先日の何気ない会話を思い出しました。

 Windowsはドレが買い?である。

 ↑そう言われれば非常に難しい質問です。
 潤沢な資金でもあればWindowsVistaをお薦めするのですが、今は我慢の時ってことにしときました!!

 なにせVistaはバグが多すぎる!!
 とくに2GB超のファイルにマツわるバグは致命的。バグというよりもワザとだろうっ…て言いたい。なにせNTFS4やFAT32の頃に逆戻りだからなぁ。

 とはいえ今更XP買うのもねぇ。

 そこでお薦めするのが買い控えだったわけです。

 もちろん、上記の理由を付しての話ですょ。

 ましてや、発売されて1年が経過し、SP1投入も囁かれる時期にバグだらけのSP0を勧める訳にはいかないし、駆逐されるXPならなおさらのこと。

 まぁ、背に腹が変えられないってぇなら好きに買って欲しいところだが、そうでもなければ我慢だねぇ。

 他にもSP1では新ファイルシステムが導入されるらしいが、Win9xみたいにOSRなんてバカな事にならなきゃいいけど…こちらも発売されるまでは信用ならないからなぁ。

 SP0ユーザー対象にSP1のISOイメージファイルダウンロードサービスでもしてくれれば話は別だが…。あの会社じゃ期待しても無駄なことだし。

 深くかくと愚痴だらけなので、Vistaの話はココまでだな。

Q9300まだ出ない…3月末頃かなぁ

 GPUじゃ9600GTってのが出たそうだが…
 CPUのQ9000シリーズは未だみたいねぇ。

 いろいろと調べてみた結果をまとめてみました。

 Q9000シリーズが出荷延期となったのが1月末頃の話のようで、延期期間としては1〜2か月である。よって、暦に直せば、2月末〜3月末ということになる。
 2月末も近い、この時期に予約ニュースが無ければ3月に入ってからになる。

 出荷延期の理由もFSB廻りでの品質確保ってのが有力らしいねぇ。
 マザーボードベンダーを巻き込んでの事だから、電流容量が足りそうもないマザーが多いので見送ったってことだろうなぁ。

 ということは現行のP35やG35のマザーは使い物にならなくなる公算が高いってことかぁ。
 X38系は6層構造なので電流容量が稼げるし、グランドも広いからノイズにも強い。しかし、P35やG35では4層なので電流容量は低くなるし、グランドも小さいからノイズにも弱い。
 CPUソケット廻りの電解コンデンサ群も固体コンデンサや日本産105度なら耐久できそうだが、台湾産95度品を使用しているなら持ちこたえられないってことかな。

 Q6000系がE6000系を2個ワンパックにしたのと同様に、Q9000系はE8000系を2個ワンパックにしたようなものだから、電流は上昇する。特にQ9450ってのは2.66GHzでキャッシュ12MBってことだから、現行のE8200を2個ワンパックしたものとなる。

 キャッシュで思い出したが、インテルのデータシートを見ると、Q9000系のキャッシュもQ6000系と同様にL2キャッシュとして6MBx2または3MBx2とあった。

 いずれにしてもQ9000系対応って後ろ盾がないマザーは買っちゃいかん!!ということで買い控えと決め込んだのが正解だった模様。

 X38マザーも場合によっちゃリビジョンアップされそうだなぁ。

 それにしても、9000番台が流行りだなぁ。
 GPUまで9000番台かい。
 AMDにしろ、インテルにしろnVにしても、こうも9000番台が多くなると混乱しなけりゃ良いけどねぇ。

2008年2月20日 (水)

fedora 8 で四苦八苦 wiki編 moin

 今回は作業途中のmoinmoin wikiです。
 wikipediaを見るとページ下部の方にwikimediaとmediawikiってのがあるので、恐らくmediawiki使ってるんだろうなぁ〜と思います(確認してません。個人の想像)。
 fedora8でもmediawikiはパッケージ供給されているので使用できる環境にある。しかし、事前に調べていくと掲載記事の入力方法が異なるようです。
 実際にwiki投稿や編集をしたことがありませんので想像になりますが、mediawikiはHTMLのようにタグを覚えないといけないものらしい。
 そこでBlog感覚で作成できるものを探しているとmoinmoinってのが出てきました。たしかに幾つかのスクリプトは仕方ないにしても、ブラウザ越しに入力できるのは魅力だな。
 よってmoinmoinをインストールすることにし、作業を開始しました。
 結果からすれば意気込み倒れなんですけどねぇ〜泣。

 失敗もアップすれば、それなりの価値もあろうかと書いていきます。

 fedora8でmoinmoinをインストールするとマニュアルは/usr/share/doc/moin-1.5.8/ディレクトリに置かれます。その中でinstall.htmlが元々のマニュアルで、README-rpmってのがfedoraプロジェクトにより書かれたマニュアルです。
 README-rpmは本当に要約だけですが、インストールして即使用するには丁度良い内容ですねぇ。
 ファイルをコピー、パーミッションを変更し、httpd.confを修正、wikiconfig.pyを修正してapacheを再起動させれば終了である。
 wikiconfig.pyの修正においてはinstall.htmlの巻末近くにあるBASICセットアップってのが便利です。上から読むと遠回りさせられます。

 さて、wikiconfig.pyを修正し、走らせてみると確かに動く!!

 しかし、ここからが地獄の入口になりました。
 まず、fedoraプロジェクトではmoinmoinの/dataディレクトリ以下、/underlayディレクトリ以下をapache:apacheにしろ…とある。パーミッションは755の状態。これが気に要らないと思ったのが運のツキでした。

 なにせREADME-rpmの方法では/var/wwwというfedora8デフォルトのルートページ直下へ配置するようになっているからです。
 私のようにホスティングで専用サイトを立ち上げるにはapache:apacheでは都合が悪い。これを既にns上では配置完了しているユーザーmoinmoinで実行できないかと思考錯誤を繰り返すが結局ダメでした。
 スクリプトの何処かに実行権限を処理しているところがあると思っているのですが、perlですら訳分からんのにpythonだぁ?コルト社のピストルか?程度の知識なので壊滅状況です。
 そんなんで試験用端末では動いていますが、サーバー公開はもう少し格闘してからにします。

 追記です
 MoinMoinをfedora8のパッケージではなく、tarボールをダウンロードし、解凍すると、setup.pyというセットアップ用のpythonコードが含まれています。また、moin.pyという定義用のpythonコードもあります。このmoin.pyというpythonコードが重要のようです。いくつかのインストールHowToサイトを調べたところ、moin.pyの77行目と78行目にコメントアウトされている部分を適切にする必要があります。つまり、fedora8ではapache:apacheとするようになっていますので、この分をUser=apache/Group=apacheにしてパッケージされているものと推察し、そのapacheという記載があるpythonコードを検索してみましたが、見つかりませんでした。
 pythonを含め言語系は上述のようにズブのトウシローですのでスクリプト修正で実現することは断念しました。
 しかし、install.htmlを追いかけていくとTwisted-MoinというかfarmウンタラMoinっていう複数Moin-wikiを設定するものがあるようですので、コチラの線から追いかけてみることにしました。
 この場合は、Moin-wikiを一旦インストールし、所謂「捨てMoin-wiki」サイトを作り、管理者や管理用PCのみからアクセスできるようにする。その上で一般公開用wikiサイトを別に構築する方法で同様な機能が実現できないかを追いかけてみます。

2008年2月17日 (日)

fedora 8 で四苦八苦 udev編2

 前回のudev編1でUSBやscsiの特殊性を記入しましたが、今回はudevを実践的になるよう記載しています。

 まずudevのマニュアルですが、fedora8のマニュアル置場となっている、次のフォルダ下にあります。
  /usr/share/doc/udev-118
 今のところアップデートされていないのでudev-118の模様です。このフォルダのうち、writing_udev_rulesディレクトリってのが有り、その中にHTMLファイルが1つだけ(index.htmlファイル)あります。そのファイルこそがudevを物語る重要なヘルプなのですが…英語だょshock

 次にudevの定義ファイルは/etc/udev/ディレクトリ下にあり、USBデバイスの名称を固定化してやるような定義ファイルは、その下と/etc/udev/rules.d/ディレクトリ下に置かれています。多くあるので読み込み順番は不明ですが、ファイル名称から推察するに、番号の小さい方、アルファベット順の先頭の方から読み込まれているものと思います。

 そこで下手な横好きモード炸裂でテストしたら上手くできました!!←下手な横好きモード爆裂ですっ!!

 手順としては次のようになります。

  1. 対象となるデバイスを接続し、諸元を確認する
  2. 諸元に基づき/etc/udev/rules.d/ディレクトリ下の適当なファイルに定義する
  3. 読み込み直して動作させる

 今回はUSBフラッシュメモリを2個使って接続した状況で説明します。
 特徴はシリアル番号を使用していますのでカナり強烈にデバイス名称を固定化します。1個ならモデルナンバとか容量とかデバイス種類でも特定できますが、同一のものを沢山管理することも考慮してシリアルナンバを使用しています。←法人用途も視野に入れていますので参考になったら嬉しいです!!

 使用したUSBフラッシュメディアの型番等は次の通りです。

  1. I/0データ製 EasyDisk Mate EDM-256M(/dev/sdb→/dev/usbmema)
  2. GREEN HOUSE製 PicoDrive LT GH-UFD256SLT(/dev/sdc→/dev/usbmemb)

 なお使用製品を特定できるシリアル番号はサンプルファイルでは変更しています。

 さて手順1に基づき、これら2つのUSBを本体に挿入し諸元を確認する。コマンドは次の通りです。
   udevinfo -a -p $(udevinfo -q path -n /dev/sdb)

 これでI/0データさんのUSBメモリに関する諸元がズラ〜っと表示されます。サンプルを見てください。
   「udevinfo_before.sample」をダウンロード

 この結果から定義ファイルを作成し、保存します。保存に際し、読み込まれる順番は比較的に最後に近いところで行うのが適切かなぁ〜と考え、94-scsi.rulesとしています。こちらもサンプルを見てください。
   「94-scsi.rules.sample」をダウンロード

 これを適用するために、次のコマンドを入力したら動作してくれました。

  1. udevtrigger (なぜかサウンドが発生したが無視)
  2. udevcontrol reload_rules (何のメッセージもない)

 これで/devをlsしてみるとキチンとusbmemaとusbmembとがsdbとsdcからのシンボリックファイルとして認識されていました。
 このあたりを確認するために再度、udevinfoを使って確認しました。サンプルを見てください。
   「udevinfo_after.sample」をダウンロード

 これでUSBメディアを抜き差ししてもシリアル番号に基づいてusbmemaとかusbmembとかでアクセスできますのでデバイスをドのポートへ挿しても、ドの順番で挿してもusbmemaとusbmembでアクセスできるようになります。

 今回はUSBフラッシュメディアでテストしましたが、USB-DVDRWとかUSB-HDDとかでも方法は同じです。USB以外にもIEEE1394デバイスでも応用できると思います。またボード直結のHDDでもSATAで時折変化しそうなドライブに使用しておけば固定的に使用できるようになります。ちなみに私がTL8Sを使用していた頃はRAID51〜RAID53までを名前に使用してRAID5用のHDDを定義しておきました。これにより、再起動させるときにUSBデバイスがあってもmd0がグズることなく起動できるようになるからです。

 それはさておき…
 拙者のwordpressテストサイトで携帯向けにPDFファイルを作成しようと思いアップしたら、携帯からは「不明なデータを受信しました」って叱られてしまいました。どうやらmime設定をしてやらないとダメっぽいです。ちなみにPCからはドキュメントビューワが起動します。ブラウザ側で処理できてるようです。
 何故に携帯向けにPDF??って方はwordpressテストサイトまでお越しください。理由を書いておきました(って単なるSEO対策…かな)。

fedora 8 で四苦八苦 udev編1

 今回はシステムの根っこにもなるudevの触りを書いています。
 udevそのものはデバイスに関係するものなら殆ど全てに適用できる模様です。
 しかし、今回は通常のメンテ範囲のうち、数多くの世話になりそうなscsiに限って記載します。

 へっ?scsiだぁ?…関係ないなぁ〜…他を探そう…←ちょっと待ってね!!

 Windows端末でscsiと云えば、AHA-で代表されるボードとソレに接続する機器、そのインターフェースと規格ってことになる。
 ところが、Fedoraや他のパッケージも含めLinuxにおけるscsiは余りにも広いんです。←コレ超重要!!
 例えば…HDDは最近の主流でSATAとなっていますが、SATAはscsiエミュレートされて動作しています。またPATAでもlibataになれば…やはりscsiエミュレート(だと思った)。他にもIDE接続のCD-RWを使用する時もsrデバイスへIDE-SCSI使ってエミュレートさせていたり…。あとはUSBもSCSIエミュレートになります。
 まぁ、Linuxの根っこまでは知りませんが、デバイス名称で/dev/sxxっては全てscsiで動作しています。この辺りの関係は次のとおりです。
 /dev/sdaーScsi Disk の一番最初のドライブa
 /dev/sg0ーScsi Genericの一番最初のデバイス0
 /dev/sr0ーScsi Romの一番最初のドライブ0(領域もか)

 って風に頭にsが付くものはscsiで動作しています。
 よって、USBデバイスも多くがsdとかsrやsgになります。

 今のkernelではSATA/PATAって項目があり独立しているようになっていますが、2.6の初期の頃まではSATAはSCSI-Low Levelドライバに位置していました。このため、わかりにくくなっています。
 まずはlsmodってコマンドをroot権限で実行してください。沢山のデバイスドライバが表示されますが、注目はscsi_modのところです。scsi_modは親モジュールで、その右側に配下となっている子モジュールが記載されています。さらに子モジュールを追いかけると孫モジュールまで存在しているのがわかるかと思います。
 このようにLinuxでscsiってのは広く使われている技術となっている模様です。

 そのscsiですが、USBやドライブに限って話をすると、抜き差ししたりしてドライブ番号が変化しますよねぇ。WindowsでもPCIボード直結なら変化しないですが、USB接続だと変化します。Windowsでは動作をExplorerで確認することによりドライブレターを追いかけて使用することが普通だと思います。Fedoraを含めたLinuxではUSB接続した時にドライブレターを追いかける術がありません。1個だけなら適当に/dev/sdxとかで追跡しますが不便この上ない。fedoraでは/mediaへマウントするようにできており、X上ではデスクトップにアイコンが作成されますが、2個、3個ともなると面倒になる。
 そこで接続したメディア固有の情報を使ってドライブ番号を固定できれば便利ですよねぇ。Linuxでは用意されており、それがfedoraではudevになります。
 udevの他にscsidevってもあります。TL8Sを使用していた頃は私もscsidevの恩恵に授かっていた一人です。udevの前にscsidevを少し書いておきます。
 scsidevはfedora8ではパッケージが供給されていない模様で、パッケージ管理ソフトでscsidevとかscsiとかを検索しても出てこない模様です。このscsidevは前述のTL8Sでも供給されていなかった(と思った)のですが、RAIDに使用する各HDDを固定的にできるため、どうにかインストールして使用していました。
 余談ですが、scsidevはfedora8で代表されるようなRPM系列のLinuxとは異なるパッケージ管理機構を持つDebianではaptパッケージとして今でも供給されています。aptパッケージ名称はscsitoolsパッケージとなり、インストールするとscsidevが使用できるようになっています。/etc/scsiとかに定義ファイルを組み込んでおき、rc.sysiniあたりのブート動作で早い段階に有効にしてやれば、かなり便利です(TL8Sで使っていた手法です)。

 さて、udevは、そのscsidevに執って代わるものです。適切に定義しておけば、USBメディアを抜き差ししても同じ名称でアクセスできるようになります。
 この辺り→長くなったのでソノ2で書きます。

2008年2月16日 (土)

フィドラ8で四苦八苦ヨタ話4 修正1

 PC端末に戻ってきましたので修正を加えています。修正か所は緑字にしてあります。
 今回は拙者の携帯(P905i)〓モードブラウザからログインし、秘密のメアドへ送信機能で作成しています。(DoCoMo絵文字を使用していますが、文字化けで=みたいになってます)
 cocologへログインすると秘密のメアドが表示され、クリックするとメール入力モードとなります。
 機能チェックに丁度良い〓
 (本文中にmicroSD画像を追加してみましたが成功してました!!さすがcocolog様)
 (どうやらcocolog様では携帯からの投稿を売り文句にしているようですので便利な機能です。写メが使えるのは嬉しい限り…かな)
 同じ携帯(P905i)でPCモードフルブラウザを使用しWordpressテストサイトへ接続したところ、管理画面へログイン出来ました〓しかし、投稿作成に行くことが出来ませんでした(cookieとリファラを有効にしてもダメでした)
 肝心のfedora8ネタではscsidevに代わるudevを調査中です。サーバーでは不要ですが、メンテナンスで必要に駆られる時もあるので投稿予定です。
 (scsidevはscsiデバイスのデバイス名を付加するために使用します。USBメモリなんかでWindowsではドライブレターを割り当てますが、それのLinux版になるようなものです。)

2008年2月15日 (金)

インテルQ6600は在庫回復かな…

 ヨタ話3でも書きましたインテルQ6600が在庫回復した模様です。火曜日や水曜日では妙に店舗数が少なかったのでオカシイなぁ〜と思っていたのですが…。
 もっとも3万円切っていた最安値ショップは登録がないので、こちらは在庫切れで軒並み3万円以上かっ〜coldsweats02

 そのついでになりますが、デュアル系のE系が6000シリーズから8000シリーズへ移行しているのを思い出しインテルのページをチェックしてみました。

 すると〜shock!?

 なにやら新しい9000シリーズが掲載されていました。
 でもなぁ〜アキバでも予告出されてないよなぁ〜。

 プレスページも検索してみましたが投入時期が書かれたページ見つけられなかったし…sad
 しっかし、ホームページに書かれているようじゃ〜投入間近ってことだろうし…。
 参考までに直リンク書いておきます。

 インテル&reg; Core&trade;2 Quad プロセッサー 仕様

 予定されているのは3種でQ9550(FSB1333/C12MB/2.83GHz)、Q9450(FSB1333/C12MB/2.66GHz)、Q9300(FSB1333/C6MB/2.50GHz)、いずれも45nmプロセスルールとなっている。
 インテル® Core™2 Quad プロセッサー・ナンバー表によれば、キャッシュのところが従来のQ6700とQ6600ではL2と明記されているが、Q9000シリーズでは明記がない。なんか意味あるのかなぁ。
 また、インテル® トラステッド・エグゼキューション・テクノロジー(略してTXT)というハードウェアセキュリティ機能が追加実装される風に書かれている。こちらの直リンクは次のとおりです。

 

インテル® トラステッド・エグゼキューション・テクノロジーの仕様

 まぁ、仮想化は使用する予定がないので無意味になりそうです。

 気になるのは3万円代と予想するQ9300のキャッシュ容量です。こちらは現行6000シリーズよりも削られています。FSBの上昇とクロックの上昇でQ6600を上回ると予想していますが、いまいち恩恵に授かれない気がします。それともPhenomを意識して3万円を切る程度にしたいからコスト上昇要因のキャッシュ容量を無くしたかだなぁ。もっともサーバー用途で熱も気になるのでキャッシュ小さい方が放熱量も下がるので嬉しいことは嬉しいが…。

 出てみないとわかりませんが、初値3.7万円が鬩ぎ合いの状況で流通量見合いで消費税込み3万円ってのが楽観的かつ独断と偏見の予想価格です。

 うぅむぅ〜今週末あたりにアキバを歩いて調達しようと思っていたが、こりゃ〜見合わせ、もとい買い控えです。Q6600も見向きもされなくなれば価格も下がるし…。

 話はマルで変わりますが、AMD系も頑張っていますねぇ。←これマザーの話。Athlonの頃なんかCPU安くても板が高くてトータルがインテルと変わりなく、安定度がイマイチな分だけコスト高に思っていたのですが、今は手頃になりました。多少の相性がありそうですが、値段が安い分割り切れる余地もありますねぇ。

 背に腹変えられなくなったらAMD系でも…64ビットがヤバそうなのでやっぱり止めか。

2008年2月14日 (木)

fedora 8 で四苦八苦 Web編3…だった

 今回は拙作の「wordpressテストブログ」へ自前の携帯(P905i)からアクセスしてみたところから始めていきます。まぁ、LPOを意識してのことですが…。

 fedora8でwordpressをインストールしただけでは携帯には不向きでした。当然と言えば当然のことだから仕方がない。
 この辺りはNTT DoCoMoの「作ろうiモードコンテンツ」を読めば書かれていることなのだが、tableタグを理解できないことにある。
 フルブラウザなら理解できるようであるが、パケ代を考えたら遠慮したくなるのも頷ける。DoCoMo以外の会社ならパケ代が低廉であるので気にならないかもしれませんが、私のようにDoCoMo利用者にとってはマダマダ高いと思うところもある。

 値段はさておき、携帯は画面が小さく、パケットを節約し、軽快なアクセスを実現するために従来からPC向けと携帯向けとを振り分けていたと思う。
 私のサイトでもシステム更新前は振分をmod_rewriteを使って行っていた。
 今回は、実際に使用していた.htaccessファイルをサンプルとして掲示しておきますので参考にしてください。ドットファイルのままでは上手くないので先頭にipって付けてますが利用に際しては.htaccessとなります。サーバー環境によってはアップしても表示されないこともあろうかと思います。これはセキュリティ対策が施されており、ISPやレンタルサーバーでは要注意なポイントです。

「ip.htaccess.sample」をダウンロード   

 このファイルの特徴は、キャリヤ会社毎にルールを適用しており、最後に残ったものを全てPCサイトへ誘導しています。誘導に際しては302コードを返しています。302とは一時移設のことです。しかし、GoogleのAnalyticsでは多用しすぎていると稀に警告が出される時があります。キャリヤ会社毎に分けていても誘導されるページは携帯用ページだけで実際に主要3キャリヤへ分けているものではありません。
 なお、エラーコードを一同に説明しているサイトがありましたのでリンク貼りしておきます。403や404だけがエラーじゃありません。
 Studying HTTP さんのページへ行き、HTML CODEのページを見てください。
 ちなみに、403はforbiddenでパーミッションエラーの時に多発するエラーで、404はnot_foundで見当たらないエラーです。303はページを引越しましたという意味で使用されます。

 最近では検索サイトを主流に携帯向け変換サービスがベータテストから実用サービスへと変化し、携帯向けサイトを作る意味がなくなりつつあると思います。
 そこで気になるのが変換精度になります。
 このあたり、既にベータテストが開始された頃からネットへアップされ続けているようですが、ナイスッ!!な答えはない模様。
 検索サイトの変換サービスでもtableタグは苦手のようで、下手すりゃナビゲーションの命ともなるtableタグ部分が根こそぎ抜かれてたりしていました。これじゃ〜ということで変換サービスを調べて携帯ページへ誘導することになる。
 冒頭に記載した「wordpressテストブログ」へ実際にアクセスした記録から変換する事を考えてみました。検索サイトとしてはYahoo、Google、msn(Windows Live)のモバイル向きサイトとしました。チェックのためP905iからも直接アクセスもしました。まずはログを見てください。

  

「access_log.txt」をダウンロード

 最初にYahooから跳んだのですが、jigウンタラっていうドメインからアクセスされ、一旦携帯端末へ直接引き渡され、最後にjigウンタラってドメインへ戻っています。どうやらIPアドレスよりもUSER_AGENTで'jig browser'を使用すると良いみたいです。ちなみにjig browserは商品化されています。
 次にフルブラウザから直接アクセスし、その後はGoogleからアクセスしました。GoogleでもIPアドレスによる制限はできないようですので、これまたUSER_AGENTで'Google Wireless Transcoder'を使用せざるを得ないようです。
 最後にmsnですが、こちらもIPは無理な御様子。USER_AGENTで'Mobile Proxy'あたりを使用すると良いものと思います。
 思えば、このブログも携帯からアクセスすると別ブログのように表示されるので、上記のようなことをmod_rewriteしているかtype_padにMT4iみたいなものを付けていたりして実現しているものと思います。

2008年2月13日 (水)

fedora 8 で四苦八苦 ヨタ話3…かな

 今回のヨタ話はnvidia編の続編、ちょっとしたシステム報告、
ヘボしてしまった…の3話構成です。

 第1話 nvidia編の続編

 fedora8をCUIモードで起動した際のデフォルトロケールは英
語…厳密にはen_US.UTF-8です。よってCUIモードで起動した
後にstartxをしても英語になります。
 これをどうにかしたい……と試行錯誤を繰り返す。
 CUIモードではjfbtermってのを使えば日本語ファイル名を正
常に表示してくれます。が!しかし、man manとかとしても表
示されるのは英語のmanページ。
 そこでDOSライクにsetと打ってみると〜やはり!である。
環境変数がズラ〜っと出力される。
その中にLANG=en_US.UTF-8ってのがある。
これをja_JP.UTF-8にできれば日本語になるかなぁ〜と考え試し
てみる。いやはや下手な横好きでもタマには当たりました。
 次のコマンドを入力すると日本語manページになります。
   export LANG=ja_JP.UTF-8
 これに続いてjfbtermとすれば日本語manページを白黒モード
で表示してくれます。どうやらカラー処理が上手くできていない
様子です。
 まっ〜日本語で表示されるので吉としましょう!!
 ちなみにexportコマンドで日本語に切り替えた後にstartxとす
るとXも日本語で表示されるようになります。
 /etc/init.d/ディレクトリのfirstbootを見ると、ランレベル5で
は/etc/sysconfig/i18nファイルにあるja_JP.UTF-8を有効にしま
す。そこでランレベル3でも出来ないかと修正しましたが、上手く
できませんでした(ホォ〜ンと言語系スキルないTT)。

 第2話 チョットしたシステム報告

 ここらでサーバーのメモリ状況を観察してみました。
 今まで四苦八苦シリーズでお伝えした内容で稼働させています
が、socket478ベースのPCでDDR400-512MBじゃ〜非力の御様
子でした。どうやら最近のスクリプト系webサービスを利用しよ
うとSQLナンゾが多用されているからだと考えています。
 なにせスワップメモリをシッカリと消費している。
 これじゃ〜httpのラッシュアクセスには耐えられません。
 そこで予算10万円程度で新調を検討しています。
 へっ?10万円程度?ってのも聞こえてきそうですが、今時のスペッ
クですし、使えるものは持ち回りですので10万円でもどうにかでき
ると考えています。
 ちなみに有名価格比較サイトで相場をチェックしていますが、次
のようなスペックで検討しています。
 ケース:ATXミドルタワー→持ち回りで0円
 電源:電解コンデンサがヤバめだし、容量も500W欲しい→1万円
 CPU:Q6600(Quadコアで安い方)→3万円
 メモリ:DDR2-800の2GBx4→2万円
 マザー:P35+ICH9R(Win端末じゃないのでX38不要
    サーバー用ってことでグっと我慢)→1.7万円
 VGA:nvチップ/PCIExpressのバルクでファンレス激安品
   (映れば良い程度)→0.3万円
 HDD:今までのSATAを全て持ち回り→0万円

 ここまでの小計で8万円です。
 これでもクアッドコアで8GBメモリですから、すこぶる性能は
余り傾向。なおDLNAとかメディアコンバートストリーミングサー
バーは使用しませんので十分な性能です。
 もっともメディアコンバートさせるならサーバーではなく、
Win端末でコンバートしたものをアップした方が早く処理できそ
うだし…。
 余った予算…ATAPI-IDEカードとかも必要だったり…。
 もしくはルーターかな。
 なにせ現在使用しているルーターはIPv6-IPv4ブリッジ対応して
いないのでフレッツスクウェアには向かないTT。
 PCでIPTABLEを組んでもいいけどマルチセッションPPPoEは大
変ですからねぇ。余計なリソースも喰われないから専業ルーターの
方が楽だし速い。
 ちなみにマザーは選びますょ。私のところで耐久力があったのは
GIGABYTEさんです。今回もGIGABYTEさんのを狙ってますょ。
 ASUSは難あるし、ABITは安定ってメーカーじゃないし。
 AOPENとかAcerはスペックいまいち…RIOなんてのは高いし。
まっ〜電解コンデンサとSATAコネクタが3年持ってくれれば良いんで。

 第3話 ヘボ話

 第1話の続きになりますが、いちいちコマンド入力するのが面倒
なのでrcスクリプトを修正したり、サービス化したりしたのが運の
ツキってやつでした。
 試験端末で行っていたのでサーバーには影響ありませんでしたが、
試験端末のfedora8…入れ直しです。

 第4話 おまけ

 wordpressを使って初めて気がつきました。
 メール対応している模様。管理画面に設定がありました。
 cocologやbloggerで使用されている秘密のメアドを使います。
 pop3のみのようですが、便利〜便利〜なので試してみます。

2008年2月11日 (月)

fedora 8 で四苦八苦 nvidia編

 拙著の「fedora8で四苦八苦 再インストール編2」でnvidiaドライバを書いていますが、詳細までは触れていませんでした。要望もありましたのでサンプルファイル付きで記載します。

 Xを高解像度化したり、ツインビューにしたりするのに修正するファイルは、fedora8の場合は/etc/X11/ディレクトリにあるxorg.confファイルです。ディストリビューションによって多少の差異はあります。

 以前に使用していたTL8SではXFree86でしたのでディレクトリこそ同じもののファイルはXF86Configファイルでした。最近のTL11Sは導入していませんが、XFree86がXorgに変更されていますので定義ファイルも変更されていると思います。

 さて、そのxorg.confファイルのサンプルを掲出する前にnvidiaドライバがインストールされていなければ話になりません。
 まずはnvidiaサイトからドライバダウンロードサービスでLinux-IA32用を選択してダウンロードしてきます。この時にドライババージョンによってはボードを選びますので使用されているボードを選択する必要があります。今回のサンプル事例ではAGP接続のGF5800(古くて申し訳ない)です。また、いきなりダウンロードはできず、ライセンスに同意してからダウンロードできるようになっています。

 次に必要なパッケージを揃えておく必要があります。glibcのほかgnumake等の一般的なC開発環境をインストールしておく必要があります。fedora8において、どのパッケージが該当するかまではチェックしていませんが、ダウンロードしてきたNVIDIA-Linux-x86-<version>-pkg1.runを走らせてみてダメなら不足していると思ってください。また、開発環境のほかに使用しているkernelと同一バージョンのソースも必要になります。fedora8の場合は、kernel-develパッケージとなっています。(ディストリビューションによってはkernel-source***.srpmとかもある)。

 コンパイル方法はXを起動させておかない状況で行う必要があるため、Linux起動時のGUIモード(Runレベル5)にならないように、コンソールモード(Runレベル3)で起動し、rootアカウントになる必要があります。コマンドは、次のようになります。
  sh ./NVIDIA-Linux-x86-<version>-pkg1.run
 なお使用しているカーネルバージョンと対象にしたいカーネルバージョンが異なる場合はヘルプを見てください。advanced-optionを使えば構築してくれます。

 最初はライセンスの同意ですので同意します。次にftpサイトのチェックをするかどうかを訊いてきますが、普通はバイナリが供給されていないのでチェックは不要です。次にコンパイルして良いか尋ねてきますのでコンパイルを許可します。
 これでカーネルモジュールが正常にコンパイルできれば、カーネル用モジュールが保存されているディレクトリ(/lib/module)に保存・登録されます。
 次にコンパイラはX用ドライバをコンパイルし、ライブラリの登録を行います。これが*.soの構築です。

 一通りに作業が終了すればドライバ構築作業は終了です。SELinuxがあるとエラーで使用できないようですが、私のところではバグ出し状況のため、Parmissiveモードにしてありますので警告こそ出されていますがストップされることはありません。

 Xでnvidiaドライバを使用する際はカーネル用ドライバが必要になりますが、modprobeしなくともXでnvidiaドライバ読み込まれる際に自動的に読み込まれますのでmodprobe.confファイルの修正は不要にできます(私は修正していません)。

 ここまで正常ならばxorg.confを変更して使用することができるようになります。

 今回のサンプル環境は次のとおりです。
  VGA:AGP接続GF5800
  モニタ:Logitec社LCM-T174A/S(17" 1280x1024)2台-アナログ専用
  検証はCUIモードからstartxコマンドを使用

 まずはfedora8のデフォルトファイルです
  「xorg.conf.orig.sample」をダウンロード
 失敗した時に素早く戻せるようにバックアップしておいた方が楽です。

 次は拙著の「fedora8で四苦八苦 再インストール編2」でも紹介したクローンモード用定義ファイルです。
  「xorg.conf.clone.sample」をダウンロード

 次はツインビューモードの定義ファイルです。こちらはXを2560x1024モードで動作させているようなものです(定義ファイル中では1280x1024ですが問題なく動作しています)。
  「xorg.conf.twin.sample」をダウンロード
 このモードではCRT0を左側にし、その右側にCRT1が来るようにしています。

 次はXそのものを2画面にしてしまう定義ファイルです。こちらはXそのものが1280x1024を2個用意しています。
  「xorg.conf.MultiX.sample」をダウンロード
 あたかも2つあるようにみせているだけです。またCRT0は日本語になっていますが、CRT1は英語です。GUIツールで日本語に指定しても英語のままです。monitor1を定義している何らかのファイルを直接編集しないと日本語にならないようですが、どのファイルを修正していいかまではわかりません(スキルないです)。

 nvidiaドライバを使用する際はモニタ番号と種類に注意してください。TFT液晶ディスプレイでもアナログの場合はCRTxになります。TFTxはデジタル接続を意味しますので、仮にデジタルポートを使用していてもアナログ接続している場合はCRTxを使用します。

 また、nvidia謹製ドライバはバグに要注意です。バージョンが異なると動作しなかったり、コンパイルができなかったりします。TL8Wの頃からnvidiaを使用していますが、時折ありました。バージョンが最新でもダメな時がありますので、できることなら古いバージョンも幾つかは揃えておいた方が良いでしょう。

 ボードが無いので試していませんが、RADEON系、MGA系はカーネルにドライバが付属してきますので相性はnvidiaよりも良いと思います。
 というか〜、nvidiaでもGFよりも前のRivaなら付属してるんだよなぁ。

2008年2月10日 (日)

fedora 8 で四苦八苦 ブログ構築編 WordPress

 ようやく天守閣ともなるWordPressに到達ですhappy01
 これを記念して拙者のホームサイトntym.netWordPressテスト用サイトを立ち上げましたのでお立ち寄りください。
 本稿では上述テストサイトのようにWordPress専用ホスティングサイトを構築することを前提にして記しますが、いくかの前提条件をまとめて記載しておきます。

  1. ブログ(記事)展開のアドレス:http://wordpress.inter.net/
  2. wordpress管理画面のアドレス:http://wordpress.inter.net/wordpress/
  3. wordpress管理者アカウント:wordpress パスワード:任意
  4. wordpress格納用MySQL上のデータベース名:wordpress
  5. データベースwordpress専用の管理者アカウント:wordpress パスワード:任意
  6. fedora8のアップデートを考慮し、/usr/share/wordpress/を使用する
  7. 英語なのでja.moファイルを使用して日本語化する

 まずはja.moファイルをダウンロードし、保存しておきます。

  1. 公式サイトのリポジトリ上のja.mo(バージョンに注意!!)
  2. ダウンロードしたja.moを/usr/share/wordpress/wp-content/languages/ディレクトリ下に保存
  3. wordpressでwp-admin/install.php(wordpressインストール用スクリプト)を実行させる前にja.moを保存しておかないと英語情報でデータベースが作成されてしまい、後から日本語化する際はデータベースを削除してインストールし直す必要がありました

 次に日本語ドキュメントページを開いておきます。この中でインストールに関するページがありますので開いておきます。phpMyAdminを使用したWordPress用データベースの作成方法がありますので参考にする。
 WordPressインストール日本語ドキュメント(有志サイト)

  1. MySQL上にwordpressというユーザーを作成する
  2. MySQL上にwordpressというデータベースを作成する
  3. ユーザーwordpressをデータベースwordpressの特権ユーザーとする
  4. これでwordpressをデータベースへ格納する準備が整います

 次に拙作の「fedora8で四苦八苦 Web編2」を参考にwordpress専用のホスティングサイトを作成する。当然のことながらユーザーホームディレクトリが必要になるのでLinuxシステムでユーザーを作成しておく。今回の事例ではwordpressというLinux上のユーザーとなる。
 これまた拙作の「fedora8で四苦八苦 Web編2」を参考にホスティングサイトを準備しておく。
 次にwp-config.phpを編集する。fedora8では/etc/wordpress/wp-config.phpファイルとなっています。/usr/share/wordpress/wp-config.phpファイルは単なるシンボリックファイルとなっています。
  「wp-config.php.sample」をダウンロード
 ようやく管理画面へ入る準備が整ったのでwordpressインストールスクリプトを走らせる。今回の事例では次のとおり。
  http://wordpress.inter.net/wordpress/wp-admin/install.php
 wordpress.confでServerAliasが掛かっているので次のようにしてもアクセスできます。
  http://wordpress.intra.net/wordpress/wp-admin/install.php
 これでWordPressの初期設定でブログ管理できるようになります。管理者アカウントとしてユーザーadminが適当なパスワードと共に作成されます。このページ中にあるログイン画面リンクを新しいブラウザ画面で起動させます(WordPressが勝手に作成した管理者アカウントなのでパスワードを表示させておくため)。勝手に作成された管理者アカウントでログインし、新しいユーザーを作成する。今回の事例では、ユーザーwordpressを任意のパスワードで作成する。一旦ログオフし、今度はユーザーwordpressでログインし、WordPressが勝手に作成したユーザーadminを削除する(パスワード変更でも良いですがアタックされる元なので削除してしまう)。
 ja.moがキチンと登録されていれば、こうした管理画面の表示が殆ど全てが日本語になっています。

 次にブログ投稿記事を「http://wordpress.inter.net/」から読めるようにします。管理画面から「設定」−「一般設定」を開き、上から4つ目の項目である「ブログのアドレス(URL):」の項目に「http://wordpress.inter.net/wordpress」となているものを「http://wordpress.inter.net」に修正し、「設定を更新」ボタンを押します。
 次に「index.php」ファイルを今回の事例では「/home/wordpress/www/public_html/」ディレクトリに置きます。このindex.phpでは白紙ページが表示されてしまいます。サンプルファイルのように絶対パスで指定してアクセスできるようにしてしまいます。

  「index.php.sample」をダウンロード

 これで記事は「http://wordpress.inter.net/」で表示され、ログイン等の管理画面は「http://wordpress.inter.net/wordpress/」からアクセスします。ちなみに「http://wordpress.inter.net/wordpress/index.php」としてもブログ記事が表示されます。

 テストサイトでは上手く動作していないので諦めかけていますが、.htaccessファイルでReWrite_modを使用すればパーマリンク設定を変更し、投稿名ベースのフォルダ構造へと変更することができるようです。英文ヘルプによれば、単に投稿名ベースでアクセスされたファイルをデフォルト書式から引っ張り出すようにReWriteしてやるだけのようです。

 これでWordPressによるサイトを運用することができました。

 もう一度宣伝です。

 時間がありましたら、WordPressテスト用サイトにお立ち寄りください。

fedora 8 で四苦八苦 ブログ構築編 phpMyAdmin

 fedora 8 でphpMyAdminを使用するには、マンマ「phpmyadmin」として検索するか、他のMySQL用ツール群を含めてしまう「mysql」で検索して選択し、インストールします。
 fedora 8 でphpMyAdminをインストールすると、/etc/httpd/conf.d/phpMyAdmin.confが作成されます。これがApache用の定義ファイルです。
 前回のWeb編2では全体からWordPressを使用できないようにしましたが、今回のphpMyAdminでは全体から使用できるようにしてあります。ただし、phpMyAdmin.conf内に「Allow from」ディレクティブでlocalhostとintra.net内からだけアクセスできるようにしています。

「phpMyAdmin.conf.sample」をダウンロード

 次に、/etc/phpMyAdmin/config.inc.phpをチェックする。今回はfedora8のデフォルトのままです。
 拙者の書いた「fedora8 で四苦八苦 MySQL編」で既に管理用アカウントが作成されていると思います。ログイン画面が表示されたら、このアカウントでログインしてください。正常にいけばphpMyAdminのトップページが日本語で表示されます。
 あとは好みに合わせて管理者アカウントを変更したりできるようになります。
 WordPress用の設定はWordPress編で書きます。

fedora 8 で四苦八苦 Web編2

 WordPressを構築するにあたり「fedora8で四苦八苦 Web編1」で記載したものをベースに修正を加えました。
 phpMyAdminとWordPressのパッケージをインストールしたことによるfedora8での追加もありますが、拙者の本家・本元サイトであるwww.ntym.netWordPressのテスト用サイトを構築するのに修正した事項もあります。

 まずは、WordPressのテスト用サイトを構築するのに合わせて<virtualhost>ディレクティブをhttpd.confに直接書くのではなく、includeディレクティブで読み込むようにし、ホスティングサイトを管理しやすいように変更しました。まずは、/etc/httpd/conf/httpd.confファイルの修正したサンプルです。サンプルでは<virtualhost>ディレクティブのところだけを載せてありますので、一般的にはhttpd.confファイルの最後の方から探した方が速く見つかると思います。

「httpd.conf.sample3」をダウンロード

 /etc/httpd/virtualhosts/ディレクトリを作成し、その下にrootsディレクトリとusersディレクトリを作成し、www.inter.net用の定義ファイルwww.confをrootsディレクトリ下に、WordPressテスト用サイトの定義ファイルや他のホスティングサイト用の定義ファイルをusersディレクトリ下に作成します。

/etc/httpd/virtualhosts/roots/の「www.conf.sample」をダウンロード

/etc/httpd/virtualhosts/users/の「hoge.conf.sample」をダウンロード

/etc/httpd/virtualhosts/users/の「hogu.conf.sample」をダウンロード

/etc/httpd/virtualhosts/users/のWordPressテスト用サイトの「wordpress.conf.sample」をダウンロード

 ホスティングサイトの定義ファイルのうち、wordpress.confだけが他のものと違っていると思います。これが重要なところです。

 fedora 8 でwordpressをインストールすると、wordpressのファイル群が/usr/share/wordpress/ディレクトリ下に保存され、apacheでwordpressを有効化する定義ファイルが/etc/httpd/conf.d/wordpress.confファイルに保存されます。つまり、fedora 8 のデフォルト状態では例えば「http://www.inter.net/wordpress/」としても、「http://wordpress.inter.net/wordpress/」としても、果ては「http://hoge.inter.net/wordpress/」としても同一かつ唯一の管理画面が呼び出されます。これではセキュリティ上は好ましくないと思います。そこで対処する方法としては、ユーザー事の公開用ディレクトリ「/home/<username>/public_html/」にWordPressファイルを展開し各々のvirtualhostディレクティブ内で完結するように定義する方法(この方法が公式サイトの推奨方法)と、今回のようにWordPressを使用するホスティングサイトを決めておきデフォルト設定を有効に活用する方法(今回のサンプル)とがあります。
 詳しくはWordPress編で書く予定です。

2008年2月 8日 (金)

fedora 8 で四苦八苦 ブログ構築編 MySQL

 皆様もご存知とは思いますが、ブログはBlogと表現されます。元々はウェブログすなわちWeb Logから来ている造語です。
 そのブログですが、世界には多くのソフトがありますが、日本語書籍の入手のしやすさからすれば2つあります。
 1つはMovableTypeというものです。
 もう1つがfedora 8 で供給されているWordPressというものです。

 以前にMovableType4.0を使用し、テスト端末ですがWordPressを使用してみての特徴は次のとおりです。

 1 MovableType4
  日本語書籍が多く、情報に困らない。
  ホームページビルダーからも直接投稿ができるようになっている。
  SQLが柔軟でPostgreSQLとMySQLの2つは対応している。
  静的ページと動的ページを設定できる。
  無料版では制約もある。
  日本語版が提供されている。
  fedora8ではパッケージが提供されていない。
  記述言語はPerlのようだ。

 2 WordPress
  日本語書籍があるが、MovableType4程ではない。
  ホームページビルダーからの直接投稿は不明(可能リストにはない)。
  SQLはMySQLだけ。
  動的ページのみとなっている。
  オリジナルでは日本語版が提供されているが、fedora 8 のパッケージでは英語版のみ提供されている。
  記述言語はPHPとなっている。

 ブログを構築する大まかな流れは次のとおりです。

  1. ApacheおよびDNSを公開予定のFQDNでアクセスできるようにしておく。
  2. ブログを投稿するユーザーのアカウントをLinuxに用意する必要はない。
  3. ブログの投稿ユーザーはブログソフト内で完結してよい。
  4. SQLの管理者アカウントもSQLで完結するのでLinuxに用意する必要はない。
  5. ただし、SQLサーバープロセスの所有者は必要だがfedora8が作成する。
  6. ブログはSQLを必須とするのでSQLをインストールしておく。
  7. SQLの設定にGUI環境を整え、そこから修正、追加を加える。
  8. SQLを走らせ、正常になってからブログをインストールし、運用する。

 さて、本題のSQLになりますが、上記の結果からドッチに頃んでもいいようにSQLとしてはMySQLを使用しました。また、ブログの後に予定していますが、fedora8で提供されているWikiパッケージのMediaWikiとMoinMoinはMySQLだけのようですので、PostgreSQLは使用しません。


 そのMySQLですが、基本的にはSQL言語と付属してくるコマンドツールを使用しますが、今回はphpMyAdminを使用します。

 まずはMySQLを起動させます。コマンドは次のとおりですが、最初だけは空のデータベースを作成し、管理者アカウントの作成方法が表示されるので注視する。
  service mysqld start

 これで初期データベースが作成されます。続いてmysql専用の管理者アカウントを設定します。メッセージどおりにすれば次のような感じです。
  /usr/bin/mysqladmin -u root password 'パスワード'
  /usr/bin/mysqladmin -u root -h server.intra.net password 'パスワード'

 上はlocalhostに対するrootアカウントを定義付けし、下はserver.intra.netのrootアカウントを定義付けします。なお、fedora8では127.0.0.1に対するrootアカウントが定義付けされていますが、私の環境では127.0.0.1を使用したphpMyAdminでのアクセスはできませんでした。これはApacheの定義ファイルで127.0.0.1という名前のサーバーを用意していないためです。phpMyAdminはこうした挙動からFQDNをIPアドレスに変換してMySQLへ接続するのではなく、URLで入力された値をソノママ引き渡すようですのでMySQLでのアカウント作成では注意するポイントです。なお、SQL言語(GRANTとかSETとか)を使用すればAllホスト向けのアカウントも作成できますが、こちらの情報は日本語マニュアルで確認してください。

 次にMySQLの定義ファイルは/etc/my.cnfファイルです。サンプル定義ファイル群は/usr/share/*.cnfファイルです。my.cnfでは最低限度のオプションしか定義されていませんが、動作はしてくれます。メモリ容量とかの制約で調整しなければならない時はサンプル定義ファイル群から適当なものを選んでコピペします。また、セキュリティ対策等を細かく定義したい時は公式サイトの日本語リファレンスが役に立つと思います。
 次にphpMyAdminの定義ファイルはfedora8では2か所にインストールされます。1つは/etc/phpMyAdmin/config.inc.phpファイルで、もう1つが/etc/httpd/conf.d/phpMyAdmin.confファイルです。
 前述のconfig.inc.phpはphpMyAdmin自身を定義するファイルで、/usr/share/phpMyAdmin/config.inc.phpとしてもシンボルリンクされています。後述のphpMyAdmin.confはApache用の定義ファイルでAliasとディレクトリアクセスのオプションが定義されています。後述のphpMyadmin.confファイルでは/usr/share/phpMyAdmin/ディレクトリ以下のものを使用するように定義されており、セキュリティ的に不安がある方は修正するなり、削除してやる必要があります。前述のconfig.inc.phpを修正しなければphpMyAdminへアクセスした時にログインするモードとなるようにfedora8が予め定義していますので修正は必要ありません。ただし、cookieモードを使用するには修正が必要になります。このあたりの日本語マニュアルは公式サイトの日本語マニュアルが役に立つと思います。

 さて、phpMyAdminの定義まで完成したら、さっそくブラウザ越しにアクセスしてみます。ちなみに、このアクセスでPHPが正常にインストールされているかのチェックも兼ねています。
 ログインウィンドウが表示されればPHPが正常にインストールされ、phpMyAdminも適切にインストールされています。次にログインアカウントはMySQLの管理者アカウントを使用します。恐らくhttp://localhost/myphpadmin/でアクセスしていると思いますのでlocalホスト用のMySQL管理者アカウントでログインします(Linuxのシステム管理者アカウントと同じなら分かり易いですが異なっている時は注意です)。

 これでブログソフトで使用するデータベースを作る準備が整いました。

 MySQLの定義ファイルでオプションが探し出せなかったのでIPアドレスフィルタリングを設定していません。その代わりにFirewallで閉じています。
 今回の説明ではデフォルトファイルがマンマ使用でき、SQL自身が分野外ですのでサンプルファイルはありません。
 ブログ本編ではFedora8で提供されるWordPress英語版をmo使って日本語化する方法をアップする予定で試験しています。最初からmo使わないと日本語化してくれないみたいですので、もう少しチェックしてからアップします。
 場合によってはfedora8で提供されているパッケージを使用せずに日本語版をダウンロードしてインストールするかもしれません。

2008年2月 6日 (水)

祝バージョンアップbirthdaycocolog様 ブログ 雑感

 いやぁ〜cocolog様のバージョンアップ←良いですねぇ!!
 絵文字が使えるようになっていました。
 さっそく追加された絵文字入力用ボタンをクリックしてみる。
 うっは〜アニメーション化されてます!!
 私の携帯はP905iなのだが、順番も意識して作成されている模様。

 

 lovelyとかheart04とかを多様してみたい気もするが…
 萌なページじゃないから無理か。

 それはさておき。

 MovableType4も4.1になってました(遅)。

 携帯強化はcocologでも採用されているッポイTypePadだけのようです。

 MT4.1では項目が書かれていません。

 ↑まだインストールしていませんので不確かなところはあります。

 現在のところ進めているのはMTのほかfedora8標準のブログソフトであるwordpress、WikiシステムとしてのMoinMoinとMediawikiを調べています。

 wordpressはインストールこそ簡単なようですが、不安が1つだけあります。動的ページだけのようなのです。

 私の非力な御自宅サーバーじゃ動的ページは痛いっbearing

 作成直後の再構築は面倒だが、訪問してくれた方には極力ストレスなく見て欲しいので静的で吐き出せないのは痛いっ。

 また相互リンクをしていくにしても静的の方が効果がありそうに感じます。

 次にWikiの方ですが、こちらは動的も静的も見当たりません。

 どうやらインストールして確かめてみる以外に方法はないように思われ。

 Wikiの設置目的は、あのデザインで手っとり速くページを作成したいだけ。

 つまりパブリック領域への提供を無効にできるなら無効にしたいし、ひとりWikiで遊んでいきたいし。

 このあたり、もう少し勉強しないとダメってのがわかっただけでも進歩かな。

2008年2月 3日 (日)

fedora 8 で四苦八苦 Web編1

 ようやく本丸のWebに辿り着きました。
 今回は工事中看板を掲示できる程度でApacheを定義しています。
 最初からテンコ盛りにすると思わぬ落とし穴に落ちますので最初はスモールで定義しておき、徐々に追加していく戦法です。
 ご存じのようにWeb(Port80番とポート443番)に関する技術は目紛るしく進歩しており、追いかけるのもゼィゼィする状況です。こうなっては唐突に導入してもエラーが発生しやすく、発生したエラーの原因特定も困難になります。
 ここはググっと堪えて基本のところから出発いたします。
 よって、工事中看板のように静的HTMLだけを表示できるようにしています。時代的には次に登場したCGIを始めとした動的Webはなるべく回避しています。
 とはいえ、仮想ホスティングみたいなことをできるように設定しています。
 また、セキュリティを考慮しデフォルト定義ファイルで使用されるApache情報やApacheマニュアルを表示しないようにしています。定義ファイルを見て何となくでも解釈できるようならば鋭意修正ください。

 fedora8でのApache定義ファイルは/etc/httpd/conf/httpd.confになります。fedora8でインストールされるGUI環境設定ツールのsystem-config-httpdを使用すると/etc/httpd/conf.d/httpd.confが作成されます。
 実はこれが注意事項です。
 /etc/httpd/conf/httpd.confの中に、たったの1行ですがinclude命令があり、/etc/httpd/conf.d/*.confを取り込むように設定されています。つまり、大元の/etc/httpd/conf/httpd.confを修正することなく、差となる情報をsysytem-config-httpdにより作成し、/etc/httpd/conf.d/httpd.confに書き込んでいます。このため、system-config-httpdでは基本Webに関する定義を一切修正できません。また、これがために手動で/etc/httpd/conf/httpd.confを修正するのと、system-config-httpdで修正するのとの混在を避けるようにマニュアルに記載されています。
 この機構を理解した上で修正を行う必要がありました。
 また、system-config-httpdは上述の/etc/httpd/conf.d/httpd.confの他に記録している挙動もあるようなので手動による修正とGUIツールによる修正とを平行してできない事にご注意ください。
 私としては、今後追加する予定のWebDAV、server-status、SSL、python、PHP、Perl、MovableType4、Wordpress、携帯振分、Wikiなどの事を考えれば極力GUIツールを使わずに手動で/etc/httpd/conf/httpd.confを修正する方が後学にもなると思います。

 1 仮想ホストを明示して読みやすいだけが取柄の定義ファイル

  

「httpd.conf.sample1」をダウンロード

 このサンプルではファイルの終わりの方に<VirtualHost>ディレクティブでホスティングしたいホストを明示して設定しています。この機能を利用して、拙者の本家となる週末雑貨も運用していました。現在は本ブログに書いてあるようにメンテ中です。このアップをもって工事中の看板をようやく掲示できるようになりました。
 サンプルにも記載していますが明示されていない仮想ホストアドレスを要求された場合は、(厳密には仮想となる)大元のサーバーが受け持ちます。

 2 仮想ホストをクライアントの要求アドレスから提供するタイプその1

  

「httpd.conf.sample2」をダウンロード

 このサンプルでは定義ファイルに仮想アドレスを明示的に定義せず、クライアントが要求してきたアドレスから、サーバー内のユーザーと比較し、存在すればそのユーザーのホームディレクトリーに保存されたデータを使ってページを表示するようになっています。サンプルでは詰めが甘く、www.inter.netに対しての修正は行っておりません。対処方法としては基本サーバーを有効にさせて戻す方法、エラーコードを割り出してエラーページを基本サーバーにしてしまう方法、後述するRewriteEnginを使用して弾き出す、果てはwwwというユーザーを作る、のような方法があります。
 ISPのように巨大なユーザーを抱えているところでは使われている定義方法です。

 3 仮想ホストをクライアントの要求アドレスから提供するタイプその2

 こちらはサンプルがありません。実のところ導入する気がないので考え方と参考資料へのリンクを記載しておきます。
 参考資料は日本Apacheユーザー会が運営されておられるサイトにあります。大半は和訳されていますが、今回の目的となる資料は英文のままです。それでもサンプルが掲載されておりますので参考にしてください。
 大量のバーチャルホストの設定
 この資料の後半部分にタイトル内にmod_rewriteって付いているのが3個ほどあります。ズバリ、この方法なんです。
 mod_rewriteってのはホントに便利な機能を追加してくれるモジュールですが、便利に反比例する設定作業となります。mod_rewriteはページの引越、携帯振分などで使われるモジュールですが、この資料では仮想ホストでも使用しています。
 mod_rewriteはモジュールで演算処理をしますのでアクセスが多くなればなるほどCPUの負担が増えます。資本力のあるISPならば必要経費バリバリ投資でItanium複数搭載サーバーですので微々たる程度でしょが御自宅サーバーではテンコ盛りのサーバーですので処理負けの原因にもなります。
 mod_rewriteで定義する際は、最初にwww.に関する定義をしておきユーザー領域へ入る前に弾き出しておく、次にhoge.とかの実存するユーザーならばユーザーホームディレクトリからデータを提供し、どれにも該当しなかった時の処理を最後に記入しておきます。これを正規表現を駆使して定義していくものです。

 いずれの仮想ホストにおいても正引きで到達できるようにDNSを設定しておく必要があります。これをしておかないと、仮想ホストへ到達する前にUnkownサイトになります。拙者のfedora8 で四苦八苦 DNS編を参考にしてみてください。
 それとホームディレクトリ内のWeb用データはコンテキストをsystem_u:object_r:httpd_user_content_t:s0にしておく必要がありそうです。適当に古いデータをコピペしたらSELinuxに叱られてしまい、restoreconで初期化したらそうなりました。

 ここからは余談です。
 私のところでは携帯振分でmod_rewriteを使用しています。今はメンテ中なので実装できていませんが、メンテ前(昨年末頃)までは機能していました。携帯振分なので、定義の最初で携帯電話会社が公表しているIPアドレスやUserAgentで携帯であると判定し携帯向けページへ、残りをすべてPC側へ誘導させていました。今は見直しのために情報を調査しているところです。
 調査対象は、ズバリ!!検索サイトの変換ProxyのUserAgentとIPアドレスです。これはナカナカ公開されておらず迷惑この上ないもの。携帯向きにページ作っておいてもPC用のものを勝手に変換して携帯へ流すんだもんなぁ。自分のサイトを自分の携帯で確認したけど、肝心なところを落としてくれるんだよねぇ〜この変換Proxy。よって、変換Proxyからのアクセスを携帯向けページに誘導したいがための調査です。
 ページトップに選択ボタンを用意しても良いけど、やはり自動で行ける方がお互いに楽&楽だと思います。
 さて、しばらくは工事中看板だけでも掲示しておきながら、機能追加をしていきます。

2008年2月 2日 (土)

fedora 8 で四苦八苦 raid編

 raidに関する要望もありましたので記載いたします。

 fedora8に限らず、Linuxでraidを面倒なく使用するにはハードウェアRAIDボードが必要になります。
 ハードウェアRAIDボードとは、例えば次の製品です。
  Adaptec Raid 3405(ASR­-3405/JA ROHS KIT)

 私のところでも使用しているRAID対応SATAコントローラ(Sil-3114搭載RAID5対応)みたいなカードは上述のハードウェアRAIDボードとは異なります。

 このあたり、グチを含めて長短を書くと次のようになります。

 1 ハードウェアRAIDカード
  マイコンとメモリがオンボードされている
  マイコンはRAIDアレイを管理し、管理機能を提供する
  よってCPUリソースを消費しない
  Linuxはもちろんのこと、WindowsからもハードウェアRAIDとなる
  (SCSIカードとして認識させておき、RAIDはボードが管理する)
  価格が高く、約7万円以上し、数十万円するのもある
  私のほか多くのユーザーが欲しくても買えない事が多いと思う

 2 ソフトウェアRAIDカード
  販売では単に「RAID5対応」って書かれてるものが大半
  Windowsでは容易にデバドラ登録できるので意識しないようになっている
  よってソフトウェアRAIDであることを必死に隠しているとも取れる
  CPUリソースを消費し、キャッシュメモリも搭載されていない
  (SCSIカードとして認識させ、RAIDはOSが管理する)
  2万円以下なら、まず間違いなくソフトウェアRAIDカードです

 私のところで使用しているSil3114搭載RAID5対応カードも上記の2に該当するボードです。販売や広告ではRAID5対応って書いてあり、BIOS起動中にRAIDとして構築してやることができます。この機能で構築されたRAIDはWindowsではデバドラを容易にインストールすることができるので簡単に使用することができます。
 しかし、LinuxにおけるハードウェアRAIDではありませんのでソフトウェアRAIDを構築してやる必要があります。
 fedora8のインストーラでもソフトウェアRAIDを構築できる場面があります。
karnel2.4系列の頃に販売されていたPATA-RAID対応カードの多くが利用できます。これは現在のkernel2.6系列になってATARAID機能が充実されたおかげです。しかし、SATAはこれからのものであり、ATARAID機能みたいな便利なものがありません。よってSATAではインストール時点でRAIDを組み込める可能性はありません。

 さて、前書きはこの程度にしておいて、それでもソフトウェアRAIDをSATAで構築したので記述しておきます。

 まずソフトウェアRAIDとしての長短を記載します。
  1 安価に構築できる
  2 ドライブ単位のほかパーティション単位でも構築できる
  3 /ドライブや/bootディレクトリへは制約がある(RAID1のみ対応)
  4 /usrや/dev、/etcも基本的には上記3に従うのが良い
  5 /homeや独自作成ディレクトリとして使用するのが良い

 よって、私のところでは上記5のような使い方をしています。
 つまり、/smbshareというようなディレクトリを使用しておき、そこへソフトウェアRAIDとして構築したmd0デバイスをEXT3ファイルシステムでマウントし、sambaの共有データを保存する公開用領域としています。
 それなら、玄箱(黒箱)や素箱(白箱)で十分ではないかと思われる方も居られると思いますが、これらのNAS箱はRAID5に対応していません。
 逆にNASユニットならばRAID5で構築できますが、価格が高い…。資本力のない私のところでは手が届きません(懸賞でも当れば別ですけど…)。

 このため、/smbshareにマウントしてsmb公開ディレクトリとして運用することを前提にして説明していきます。

 ドライブ構成(/用ドライブを含む)
  intel ICH5 SATA接続 - /dev/sda (/用ドライブ)
  Sil3114    SATA接続 - /dev/sdb,sdc,sdd (/dev/md0用ドライブ群)
  Sil3114    SATA接続 - /dev/sde (/のバックアップ用ドライブ)

 まずは/dev/sdaにfedora8をインストールしておきます。
 必要なドライブを接続しておいて領域として認識できる状態にしておいてfedora8を起動させます。
 次にマウント予定となる/smbshareを作成します。
  mkdir /smbshare

 続いてsamba公開用として設定しておきます。
  chcon system_u:object_r:samba_share_t:S0 /smbshare

 さらにchmodをかけて一般ユーザーからも読めるようにしておきます。
  chmod 775 /smbshare

 いよいよ/dev/md0の構築になります。
 fedora8のRAIDツールはmdadmが行います。管理もmdadmコマンドを使用します。
 「RAID Linux」とかでGoogle検索するとmdadmよりもraidutil系が多く出てくると思います。これは2.4系列の頃はraidutil系が多く使用されていたことによります。fedora8ではraidutil系は実装されておらず、mdadmになります。
 まずは/dev/md0を構築します(改行で見えても1行です)。

  mdadm -C /dev/md0 -a yes -l raid5 -n 3 -x 0 /dev/sdb /dev/sdc /dev/sdd(この内容を大文字小文字に注意しながら一気に入力する)

 すると「mdadm: array /dev/md0 started.」ってメッセージが表示されます。
これで/dev/md0が構築開始されたことになります。
 えっ?開始?使用できるんじゃぁ~ないの?
 使用しない方がいいです。アレイを構築完了するまではジッと待ちます。
 ちなみに私のところではSATA2対応ドライブで320GBx3をRAID5した640GBの/dev/md0を構築完了するまでに要した時間は150分!!でした。気長に待ちましょう!!
 リアルタイムな経過を見ることはできませんが、ときおり次のコマンドを入力して経過を見ます。
  cat /proc/mdstat
 作成途中はRAID5でも何故か[UU_]となり、RAID4のような表示ですが完了すれば、きちんと[UUU]となります。finish=ってところを見て完了までの予定時間を確認したら他の事をした方が良いでしょう。
 500GBx3のRAID5なら3時間を越えると思いますので外出もできますねぇ。
 長い時間をかけて完了したら、/dev/md0の完成です。
 しかし、/dev/md0はいうなれば、/dev/sda1を用意したに過ぎません。
 よって、ファイルシステムを構築してやる必要があります。今回の場合はEXT3フォーマットになります。
  mkfs.ext3 -L raid5 /dev/md0

 -LオプションでLABELを埋め込んでおきます。
 ここでtune2fsで/dev/sda1と同じになるように設定しておきます。
 まずは、/dev/sda1を見ます。
  tune2fs -l /dev/sda1

 表示されたうち、Maximum mount countとCheck intervalに注目してください。fedora8のインストーラが作成した状態ではシステムドライブであってもMaxium mount countは-1、Check intervalが0となっています。
 よって、今回作成した/dev/md0も同じにしておきます。
  tune2fs -c "-1" -i 0 /dev/md0

 -1のところは-cの引数であることを強調します。
 本来ならば-iのところを180dとして半年に1度程度は再起動させたときにfsck.ext3を走らせたいところですが、任意に行ってください。場合によってはcrondに設定しておくのも管理上のポイントです。
 ここまで来たら、再起動~←してはいけません!!
 せっかくの/dev/md0を再起動時に自動認識してくれません。
 私の初回はこれで無駄な時間を過ごしました。
 再起動しても自動認識する設定を施しておきます。
 方法は/etc/mdadm.confを作成し、定義しておくことです。
 作成方法は任意ですが、私の場合は次のようになります。
  kedit /etc/mdadm.conf &

 KDEですのでkeditで編集画面を開いておきます。
 次の定義内容を埋めてやるのにUUIDパラメータが必要になりますのでコンソールで確認します。
  mdadm --misc --detail --brief /dev/md0

 これで表示されたUUID=ってのが重要なパラメータの1つです。
 その他はサンプルファイルを見て記入してください。

「mdadm.conf.sample」をダウンロード

これで再起動しても/dev/md0を自動認識します。
 あとはマウントしてやるための設定です。
 先ほどマウント用として作成したディレクトリにマウントさせてやります。
  mount /dev/md0 /smbshare

 無事にマウントできると思います。できない場合はSELinuxのコンテキストが修正できていなかったり、chownやchmodでの修正が合っていない可能性があります。
 マウントできたら'll -Z /'としてみます。
 SELinuxのコンテキストが変化していると思います。
 これはマウントした前の状態からマウントして変更されたためです。
 よって、マウントした状態でもchconしておきます。
  chcon system_u:object_r:samba_share_t:S0 /smbshare

 これでsambaの公開用として巨大な領域が確保されました。
 あとはsambaから設定やります。
 それと、/etc/fstabファイルを修正して、再起動しても自動的にマウントするようにしてやります。
 詳細はサンプルを見てください。

「fstab.sample」をダウンロード

 /etc/fstabへの追加場所としてはswapの前あたりが最適化と思い、私のサンプルではそうなっています。
 ちなみにサンプルではsambaのDOS拡張が使用できるようにuser_xattrを付加していることと、システムドライブとして/の1番目の後に2番目としてマウントするように設定してあります。

 これで/dev/md0の構築と運用開始までは完了です。
 あとはホットスワップのお世話にならないように適当な月数でドライブを更新したりしてください。
 万一にも/dev/sdbの障害が発生したら次のようになります。
 まずは障害を通知させ、/dev/md0に覚えこませる。
  mdadm --manage /dev/md0 -f /dev/sdb

 次にアレイから削除する。
  mdadm --manage /dev/md0 -r /dev/sdb

 念のため、/etc/mdadm.confを適当にリネームして自動認識しないようにしておく。
 ここでホットスワップでない私のような場合はサーバーを停止します。
  poweroff

 ドライブを交換し、電源を投入、サーバーを起動する。
 その後、アレイへの追加をする。
  mdadm -A /dev/md0 /dev/sdc /dev/sdd
  mdadm --manage /dev/md0 --re-add /dev/sdb

 進行をチェックし、完了すれば修復終了です。
  cat /proc/mdstat

 リネームした定義ファイルを/etc/mdadm.confへ戻す。

fedora8 で四苦八苦 ftp編2

 先日のvsftpdに続いてproftpdによるftpサーバーを構築してみました。
 ファイル名を日本語で表示させる機能はproftpdの方が上のようです。
 これはサーバーにて日本語ファイルを直接にcpし、Mozillaで表示させたらスンナリと日本語で正常に表示されたためです。
 vsftpdでは文字化けしていましたので、proftpdの方がウエ!!ということになります。
 他にもクライアントソフトを変えたりして試してみましたので後述いたします。

 さてproftpdの設定です。
 proftpdの設定で使用されるファイルは、/etc/proftpd.confファイルです。
 また/etc/ftpusersファイルもインストールされます。
 fedora8のproftpパッケージでインストールされる定義ファイルは、この2つです。
 デフォルトの/etc/proftpd.confを見る限り、他にも定義ファイルらしきものを作成する必要があるようにも思いますが、こちらは私の環境では使用しませんので説明もできません。
 ftpの使用方法としてはWebページで使用するファイル群をイントラネット内のPC端末からアップロードするだけのものとしています。
 ただし、何らかの事情により緊急的に外部からもファイルアクセスできるようにしています。
 このため、面倒なftps(TLS/SSL)を使用していません。
 SQLとの連携やLDAPとの連携も使用していません。
 もちろん、用途が用途だけにanonymousも設定していません。
 おそらく最も基本的な設定になろうかと思います。
 では、定義ファイルのサンプルです。

 /etc/proftpd.conf のサンプル
 「proftpd.conf.sample」をダウンロード


 /etc/ftpusers のサンプル
 「ftpusers.sample」をダウンロード

ftpusersファイルはvsftpdとproftpdとで保存されているディレクトリ位置が異なっていますが、ファイルの主旨と記載方法は同じになります。
 proftpdのマニュアルを見たのですがチョット前のベータ版からUseUTF8ディレクティブが用意されているみたいですが、マニュアルの説明ではFIXだけとなっており意味が読めない記載でしたので今回はディレクティブとして使用していません。
 UseUTF8ディレクティブを使用するには--enable-nlsを付加してproftpdを起動する必要がありそうです。fedora8ではパッケージが用意されていないmod_lang.cを何らかの方法でインストール必要もありそうですので、私は導入を見送りました。

 クライアントとしては、Windows端末を想定しています。
 fedora8からコンソールなりXなりから起動するftpクライアントでは正常に機能しますので面倒なことはありません。
 Windows端末で英数字だけを使用するなら、こちらも問題ありません。
 問題になるケースは、Windows端末から日本語ファイル名を使用する時です。
 これはLinuxとWindowsとの日本語文字コードに由来する問題です。
 ftpに限らず、WebやSambaでも問題になるものです。
 ftpですので出来れば日本語文字を使用せず、ローマ字とかで表現された方が無難ですが、敢えて日本語文字ファイル名にしたい時は、クライアントを選びます。
 インプレス社が運営しているWindows用フリーファイルダウンロードサイトである「窓の杜」にはftpクライアントとして3つが紹介されています。
 このうち、営利目的でない場合にはフリーとなるSmartFTPと国産フリーであるFFFTPの2つを使用してみました。
 FFFTPは文字コードを選択できるようになっています。サーバー側を無変換(S-JIS)にします。(S-JIS)と記載されていますが、サーバー内のファイル名を無変換にして扱ってくれますのでS-JISは余計ですが気にしないようにしましょう(fedora8のデフォルトはUTF-8)。端末側の文字コードをUTF-8Nにします。これでLinuxからもUTF-8で保存されており、KDEやGNOMEからも日本語でキチンと表示されます。
 次にSmartFTPですが、こちらは文字コードを指定するところがわかりません。自動とも思えますが、こちらもUTF-8で保存されている日本語文字ファイルをアップロードすると、Linuxからも正常に見れます。
 なお古いftpクライアントソフトではUTF-8に対応していないものもあり、無理にアップロードするとLinux側では日本語になっていませんの注意してください。

 Webページのアップロード用として定義していますのでchrootも効いています。よって~/public_html/フォルダよりも上の階層には行けません。

2008年2月 1日 (金)

fedora8 で四苦八苦 ftp編

 風邪をひいたらしく、しばらくの間はログチェックだけして寝るようにしていました。
 namedやpostfix、sambaも無事に機能しているようで3日間程の間はサービス停止することなく稼動しております。
 肝心のwebは先になりそうですが、前哨戦としてftpを構築しました。
 今回のftpは御自宅ネット内でwebページを転送することに限定して設定しています。
 よって複雑なオプションは調査していませんし、Windowsとの相性も詰めきっていません。
 ftpデーモンとしてはfedora標準のvsftpdを使用しています。
 特徴は少ないオプションで稼動することです。
 SELinuxでは、ftp_home_dirを有効にしてやるだけです。

 高機能を求める方はproftpdがお勧めです。
 proftpdはTL8Sで実装されていたftpで、設定ファイルはapacheに似た書式を採用しており、機能も細かに設定でき、バーチャル機能まで対応しています。

 例の如く、サンプルファイル群をアップします。
 vsftpdの設定ファイルは/etc/vsftpd/フォルダに格納されています。

vsftpd自体の定義ファイル
「vsftpd.conf.sample」をダウンロード

chrootさせるユーザー定義ファイル
セキュリティ上、ルート(/)へ行かせたくない時はリストアップする
「chroot_list.sample」をダウンロード

ftpユーザーとして利用させないユーザーリスト(general系)
「ftpusers.sample」をダウンロード

ftpユーザーとして利用させないユーザーリスト(個別アップ系)
「user_list.sample」をダウンロード

 anonymousは使用しない設定にしています。よってダウンロードなんかで使用する目的には適していません。
 単純にログインし、ユーザーのホームディレクトリ内に限りファイルとディレクトリ、パーミッションの設定ができるようになっているだけです。
 オプションスイッチを探していませんので私のWindows環境では日本語ファイル名が文字化けします(クライアントもfedoraなら正常に表示されます)。Windows環境でftpクライアントソフトを変えたり、表示言語を切り替えたりしましたがドイツもコイツも正常に表示できませんでした。
 SSL/TLSも定義していません。御自宅内のネットワークだけですので暗号化はしていません。
 こうした細かな機能を採用したい場合は前述の通りにproftpdをお勧めします。
 しかし、高機能なだけに…オプションが多すぎます。
 vsftpdの制約を考慮しながら運用した方が簡単で便利と思うのは私だけ!?

« 2008年1月 | トップページ | 2008年3月 »

2013年12月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

最近のトラックバック

ウェブページ