2006年7月23日

Geeklog用のRSSアグリゲータを作成

先日インストールした、Nucleus用のRSSビューワーを参考にして、Geeklog用のハックを作成した。
RSSを読み込む機能自体はGeeklogが持っているので、作業したのは、指定した複数のRSSを読み込むことと、日付順に並べ替えるだけ。
なんとも簡単なものだ。

これだけの作業で、トップページの左右真ん中、どこでもRSSをあちこちから集めてきて日付順に並べることができる。
ソート順序は、新しいものが上になるようにしているが、古いものから並べるという需要はおそらくないと思うから、こんなものでしょう。
いろいろとオプションをつけたければ、これをプラグイン化する必要があるけど、今はそんな必要性を感じないのでこのままにしておこう。

ファイルは、Geeklog.jpにある。

設置方法は、readme.txtに書いた通り。
(lib-common.phpへの追加とlib-custom.phpへの追加を行なった後、Web上で静的ページとして呼び出すか、左右のブロックとして呼び出す。)

分からなければ、ここにでも書き込んでください。

2006年7月19日

MacOSXでRails

Railsですが、デフォルトのままではやはり動きませんでした。
OSX付属のRubyがやはりネックでした。
エラーは、
dyld: NSLinkModule() error
こんなメッセージです。その後に、「readline.bundleが問題」という感じのエラーも出ていました。
tsimoの日記などをみて、readlineライブラリをコンパイルしてインストールした後、Rubyをインストールしました。
Rubyだけじゃなくて、readlineなんて入れ替えて本当にいいのかなあという不安はありますが、とりあえず僕のところで問題は出ていません。
Rubyは、MacOSXWorkshopに収録されていればそれでもいいのかな?とも思ったんですが、前のPowerBookのときも自分でコンパイルしてインストールしていたので、大きな抵抗はありませんでした。

こういう努力の結果、Railsが無事動くようになりました。
稼働は、Railsで動くCMSであるRadiantで検証しました。
Radiant、かっこいいですねえ。うちはどうせほとんどコメントつかないから、Radiantでブログも作ろうかなあ、なんて思います。

これでIntel版に変わった僕のマシンでもRailsがちゃんと動くようになりました。
いよいよ開発を開始できますね。

なお、実際にRubyのコンパイルオプションは、tsimoさんの日記からたどった、ここを参考にしました。
この間、gemに収録されているパッチとか、Locomotiveを入れてみたりとか、いろいろやりました。Locomotiveはもちろん動くのですが、MySQLやRailsなんかはすでに自分で入れているのでかさなるとどういう結果になるか分からないので、結局は自分でコンパイルする方法を選びました。

2006年7月13日

NucleusにRSSAtomAggregatorをインストール

いろんなサイトの更新を更新順にまとめて表示できればすごく便利。
普段こういうのは、RSSアグリゲータがやってくれるのだが、自分のブログ上で実現するのはなかなか難しい。
それをNucleusで実現するのが、RSSAtomAggregator(配布サイト)。
自分でOPMLファイルを管理していればそれを使うことも出来るが、簡単なのは、そのまま管理メニューで、「Manual Feed」に取得したいRSSやatomのアドレスをいれるだけだ。
書式は、
サイト名|URL
で、サイト名も一覧に表示できる。
ちなみにうちでは、
  • ' target='_blank' title='<%title%>'><%description%>(<%owner%>)
  • このようにして、アイテムのタイトル(サイト名)と表示されるようにしてみた。
    表示例:右側の「おすすめサイト」がそれ)

    ちなみに、Bloggerのatomは文字化けしたので、NP_XMLSuportの652行目のキャラクタセット指定をUTF-8にして、ちゃんと表示できるようにしておいた。

    2006年7月11日

    TigerにMySQL5.0.22をいれて使いたい(その2)

    Tigerに最新のMySQLを入れて使ってみる実験を続けている。ほぼまともに動くようになってきた。
    phpMyAdminでソケットを指定しなければいけなかった理由が別のアプリをインストールしていてわかってきた。
    5.0.22でのUNIXソケットのデフォルトは、/tmp/mysql.sockだが、デフォルトで入っているPHPが想定しているソケットは、/var/mysql/mysql.sockのようだ。
    そこで、/var/mysqlを作成し、ここにシンボリックリンクを張ってやれば問題なく動く。

    あるいは、php.ini(デフォルトでは存在しないので、/etc/php.ini.defaultをリネームして使用する)でソケットの場所を指定してやるとよい。

    またデータベースを作成する際には、必ず、default character set utf8 をつけるようにした方がよい。

    と、だいたいこんな感じで文字化けせずにMySQLのアプリを使用できるはずだ。

    次回は、Geeklogをインストールしたときのメモを作成しておこう。

    2006年7月7日

    TigerにMySQL5.0.22をいれて使いたい(その1)phpMyAdminまで

    MySQLは、5.1系のベータバージョンが出ているが、少々怖いので安全っぽい5.0系をインストールすることにした。
    本家に、
    mysql-standard-5.0.22-osx10.4-i686.dmg
    があったので、これをインストールしたが、Appleのサイトには、一つ前の5.0.11が公開 されているので、こちらでもよいかもしれない。
    とりあえず、ディスクイメージを開いて、入っているもの全部インストール。

    何はともあれ、パスワードを変更したいので、
    /usr/local/mysql/bin/mysqladmin -u root password 'orenopasuwa-do'
    として、パスワードを設定。

    PHPMyAdmin
    Mysqlはmysqladminや、mysqlコマンドでターミナルから操作できるのだが、いつもそればかりではちとつらい。
    そこで、ブラウザからmysqlを管理できる便利なツールであるphpMyAdminをインストール。
    といっても、アーカイブを自分のWeb用フォルダに展開するだけ。
    で、config.default.phpをconfig.inc.phpに名前を変更する。
    適当なエディタでこれを開き、71行目あたりを以下のように変更。
    $cfg['Servers'][$i]['socket'] = '/tmp/mysql.sock'; // Path to the socket - leave blank for default socket
    $cfg['Servers'][$i]['connect_type'] = 'socket'; // How to connect to MySQL server ('tcp' or 'socket')

    (サーバーへの接続の方法をtcpからsocketに変更する。)

    次に、mysqlに接続するパスワードを設定。これは、85行目あたり。
    $cfg['Servers'][$i]['auth_type'] = 'config'; // Authentication method (config, http or cookie based)?
    $cfg['Servers'][$i]['user'] = 'root'; // MySQL user$cfg['Servers'][$i]['password'] = 'orenopasuwa-do'; // MySQL password (only needed
    これで、phpMyAdminをインストールしたアドレスに接続すれば使えるはず。

    ちなみにここで、ディレクトリの一覧が出てしまう人は、apacheでphpが使えるようになっていないので、別途設定する必要がある。

    ほかのサイトを見てみると、socketの指定は不要に見えるんだけど、うちではうまく動かない。
    もしかして、5.0系はデフォルトの設定が違うのかな。

    次回はPHP+MySQLで動くアプリを試してみる予定。

    MacBookにRails環境構築

    MacBookを買ったので、ただいま環境構築中。
    今回はできるだけパッケージングシステムのお世話になることにして、EamcsとLaTeXはMacOSXWorkshop、Rails関係はgemを利用することにした。
    そうなると、問題もほとんどでないので、あまり書くこともなくなる。

    あれをインストールした、これをインストールした、トラブルはなかった。
    って言われても実は困る。
    検索しているときって、たいてい問題が出ているときか、ハードやソフトの使い勝手を知りたいとき。
    インストールできるかどうかに関心を持つ人はほとんどいない。

    さてそんなわけで、以下、簡単にリストだけ示しておく。
    1. MySQL: 5.0.22のインテル版バイナリ
    2. Ruby: 1.8.4をダウンロードし、コンパイル・インストール
    3. Rails: gem install --include-dependencies rails でインストール
    だいたいこんな感じ。

    まだ試していないけど、大丈夫なんじゃないかなあ・・・