CPANからPlaggerいれた。
ubuntuにPlaggerいれてみた。
インストールついでにRootになる方法がわかったので。これからはSudoじゃなくてRootになる。というかubuntuはユーザーのPATHにsuが入っていないだけだった。
usr>sudo su root //rootでGo root>cpan .. cpan>o conf urllist push htp://any.cpan.ring.server //kddiを選択した cpan>o conf commit cpan>quit root>cpan install Plagger < /deb/null ....
Plaggerのインストールの長いこと。あまりにの長さに途中で飽きました。
aptitudeも必要
ubuntuでCPAN使ったこと無いのでCPANインストール関係のエラーがいっぱい。。
とりあえずこれはaptで入れなきゃダメっぽい。
root>aptitude install libxml2 libxml2-dev root>aptitude install expat libexpat-dev
CPANモジュール多すぎ
Plagger使うためにインストールしたCPANモジュール多すぎて何入れたか、メモ取ってられない。覚えてられない。なんかXML関係が大事だった記憶が。。。
>aptitude install plagger
で依存モジュール解決&簡単インストール来る日を夢見る。
Gmail Notifyが動かない。
assets_path: /home/cafe/plagger/assets
とかいたらPlaggerは
/home/cafe/plagger/assets/common/
にあるファイルを探しに行くらしい。オレ「わからないよそんなことw」必死にソース読みました。
なので
root>ls ./.cpan/build/xxxx/plagger/xxxx/gmail_xxx.tt //必要なファイルを発見 >cp ./.cpan/build/xxxx/plagger/xxxx/gmail_xxx.tt ./plagger/assets
xxxってなってるところはうろ覚え。。CPANのビルドキャッシュにファイルがあるからそれをコピーしてきた。
Publish側にも Publish::Scriptが欲しい
あった。Publish::Pipe
Filter側に Filter::Scriptが無いのか?
調べてみる
あった。Filter::Pipe
PlaggerがスクリプトをKick
CustomFeed::Script/Publish::Pipe/Filter::Pipeがあるから言語非依存になって嬉しいな。PerlしらないPHPユーザー*1もYAML書けばCPANの恩恵に与れるし、自分の得意な言語でカスタム出来るし、またマイナー言語のモジュールも共有できるかも。PearにPlaggerカテゴリ出来るかもね。
CustomFeedよりはSubscriptionを使う方がイイっぽい?
http://subtech.g.hatena.ne.jp/miyagawa/20061006/1160122942
Domain 失効情報を RSS/iCal に
を見ていると、
plugins: - module: Subscription::Config config: feed: - script:/home/miyagawa/tmp/domain-expire.pl - module: CustomFeed::Script - module: Publish::Feed .....
なんですね。ということはSubscription::Configで Script:で書けばおk?
pecl/mailparseをmbstring忘れた環境に入れる
ubuntuでapt-getしたphp5にpecl/mailparseを入れようとしたらエラーが出た
$>sudo pear install pecl/mailparse phpizeとかconfigureのあとにmakeでエラー
エラーがでたmbfl_no_encoding_qprint など mbfl関連のエラー。mbstringがない?そんなわけはない。phpinfo()をよく見てると、./confifureでenable mbstring がない?でも動く。組み込まれてるからか。
というか、自分でビルドしていないのでmbfl関係のパッケージがなくてあたりまえ?
手っ取り早い解決は、PHPビルドしなおし。
でもmakeはconfigure設定をaptのパッケージとそろえるのが面倒。
pecl/mailparseを自分でビルドすることに。
ディレクトリ構造はFedraのパッケージを参照。
php-pecl-mailparse-debuginfo-2.1.1-1.fc3 RPM for x86_64
ふむふむ。RPMはこうやってたのか
Files /usr/lib/debug/usr/lib64/php4/mailparse.so.debug /usr/src/debug/mailparse-2.1.1 /usr/src/debug/mailparse-2.1.1/ext /usr/src/debug/mailparse-2.1.1/ext/mbstring /usr/src/debug/mailparse-2.1.1/ext/mbstring/libmbfl /usr/src/debug/mailparse-2.1.1/ext/mbstring/libmbfl/mbfl /usr/src/debug/mailparse-2.1.1/ext/mbstring/libmbfl/mbfl/mbfl_convert.h /usr/src/debug/mailparse-2.1.1/ext/mbstring/libmbfl/mbfl/mbfl_encoding.h /usr/src/debug/mailparse-2.1.1/mailparse.c /usr/src/debug/mailparse-2.1.1/php_mailparse.h /usr/src/debug/mailparse-2.1.1/php_mailparse_mime.c /usr/src/debug/mailparse-2.1.1/php_mailparse_mime.h /usr/src/debug/mailparse-2.1.1/php_mailparse_rfc822.h
mbfl関係のソースは、php本体のソースにほしいものがあることを確認
$> ls php-5.2.0/ext/mbstring/ CREDITS config.m4 mb_gpc.h oniguruma php_unicode.h README config.w32 mbstring.c php_mbregex.c tests README.libmbfl libmbfl mbstring.dsp php_mbregex.h unicode_data.h README_PHP3-i18n-ja mb_gpc.c mbstring.h php_unicode.c
これらのmbstringのソースを使えばmakeできそうだ。php本体のソースからmailparseのソースに突っ込む。参照してもいいけど突っ込むほうが楽かも。
$>ls php-5.2.0/ext/mbstring/ $>mkdir ./mailparse-2.1.1/ext/ $>cp ./php-5.2.0/ext/mbstring ./mailparse-2.1.1/ext/ -R $>cd mailparse-2.1.1 $>phphize $>./configure $>make $>sudo make install
これでビルドは通った。
ちゃんと動くかな?wkwk
UbuntuにPythonアプリTRACを入れてみた
手順は、apt-getを用いたもの。
http://trac.edgewall.org/wiki/TracUbuntuMultipleProjects
http://trac.edgewall.org/wiki/TracOnUbuntu
- TRACをmod_pythonで動かす場合
http://trac.edgewall.org/wiki/TracUbuntuMultipleProjects
などを参考に。
どうしても動かない。
Apache2の構成は、virtual host mpm=prefork mod_rewrite libphp5 dav_fs dav_svn userdir
でも
trac unsupported file format
と怒られた。
激しく悩む。
ある、ログに行き着く
PHP5をモジュールから消したら動作するよ!!
http://lists.edgewall.com/archive/trac/2006-April/007686.html
マジかよ。
やってみた。
#>sudo a2dismod php5 #>sudo /etc/init.d/apache2 reload
動いた。。。。。
php5と同居できないのか?
どうもunsupported file formatということは、SQLite関連のエラーっぽい?ならPostgreSQLにすれば動くかも?これはweb.pyに移行しろという神のお告げだと思うことにする。PHPにGood-byするかなぁ
まぁたぶん、php5が内部で使ってるSQLiteモジュールとpythonが使ってるSQLiteがあって、Pythonが使いたいSQLiteモジュールはPHP5に上書きされててつかえねぇぇって事なんだろうな。
NFSも良いけどさ、SambaのNAS資源を活用したいよね。
SAMBAで動いてるNASがいっぱいあるし、低価格でRAID1/0を搭載してる箱もある。これは使うべきだろう。NASの方が便利だし。
どうやるの?検索すると、smbmountってのが見つかった。でもsmbmountは裏方で、使い方はmountするだけらしい。実際やってみた。
%>sudo mkidir /mnt/nas %>sudo mount -t smbfs -o username=veryberry,password=[hoge] //samba-fs/common /mnt/nas/
はいできた。日本語も見えるよ!!。ShiftーJISをUTF-8に変換してくれてる。国際化対応ってすばらしい。
使ったモノ。
Sambaサーバー:何処にでもあるNAS箱
クライアント:ssh(poderosa)
sshホスト:ubuntu 6.02-ja
smbd:3.x
usage
mount -t smbfs[Samba形式を指定] -o username=[sambaユーザー名],password=[sambaパスワード] //[Windows(samba)ホスト名]/[ディレクトリ] /[マウント先]
NFSもいいけど、長いものに巻かれてみる。共有は全部Sambaで良いじゃん。
何かあったとき、Windowsからみれるし。日本語通からubuntuで良いじゃん、uft-8でいいじゃん
pgpoolは期待より遅かった。
そのままでは、pgpoolは期待したほど早くなかった。
pgpool-ii 経由でpgbenchを測定したよ。
動作モードは、レプリケーション、キャッシュあり。ベンチはSELECTを測定。更新系クエリはレプリケーションだと絶対遅いだろうと予想してる。
#>./pgbench -p 9999 bench -S starting vacuum...end. transaction type: SELECT only scaling factor: 1 number of clients: 1 number of transactions per client: 10 number of transactions actually processed: 10/10 tps = 16.971186 (including connections establishing) tps = 17.087299 (excluding connections establishing)
postmasterにpgpool(プロキシ,レプリケーション)無しで接続
#>./pgbench -p 5433 bench -S starting vacuum...end. transaction type: SELECT only scaling factor: 1 number of clients: 1 number of transactions per client: 10 number of transactions actually processed: 10/10 tps = 59.243461 (including connections establishing) tps = 62.716371 (excluding connections establishing) #>./pgbench -p 5434 bench -S starting vacuum...end. transaction type: SELECT only scaling factor: 1 number of clients: 1 number of transactions per client: 10 number of transactions actually processed: 10/10 tps = 211.815043 (including connections establishing) tps = 262.460303 (excluding connections establishing)
ubuntuにpgpool-iiを苦労して入れたけど、サーバースペックが足りないようで、思ったほどベンチが伸びない。というか、明らかにスコアが悪い。postgresql.confを見直す必要がありそうだ。そもそも、古いノートPCなのでDBサーバーを動かすには向いていないのかもね。コネクションプーリングは都市伝説なのかもしれない。
測定環境 Celeron 500MHz, Men 386MB
bashの基本をおさらいしてみる。
Linux使うのは3年ぶりなので、すっかり錆付いてる。
tabで補完
当たり前だけど。[tab]でコマンド、引数、パスを補完できる。
$>apt[tab] apt-cache apt-ftparchive apt-sortpkgs apt-cdrom apt-get aptitude apt-config apt-key apt-extracttemplates apt-mark
カーソルキー
cmd.exeでHOMEキーやENDキーをの代用に。
行頭に移動 | [Ctrl]+[A] |
---|---|
行末に移動 | [Ctrl]+[E] |
1文字左に移動 | [Ctrl]+[B] |
1文字右に移動 | [Ctrl]+[F] |
1単語左に移動 | [ESC]+[B] |
1単語右に移動 | [ESC]+[F] |
1文字削除 | [Ctrl]+[D]、[Ctrl]+[H] |
Debianのapache2は使いやすい
使いやすいけれど、クセが強い。
モジュールを組み込むときは、専用のコマンドを使うと良い。
#>a2enmod [使いたいモジュール名] #>a2dismod [ロードをやめるモジュール名]
利用可能なモジュール一覧は、
#>a2enmod [Enter]
で表示された。
同じように、VirtualHostやLocationの管理も出来る
#>a2ensite [利用したいサイト設定] #>a2dissite [利用しないサイト設定]
頻繁に設定を変更するテストサーバーには便利だ。でも、状態バックアップがとりづいらいのは、便利さとのトレードオフかな。