2010年01月10日

ASDFのインストール&設定

 ASDF(Another System Definition Facility)という、Common Lispの機能拡張システムのインストールと設定について。このサイトを参考にしている。
 ASDFは、Linuxなどのパッケージ管理システムに近い働きをするもので、Common Lispのライブラリルーチン(的なもの)というかパッケージをftpから自動的にダウンロード&コンパイルするもの。
 この新たに組み込まれるパッケージを"SYSTEM DEFINITION"(システムディフィニション)という。
 どんなパッケージがあるかはCLiki : ASDF-Installを参照のこと。
※SBCLの場合、最初からasdfがインストールされているので、以下の手順は不要。

■ASDFシステムの入手
asdfを利用するには、以下のふたつをダウンロード&インストールする。

1. ASDF
 以下のurlから入手。

 http://common-lisp.net/project/asdf/asdf.tar.gz

 Unix系なら以下のコマンドで取得。

 wget http://common-lisp.net/project/asdf/asdf.tar.gz

2. ASDF-INSTALL
 以下のurlから入手。

 http://common-lisp.net/project/asdf-install/asdf-install_latest.tar.gz

 Unix系なら以下のコマンドで取得。

 wget http://common-lisp.net/project/asdf-install/asdf-install_latest.tar.gz

■システムへの展開
 展開先は特に決まっていないので、自分のホームディレクトリ下でもかまわないが、いろいろ考えると/usr/lib下に専用のディレクトリをつくって共有するほうがよいかも。展開は、Unix系なら以下の通り。

 tar zxvf asdf.tar.gz
 tar zxvf asdf-install_latest.tar.gz

■ASDFのコンパイル&インストール
 asdfを展開したら、Lisp上で以下のようにコンパイルを行う。

 (load (compile-file "/展開したディレクトリ/asdf.lisp"))

 これで、コンパイル済みファイルが上記の展開したディレクトリにつくられる。

■Lisp起動時にasdfを自動ロードするよう設定
 起動時設定ファイル(CLISPなら".clisprc")に以下の行を追加する。

 #-:asdf (load "/path/where/asdf/is/located/asdf")

 SBCLの場合は、上記ではなく、以下のように設定。

 (require :asdf)

■レジストリディレクトリの設定
 asdfは、コンパイルしたシステムディフィニションの保存先&検索先のディレクトリを*central-registry*という変数で管理する。起動時設定ファイルに以下の行を追加し、変数を設定する。

(pushnew "/レジストリとして設定するディレクトリ/" asdf:*central-registry* :test #'equal)

 レジストリディレクトリは複数設定することができる。その場合は、上のような行を複数書けばよい。

 注意事項は以下のふたつ。
 ・ディレクトリの設定なので、文字列の最後は"/"で終わらせること。
 ・ちゃんと存在するディレクトリを設定すること。


■ASDF-INSTALLのコンパイル&インストール
 Lisp上で、以下のようにコンパイルを行う。コンパイル後のファイルは、レジストリディレクトリに保存される。

 (asdf:operate 'asdf:compile-op :asdf-install)
 (asdf:operate 'asdf:load-op :asdf-install)

■Lisp起動時にasdfを自動ロードするよう設定
 起動時設定ファイル(CLISPなら".clisprc")に以下の行を追加する。

 #-:asdf-install (asdf:operate 'asdf:load-op :asdf-install)

 SBCLの場合は、上記ではなく、以下のように設定。

 (require :asdf-install)

■その他に必要なもの
 ASDFとASDF-INSTALLのインストールは上記で終了。その他にも、以下のふたつをインストールしておくことが推奨されている。
 ・GnuPG(GnuバージョンのPGP)
 ・GnuTar(GnuバージョンのTar)
 とくにGnuTarはASDFが前提としているものなので注意。Linux系のシステムであればGnuTarはインストール済みである場合が多いが、BSD系やMacOS X、Windowsなどの場合は別バージョンのTarがインストールされているかもしれないので要確認のこと。
ラベル:Common Lisp asdf
posted by ベルクカッツェ at 03:44| Common Lisp | このブログの読者になる | 更新情報をチェックする

2010年01月03日

Debian lennyでFastCGIを稼働させる(2):apache2の設定

■/etc/apache2/mods-enabledでの設定
・dir.confの設定
DirectoryIndesに「index.fcgi」を追加し、FastCGIファイルも認識させる。ついでに「index.fas(clispの中間コード形式)」と「index.lisp(lispのソースコード形式)」も追加し認識させる。修正後は例えばこんな感じになる。
DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm index.fcgi index.fas index.lisp

・mime.conf
ハンドラ登録のため、以下の一行を追加。
AddHandler fastcgi-script .fcgi .fas .lisp
fcgiだけでなく、.fasと.lispもFastCGIとして認識させる。

・fastcgi.conf
AddHandler fastcgi-script .fcgiに「.fas」と「.lisp」も追加。例えば、以下のようになる。
AddHandler fastcgi-script .fcgi .fas .lisp


posted by ベルクカッツェ at 22:26| FastCGI | このブログの読者になる | 更新情報をチェックする

Debian lennyでFastCGIを稼働させる(1):必要なもののインストール

■apache2関係。
・apache2(aptで入手&インストール)
 apache2本体。今回はapache2で稼働させる。
・libapache2-mod-fastcgi(aptで入手&インストール)
 apacheでFastCGIを稼働させるMODのapache2対応版。

■clispをFastCGI対応にするために必要なもの。
・clispのソース(CLisp本家から入手)。
 aptで入手するclisp(2010/1月現在、ver2.44)はFastCGIとpostgreのパッケージが未導入状態なので、再構築する必要がある。
・libfcgi-dev(aptで入手&インストール)
 clispをFastCGI対応で再構築するさいコンパイル時に必要。
・postgresql-server-dev-8.3(aptで入手&インストール)
 clispをpostgre対応で再構築するさいコンパイル時に必要。
ラベル:FastCGI Debian lenny
posted by ベルクカッツェ at 21:24| FastCGI | このブログの読者になる | 更新情報をチェックする
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。