PC関係のメモ
ここで使ってるtDiaryを2.3.1にアップデートした / estraier-searchではまる / Hyper-Estraierちょっぱや
ここで使ってるtDiaryを2.3.1にアップデートした
2.2系から大きく変わったのはEUC-JPからUTF-8になったこと。
ところどころ文字化けしてるけど(゜ε゜)キニシナイ!!
estraier-searchではまる
estraier-search/estraier-register.rbを実行したらメモリを500MB以上食いつぶして止まってた。
最初はHyper-Estraier側が食いつぶしてたんだと思ってたので時間をロスしてた。
多分これ↓と同じ現象で「squeeze.rbを50sp.rbでもロードしているのが原因」ではないかと推測。
http://www.cozmixng.org/retro/projects/tdiary/tickets/120
似たようなパッチを書いたら直ったっぽい。
こういうときどんな経路で伝えるのがいいのかか迷ったけど、とりあえずtdiary-develに報告してみた。
あー、あとrast-search/rast-register.rbも同じ現象が発生したので、多分同じ原因と思われ。
Hyper-Estraierちょっぱや
rast比で体感ですが、パネェ。
しかも類似検索がある!(;゜Д゜)
…rast-searchにもあったんだっけ(;・∀・)
うろ覚え。
Google Chromeの最新開発版でNTLM認証がサポートされた
http://googlechromereleases.blogspot.com/2009/03/201680-has-over-150-bug-fixes-new.html
- NTLM auth without automatic logon (Issues 6567, 6824)
自動ログオンにはセキュリティの問題も絡むので慎重にならざるを得ないけど、実装を期待したい。
estmaster落ちてdbが壊れてた / Chromeのmonospaceフォントを変更
estmaster落ちてdbが壊れてた
$ sudo estmaster start casket/ 2009-03-18T00:26:10Z ERROR startup failed: another process (pid:12943) has opened the database
プロセスを探すも見つからず。
$ ps aux|grep est
しょうがないので_pidファイルを削除して起動を試みる。
$ sudo rm casket/_pid $ sudo estmaster start casket/ 2009-03-18T00:27:25Z ERROR startup failed: the database (/hoge/casket/_node/tdiary) could not open
データベースが壊れているっぽいので、復旧を試みる。
$ sudo estcmd repair casket/_node/tdiary/ $ sudo estmaster start casket/
無事起動した。
Chromeのmonospaceフォントを変更
Chromeのmonospaceフォントが小さくて読みづらかったので変更した。プロポーショナルフォントは明朝/ゴシック共に16ptだったのに対して、なぜかmonospaceだけは13ptになっていた。
変更前: MSゴシック 13pt 変更後: MeiryoKe_Gothic 16pt
MeiryoKe_Gothicについては下記URL参照。
Poundをインストール / CentOSのRubyをソースからインストール / Railsをインストール / mod_rpafをインストール
Poundをインストール
$ wget http://www.apsis.ch/pound/Pound-2.4.4.tgz $ tar xvfz Pound-2.4.4.tgz $ cd Pound-2.4.4 $ ./configure $ make $ sudo make install
CentOSのRubyをソースからインストール
パッケージのRubyを削除
$ sudo rpm -e ruby-devel $ sudo rpm -e ruby-rdoc $ sudo rpm -e ruby-irb $ sudo rpm -e ruby $ sudo rpm -e ruby-libs
Rubyをインストール
$ cd /usr/local/src/ $ wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p72.tar.g $ tar xvfz ruby-1.8.7-p72.tar.gz $ cd ruby-1.8.7-p72 $ ./configure $ make $ sudo make install $ sudo ln -s /usr/local/bin/ruby /usr/bin/
RubyGemsをインストール
$ cd /usr/local/src/ $ wget http://rubyforge.org/frs/download.php/45905/rubygems-1.3.1.tgz $ tar xvfz rubygems-1.3.1.tgz $ cd rubygems-1.3.1 $ sudo ruby setup.rb
RDToolをインストール
$ wget http://www.moonwolf.com/ruby/archive/rdtool-0.6.22.tar.gz $ tar xvfz rdtool-0.6.2 $ cd rdtool-0.6.22 $ sudo ruby setup.rb
HyperEstraierのRubyバインディングをインストール
$ cd /usr/local/src/hyperestraier-1.4.13/rubypure $ ./configure $ make $ sudo make install
Railsをインストール
$ sudo yum install sqlite-devel $ sudo gem install rails $ sudo gem install sqlite3-ruby
demoをセットアップ
# rails demo # ruby script/server
mod_rpafをインストール
mod_rpafをインストール
$ wget http://stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz $ tar xvfz mod_rpaf-0.6.tar.gz $ cd mod_rpaf-0.6 $ sudo /usr/local/apache2/bin/apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c
httpd.confに下記を追記
LoadModule rpaf_module modules/mod_rpaf-2.0.so RPAFenable On RPAFsethostname Off RPAFproxy_ips 127.0.0.1
Mongrelをインストール / Railsのscript/serverで起動するWebサーバを選択する / DNSキャッシュをクリアする
Mongrelをインストール
$ sudo gem install mongrel $ sudo gem install mongrel_cluster
/usr/local/bin/以下にインストールされるため/usr/bin/以下にリンクを作っておく。あんまりお行儀良くない。
$ sudo ln -s /usr/local/bin/mongrel_rails /usr/bin $ sudo ln -s /usr/local/bin/mongrel_cluster_ctl /usr/bin
起動スクリプトをコピーして自動起動するように設定する
$ sudo cp /usr/local/lib/ruby/gems/1.8/gems/mongrel_cluster-1.0.5/resources/mongrel_cluster \
/etc/init.d/
$ sudo chmod 755 /etc/init.d/mongrel_cluster
$ sudo chkconfig --level 345 mongrel_cluster on
起動ユーザを作成する
$ sudo groupadd mongrel $ sudo useradd -g mongrel mongrel
設定ファイルディレクトリおよびPID作成ディレクトリを作成する
$ sudo mkdir /etc/mongrel_cluster $ sudo chown mongrel.mongrel /etc/mongrel_cluster $ sudo mkdir /var/run/mongrel_cluster $ sudo chown mongrel.mongrel /var/run/mongrel_cluster
Railsアプリを作成してみる。サンプルとして「demo」アプリを作成。
$ su - mongrel $ cd /var/www/ $ rails demo
Railsアプリにmongrel_clusterの設定ファイルを作成する。下記コマンドで/var/www/config/mongrel_cluster.ymlが生成される。
$ mongrel_rails cluster::configure \ --environment=development \ --port=3000 \ --log=/var/www/demo/log/production.log \ --pid=/var/run/mongrel_cluster/demo.pid \ --chdir=/var/www/demo \ --user=mongrel \ --group=mongrel \ --num-servers=3
生成された設定ファイルのシンボリックリンクを作成する
$ sudo ln -s /var/www/demo/config/mongrel_cluster.yml /etc/mongrel_cluster/demo
mongrel_clusterを起動する
$ sudo service mongrel_cluster start
http://localhost:3000/にアクセスできればOK。
Railsのscript/serverで起動するWebサーバを選択する
http://d.hatena.ne.jp/clayfish/20070519/1179587606
Mongrelをインストールしたらscript/serverで起動するWebサーバがMongrelになってるのが不思議だったので調べてみた。
Mongrelを検出したらWEBrickより優先してMongrelが起動するようになっているのが答え。
対象コードが古いけど最新版でも一緒。lighhtpdがないような気もする。
DNSキャッシュをクリアする
Windowsクライアント
ipconfig /flushdns
Windowsサーバ
GUI(dnsmngmt.exe)を使って名前単位で削除可能。
http://www.atmarkit.co.jp/fwin2k/win2ktips/415dnscache/dnscache.html
Linux(bind)サーバ
bind9.3以降であれば名前単位で削除可能。
rndc flushname example.com (bind9.3以降) rndc flush (bind9.2以降)
Rails疲れた
環境を用意するところまでで大分疲れて、redmineをバージョンアップしようとして失敗したところで諦めた。
- db:migrateでPostgreSQLの文字コード関連のエラーが出たのでSQL叩いて修正。
- Rails 2.3環境でのエラーを2、3カ所修正。
- Mongrel Clusterでの起動に失敗。
コードを追っかけて判る範囲は直してみたけど、心が折れた。コードの見通しは良かったと思うが、慣れない言語と慣れないフレームワークなので限界がある。 あと、環境の構築にも手間がかかったし。
既存コード追っかけるのはちょっとやめて、新規アプリでも作ってみるか…。
Rails考察
いろんな人が使っていたり楽天に採用されたり、Railsを使うメリットは大きいのだと思う。
が、現状は自分の案件に採用することは見送ろうと思う。
理由はいくつかあるが、発展途上であるため互換性の低さが気になる。フレームワークだけでなく、アプリケーションサーバ、言語も過渡期であるように感じる。
- フレームワーク本体(Rails)
- Rails 2.2系と2.3系の互換性。少なくともredmineは前回書いたように修正点がちらほらあったし結局動かすことはできなかった。
- Rails 3.0も遠くはない。
- アプリケーションサーバ
- 今まではMongrelが使われてたみたいだけど、開発がストップしている。
- ポストMongrelは?
- 言語
- Rubyが1.8系から1.9系への過渡期。
- RailsのRuby1.9対応は現在進行形?(2.3.0時点ではパッチが必要)
それは、活発に開発が行われていると言うことであるので決して悪いことではない。 Mongrelはともかく、フレームワークと言語は日々素晴らしい進化を遂げているのだと思う。
ただ、自分は快適に開発したいためにRailsを使いたかったのであって、非互換からくるバッドノウハウを追いかけたいわけじゃない。
ApacheのSSO関連モジュール
- mod_spnego
- mod_auth_kerb
- mod_ntlm
- Unofficial mod_ntlm
- mod_auth_ntlm_winbind


_ てすと [てすとです。文字化けする?]