ClozureCLでHunchentootを動かす
Quicklisp をインストール後、以下を実行する。
- (ql:system-apropos "hunchentoot")
- (ql:quickload "hunchentoot")
- (in-package :hunchentoot)
- (hunchentoot:start (make-instance 'hunchentoot:easy-acceptor :port 4242)
とりあえず、ここまで実施したら、ブラウザで http://localhost:4242 へアクセスして Listen しているか確認する。問題なければ、これをスクリプトにすればよいはず。ql:system-apropos は hunchentoot を含むパッケージをチェックするみたいな処理だから、スクリプトには含める必要はない。スクリプトにしたあとは、ccl64 --load $script で起動する。参考までにスクリプトの内容は以下。
;;; These libraries are required by Hunchentoot (ql:quickload :bordeaux-threads) (ql:quickload :MD5) (ql:quickload :CL-BASE64) (ql:quickload :RFC2388) (ql:quickload :trivial-backtrace) (ql:quickload :usocket) (ql:quickload :CL+SSL) (ql:quickload :FLEXI-STREAMS) (ql:quickload :Chunga) (ql:quickload :CL-PPCRE) (ql:quickload :CL-WHO) (ql:quickload :Drakma) (ql:quickload :hunchentoot) (in-package :hunchentoot) (hunchentoot:start (make-instance 'hunchentoot:easy-acceptor :port 4242))
抜ける際には、
- (in-package :ccl)
- (quit)
とすればいい。セミコロンを二つにすれば、(in-package :hunchentoot) や (in-package :ccl) は不要。これらを包含する別のパッケージを作るのもいいかも。それはおいおい考えよう。