タグ » LAMP «

2009/02/12 木曜日 | 投稿者: aqua

こんばんは、aquaです。

最近、時間があるので・・・という訳ではないが、どはまりしていたRSSリーダーが片付いたので、他のLAMPツールの評価を幾つか進めてみた。まず一つめはcacti。これは以前から使用しているツールだが、未だに仕掛けていなかった。RRDToolを使用して、サーバのリソース推移等をグラフ化してくれるツールだ。MRTGよりもきれいで簡単にセッティングできるので、最近はcactiを使用している。やはり、PHP & MySQLでワークするのもポイントが高い。久々に本家にアクセスして構築し直したが、やはり日本語化されていないんだね。人気ありそうなツールだから、日本語化してくれる人がいてもいいのに。

次は、パスワード管理用にclipperzと言うツールを試してみた。構築は至って簡単。普通に解凍して、configurationファイルを編集したら使い始められた。注意点はphpでbcmathという機能が使えないといけないので、phpinfo()で確認する必要がある。なければ、- -enable-bcmathオプションを付けてphpをリメイクしよう。いろいろなウェブサービスのログイン画面においてユーザー名&パスワードを入れた状態で、clipperzのブックマークレットを起動すると、ダイレクトログイン用のコードを表示してくれる。これをclipperzの新規カード作成フォームに貼り付ければダイレクトログイン用リンクが一瞬で出来る。例えばgoogle adsenseのログイン後画面へ一発クリックで入れる訳だ。firefoxであれば、ダイレクトログインのリストをサイドバー化する事も可能。
※ツールにあるサイドバーのURLはサービス用のものなのでインストールタイプの場合は、『http://domain.com/clipperz/?compact』のようなURLをサイドバー化すればよい。

最後は、nagiosの設定ファイル系をDB化するnagiosqlである。nagiosそのものは使っていたが、nagiosqlの使用は初めて。設定ファイルをDB化(≒レプリ化)することで多重化し、万一nagiosノードが死んでも復旧できるようにする。理想的なのは、スレーブノードと常に設定情報を同期し、nagiosをホットスタンバイ化する事だ。セットアップは簡単だったが、これも日本語化されていないので、nagios設定は多少面倒だった。一番気に入らないのは、結局write config fileで全ての設定をファイルに落とす事だ。直接、DB内にある設定を見てくれる訳ではないんだね。ホットスタンバイ化するときは、全ファイルのwrite config fileとnagios再起動を自動化する必要がありそうだ。

さて、この辺りで当初欲しいと考えていたバックヤードツールは全て揃った感がある。あえて言うとやはりスケジュールツールをもっとよいものに入れ替えたいが、これは次回の課題としよう。そろそろ今までのノウハウを全てwiki化して、いよいよ開発に取り組んでいきたいところだ。そういえば、バージョン管理ソフトは何を使おうかな?w

カテゴリ: 技術系  | タグ:  | コメント
2009/01/25 日曜日 | 投稿者: aqua

こんばんは、aquaです。

本日はサーバのメール環境について。今まではqmailとqmail-vidaを利用していた。しかし、今回のサーバから64bit OSに変更した為か、qmail-vidaのコンパイルが通らなくなった。殆どバージョンアップのないqmail(作者のポリシーもあるだろけど)を使い続けることにそろそろ疑問を感じ始めていた時期でもあったので、最近流行のpostfixにトライすることにした。他の機能で何度も触れている通り、なるべくデータはMySQLに格納するように設定する。ウェブで調べた結果、以下の構成が理想的。

  • cyrus-sasl (MySQLを使ったSMTP認証)
  • dovecot (MySQLを使った認証およびpop3, pop3s, apop, imap, imaps)
  • postfix (SMTP over SSL)
  • postfixadmin (ブラウザによるアカウントやエイリアス管理)

更に加えるとdovecotでは、MySQLによるバーチャルユーザー認証だけでなくOS認証もサポートする。今回はMTAの話なので細かい事は後日にするが、複数のメールアカウントが存在している為(この点については皆さん共通の悩みだよね)OSユーザーに全てのメールを集約している。実際にメールを読み出すのは、OSユーザーで認証を通したり、またはターミナル上でCUIツールを利用する事になる。

さて、処理の流れとしてはpostfixadminでブラウザにてアカウント作成やエイリアスの転送設定などを行う。そこで作成したアカウントを利用してpostfix + cyrus-saslにてSMTP認証を行う。更に同一のアカウントに対して、dovecotがpop認証やimap認証を行う。旧環境との互換性のためにapopを引き続きサポートするのと、SMTPもpop & imapも暗号化通信(SSL)ができる事とする。可能であれば、MySQL上に格納するパスワードを不可逆の暗号化したかったが、これはdovecotが対応していなかったので諦める。いつの間にかパスワードを忘れていたりするから、フラットに読めた方が助かったりするんだけどねw

セットアップ自体は割りとスムーズに進んだ。はまったのはやはりpop & imapにてMySQL認証とOS認証を併存させる事と、MySQLのテーブル上にあるパスワード情報を不可逆暗号化させようとした事だけ。前者はコツコツ調べて実現、後者はいろいろ試したけどやはり実現できなかった。作ってみた結果としては、めちゃめちゃカスタマイズ余地のあるpostfixに変更して大正解という感想だ。メルマガみたいな一括送信はqmailが強いというのが一般的だが、いつかメルマガを書けるような身分になるまではpostfixで充分そうだw

以下、参考までに。

カテゴリ: 技術系  | タグ: ,  | コメント
2009/01/17 土曜日 | 投稿者: aqua

こんばんは、aquaです。

かなりの間、ニュースをチェックするためのツールが課題だった。クライアント型のRSSリーダーがおそらく私が期待しているものに近いと認識しつつも、使用するクライアントが5つあるので、ブラウザで使用できてクライアントを選ばないものが望ましい。更に、いずれかのサービスを利用する形ではなくサーバ・インストールできるOSSで、データストアにMySQLを使用しているものがベスト。ググった感じ、近そうなものとしてFastladderとFreshReaderが見つかった。

前者はPHPではなくRuby on Railsを使用している。悪くはないのだが、サーバ運用上ちょっと面倒。後者はデータストアがオリジナルのファイルでMySQLを選択できない。もう少し探してみると、FastladderをPHPにポーティングしたOpenFlpというツールを見つけた。これが正に理想どおりのツールだ?っと思いつつ、インストールしたのが悪夢の始まりだった・・・。クローラーはクエリーを修正しないとワークせず(他に方法あるのかもしれないが・・・)、やっと動いたと思ったら文字化け。今まで数々の文字化けを修正してきたが、このツール(CakePHP)の文字化けは一筋縄ではいかなかった。他のツールとMySQLを共有しているので、完全UTFな環境に移行できない為かもしれないが。

相当粘ったが、どうしても直せないので別のツールを探してみると、『Tiny Tiny RSS』というのが見つかった。マルチバイト対応、AjaxによるUI、モバイルの利用もOKということで、かなり理想的なツールだった。先日の苦労が何だったのか、というくらいスムーズに環境は構築できた。${TTRSS_HOME}直下にあるconfig.phpファイルにて、以下の設定を加えたくらい。

define(‘SINGLE_USER_MODE’, false);
define(‘ENABLE_UPDATE_DAEMON’, true);
define(‘SESSION_COOKIE_LIFETIME’, 86400);
define(‘SESSION_EXPIRE_TIME’, 86400);
define(‘ENABLE_TRANSLATIONS’, true);
define(‘MYSQL_CHARSET’, ‘utf8′);
define(‘PHP_EXECUTABLE’, ‘/usr/local/bin/php’);

あとは、ログイン後のページにある設定画面でカスタマイズ。

フィード表示の組み合わせ → はい
この日数よりあとの古い投稿を削除する (0 は無効です) → 0
フィードカテゴリーを有効にする → はい
自動的に既読として記事をマークする → はい
新しいブラウザーのウィンドウで記事のリンクを開く → はい

とにかく便利で使い易い。無駄に見続けちゃってよくないくらい。他のクライアント型のRSSリーダー等を使った事がないので、そういうものに慣れた人がどう感じるかはわからないけど。まだ、クローラの仕掛け方だけ課題が残っているが(準備されている起動用ファイルはdebian用)、かなり安定して使えている。データは全てMySQLにあるので、性能問題は自力で改善し易いし、他のツールからの2次利用もコーディングし易い。しばらくはこのツールで利用を続けてみるつもりだ。

カテゴリ: 技術系  | タグ: ,  | コメント
2008/12/26 金曜日 | 投稿者: aqua

こんばんは、aquaです。

今日はwordpressについて変更したポイントのまとめをしておこう。まず、テーマの変更だが、テーマそのものは公式などで入手できる。入手したテーマファイルを解凍して <<${WORDPRESS}/wp-content/theme>> に配置する。ブラウザ上からテンプレートの変更を行う場合はパーミッションを適切なものに変更しておく。あとは管理画面の外観→テーマで変更可能。

次に広告用プラグイン。今回はadsense-deluxeというものを使ってみた。ファイルはこちらのサイトからダウンロードできる。ダウンロードしたファイルを解凍して <<${WORDPRESS}/wp-content/plugins>> に配置する。管理画面のプラグインで機能を有効化する。設定のAdsenseDeluxeで広告の名前やコードを設定する。

もう1つアクセス解析用のプラグインを追加した。wp-stattraqというもので、これはこちらから入手可能だ。上記と同じディレクトリに配置し、必要に応じてwp-stattraq-install.phpを修正。例の如くプラグインを有効化して、以下のようなURIを表示し、該当する項目をクリックすれば完了。

http://domain.com/wordpress/wp-content/plugins/wp-stattraq/stattraq-install.php

最後にwordpressそのもののバージョンアップ。公式から最新バージョンを入手する。既存のwordpressをバックアップコピーし、入手した最新版で上書きする。wordpressの管理画面へアクセスすると、アップグレードボタンがあるのでクリックすると完了。特に問題なく2.6.1 → 2.7.0のマイグレーションに成功したが、stattraqの画面が妙に見づらい状態になっている。これ直す方法ないのかなあ・・・。

カテゴリ: 技術系  | タグ: , ,  | コメント
2008/12/15 月曜日 | 投稿者: aqua

こんばんは、aquaです。

新サーバ用のタワーを購入してから、実は2年以上経っている。いつか構築しようと思いつつも、必要に迫られないとダメだね、人間は(私は・・・か)。だましだまし使ってた既存機も、先日遂にディスク障害ぽい症状が現れた。ふと確認するとファイルシステムがリードオンリーでマウントされた状態だった。特に意図することはなかったものの、電源オフにしてしばらく放置しておくと普通に起動できた。さすがにディスクは心配なので、fsckかけて再起動したところ、障害は解消してしまった。

とはいえ、またいつ問題が起こるかわからないので、writeを伴うバッチの停止と新サーバへの機能移行を本気で開始した。まずはDNSから手を付ける。いつもだったら最新のBINDを導入しておしまいだが、今回はMyDNSを使用してみるつもりだった。データモデルにMySQLを使用出来る事が採用の大きなウェイトを占めている。今回のサーバ構築は、これに限らずなるべくデータ周りをMySQLに持たせ、バックアップにMySQLレプリケーションを利用するつもり。

MyDNS自体の設定はそれほど難しくはなかったが、自ドメイン以外の名前を引けないので、その点を構成でカバーする必要がある。最初に試したのが、別のBINDに再問い合わせる方法。しかし、この方法は必ず逆引きの再帰問い合わせを伴う為、レスポンス性能が異常に悪かった。次のアイデアは、BINDをフロントに持ってきて自ドメインのみMyDNSにフォワードする方法。この方法については以前もBINDで運用していたので、レスポンス周りに不安はなかった。結局、BINDとMyDNSが並存する面倒な構成になってしまったが、自ドメインの運用に限って言うと幾つかメリットがある。

上記構成にapache + phpの環境があれば、MyDNSConfigというツールが導入できる。これを利用すれば、ウェブベースでネームサーバのレコードを管理でき、且つDB上でそのデータを運用できる。DNSレコードを機能ごとに準備して、それなりに増やしていく自分としては非常に作業し易い。実際にウェブベースのインタフェースも触ってみたが、直感的で問題なく使用できた。しばらくは、この構成での運用が自分のスタンダードになりそうだ。以下、参考までに。

カテゴリ: 技術系  | タグ: ,  | コメント
2008/11/25 火曜日 | 投稿者: aqua

こんばんは、aquaです。

久々の更新過ぎて自分でも反省中。いろいろ忙しかったとはいえ、結局2ヶ月も更新が滞った。二言三言でもいいから、最低限一週間に一回は何か書き残そう。

多忙ながらも時間を見つけつつ自分のサイトを構築中。以前からの課題だけど、自分専用のバックオフィスが欲しい。グループオフィスも試したが、カスタマイジビリティが低く痒いところに手が届かない。目標はブックマークやブログ、ドキュメント、タスク、パスワード、RSSなどをなるべく使いやすい形で管理する事。

放浪した挙句、使い慣れているxoopsにリトライ。今回のサイト移行でxoopsをやめた経緯は、各種モジュールが準備されているものの、それぞれが特化していないため、機能面で不満に思う事が多かったからだ。しかし、今度はブログはWordPressに、ドキュメントはMediaWikiに、ブックマークはscuttleに、と各機能は専門ツールに任す。全てのツールが共通のDBを使用しているので、xoopsはそれらを繋ぐブリッジ、若しくはデータを横断的に参照するDBナビゲータ的な役割を担う。

この方法ならば以前、感じたようなストレスを軽減できる気がする。ただ認証はバラバラなので、その辺りは別のアプローチが必要になるが。オープンソースだから改造すればよいと言う考え方もあるが、前回はカスタマイズし過ぎたせいで、現バージョンに対する依存度が高くなり過ぎて身動きが取れなくなった…。GoogleみたいなASP的サービスを使用する方が早いのかもしれないが、折角DB周りに強いスキルを持っているのだから、何とか自前で管理してみたい。一つ一つ不便さを解決していくのも、よい勉強になるわけだから。

カテゴリ: 技術系  | タグ: ,  | コメント
2008/09/03 水曜日 | 投稿者: aqua

こんばんは、aquaです。

昨日の続きでグループウェアの評価。なかなか理想的なツールに辿り着けないので、余り身近なものに限定せず、海外製のツールやローカライズされていないツールも含めて評価する事にした。構成はLAMPに絞ったままだけど。

かなり使いやすそうな印象を受けた。祝日設定も可能。しかし、日本語が一部文字化けしていたのと、グループ単位でのスケジュール管理方法がぱっと見わからなかった。他のものも評価しつつ、よさそうであればこの辺りの問題を解消して使用するのもありかもしれない。

これも同様に使いやすそうだった。大分ツールを選ぶ勘所がついてきたのか、いいものに出会える確率が上がってきた。最初から日本語の問題もなしだったが、これもグループ単位のスケジュール管理についてはわからず。他のツールのようにカレンダーから日付を選べない事やプロジェクト管理よりなインターフェースが少し気になった。

これが一番理想的なツールだった。ユーザー単位でオブジェクトをディレクトリのように管理ができて、それぞれパーミッションを設定できる。見た目も結構好みだったし、まずはこのツールを使う事に決定。祝日の設定や日付フォーマットの修正方法がまだわからないが、おいおい考えていくつもり。UIとしては選択したタブを記憶してしまい、しばらくしてから元のモジュールにアクセスしたときに以前のタブで表示されるのが使いづらい。デフォルトのタブに戻ってくれいいのに、と思う。

ブックマークやタスク管理、パスワード管理も付いているので、少しずつ使い慣れていこう。

カテゴリ: 技術系  | タグ: ,  | コメント
2008/09/02 火曜日 | 投稿者: aqua

こんばんは、aquaです。

ここ3ヶ月くらいは個人的に技術的な作成意欲が強い。そもそもブログを構築したのもその一環だ。以前、使用していたxoopsが機能面やパフォーマンス面で今一歩だったので、バックオフィスツールの移行を検討している。なんといっても評価が楽なので、今回もLAMPを中心として選別。主に使用したいと考えている機能は以下の優先度。

  1. カレンダー兼スケジューラ(要マルチユーザー)
  2. TODO管理
  3. ブックマーク
  4. パスワード管理
  5. RSSリーダー
  6. WIKI

下に行くほど、CMSで無理矢理統一せず、別のツール対応でよいかもしれない。かなりのツールを試したが、なかなか決定的なものは見つからなかった。それまでの経緯を整理しておく。

LAMPで構成されたTODO管理ツール。テンプレートレベルで文字コードの対策や折り返していて見えない部分の修正が必要だった。私見としては、まとまり感は悪くないものの、一息でスケジュールを把握しづらいのがネック。

LAMPで構成されたカレンダーツール。日本語はすぐに使用できたものの、見た目も機能もただのカレンダー過ぎた。壁掛けカレンダーの延長であれば充分かもしれない。

LAMPで構成されたグループウェア。このあたりから、自分が求めているものがただのカレンダーではなくグループウェアに近いものと自覚し始めた。このツールも和製ということもあり、見た目も使い勝手も小気味良かった。ただ一部文字化けしていたのと、イベントの繰り返し設定が出来なかったので採用せず。

LAMPで構成されたグループウェア。プロジェクト管理が中心?日本語のリソースや設定方法など割と充実していた。日本語化されたバージョンはPHP4、MySQL4をターゲットととしており、メソッドに@を付けたり、SQLのFROM句を()でくくったりするなどの修正が必要だった。※最新版は日本語化されていないが、バージョンの問題はなさそう。何とかワークするところまで試してみたが、ちょっと使い勝手がいまいちだった。

有償ツールや、LAMP以外の構成を検討すべき?軽く絶望しながら後半へ続く。

カテゴリ: 技術系  | タグ: ,  | コメント
2008/08/22 金曜日 | 投稿者: aqua

こんばんは、aquaです。

慣れるためにも、wordpressの機能をいろいろいじってみる。

まず、アカウント管理。管理者権限のユーザーで投稿するのは何となく気持ち悪い。投稿者がadminとかになるのが個人的にはいただけない。ユーザーには5つのレベルがある模様。今回は、管理者の次に強い権限を持つ編集者ユーザーを作成。作成したユーザーで昨日の投稿を再編集し、投稿作成者を変更。オーナーが編集ユーザーに変わった。この辺は直感的。

これで投稿者もadminとかじゃなくなるかな、と改めてトップを見ると・・・投稿者名が表示されていないねw

おそらくテンプレートの編集で変更できるはず。テーマで一気に切り替えられそうでもあるが、今回は個別に直してみる。が、テンプレートをいじるメニューが見つからない。どうやら編集者ではテンプレートをいじる権限はないようだ。管理者ユーザーに切り替えてみると、該当のテンプレートが見つかった。ググった結果、追加したいテンプレートタグは以下。

<?php the_author();??>

実は該当テンプレート内にこのタグがコメントされた形で記述されていた。そちらをそのまま使う形で編集。保存・・・ってまたボタンがない。よく見るとページの下部にパーミッションを警告するメッセージが。サーバ側で以下のディレクトリのパーミッションをhttpユーザーに開放する。

${WORDPRESS}/wp-content/themes

無事、保存できた。トップページを見ると投稿者名が表示されている。よしよし、こんな感じか。他のグルーピングで投稿を参照すると投稿者の記述は見当たらない。共通パーツにはなっていないんだね。次回は好みのテーマを探してみよう。

カテゴリ: 技術系  | タグ: , ,  | コメント
2008/08/21 木曜日 | 投稿者: aqua

こんばんは、aquaです。

今更ながらblogの運用にトライしてみる。

まずはツールの選定から。環境的には慣れているLAMPを希望。xoops等のCMSによる運用も試してみたが、統合的な管理(特に認証系)は好みだったものの、各機能がもう一歩な印象が強かった。今回もCMSは検討に含めてはいるものの、しばらくは専用ツールを試してみるつもり。代表的なのは以前に調べたときとそれほど変わっておらず、やはり以下が候補か。

movable typeは静的生成が特徴?この特徴に魅力を感じればよいのかもしれないが、各サイトの意見を見る限り、取り回しの面倒さの方が目立つ感じ。blogツールの本格的な運用はほぼビギナーな自分としては、敷居の低いものを選びたく、とりあえず選択肢から外す。

あとはnucleusとwordpress。前者はしっかりカスタマイズして育てていく印象。後者は最初からある程度使いやすい模様。何となく好みとしてはnucleusぽいが、まだまだ素人なのでwordpressの方がとっつきやすそう。何はともあれ、両方インストールしてみた。

インストール自身は最近のLAMPツールな感じで非常に簡単。どちらもアカウント管理をどうすればよいのやら?とりあえず管理者で運用していけばいいのかな。当初の予想通り、nucleusは何すればよいのかわからない。一方、wordpressはウィジェットの追加やヘッダの変更など、いじってみたくなる要素が目についた。タグ管理も好み。

というわけで、慣れるまではしばらくwordpressで運用開始。機能面に慣れてきたら、nucleusをカスタマイズして再度比較評価する予定。それまで体力あればだけど。

さ、文章も出来たし、初投稿してみよう・・・って、投稿のボタンどこ?w

カテゴリ: 技術系  | タグ: , ,  | コメント