今日は hunchentoot を動かしてみようと思います。
まずは emacs での Common lisp の環境を整えます。
Slime の インストール
まずダウンロードして配置します。
cd ~/temp wget http://common-lisp.net/project/slime/snapshots/slime-current.tgz tar zxvf slime-current.tgz mv ~/temp/slime-2012-06-16 ~/.emacs.d/lisp/slime
~/.emacs.d/init.el に slime の設定を追加します。
;;;;; ;;;;; slime ;;;;; (setq slime-net-coding-system 'utf-8-unix) (setq inferior-lisp-program "sbcl") (add-to-list 'load-path (expand-file-name "~/.emacs.d/lisp/slime")) (require 'slime) (slime-setup '(slime-repl slime-fancy slime-banner))
M-x slime で 無事に動いているようです。
Quicklisp のインストール
ダウンロードします。
cd ~/temp wget http://beta.quicklisp.org/quicklisp.lisp
Emacs で slime を起動してインストールします。
(load "~/temp/quicklisp.lisp") (quicklisp-quickstart:install) (ql:add-to-init-file)
hunchentoot をインストール
(ql:quickload "hunchentoot")
drakma をインストール
次は Neo4j の REST API を利用することになりますので drakma をインストールします。
(ql:quickload "drakma")
~/.sbclrc の編集
SBCL 起動時に Hunchentoot と Drakma を自動でロードするように ~/.sbclrc に下記の内容を追記します。
あと Drakma は utf-8 で通信するので 起動時にそれを設定しておきます。
;;;;; ;;;;; Hunchentoot ;;;;; (ql:quickload "hunchentoot") ;;;;; ;;;;; Drakma ;;;;; (ql:quickload "drakma") (setf drakma::*drakma-default-external-format* :utf-8)
HTTPサーバー起動
本家サイト(http://weitz.de/hunchentoot/#start) を見て下記のコマンドでHTTPサーバーを起動します。
(hunchentoot:start (make-instance 'hunchentoot:easy-acceptor :port 4242))
自宅の端末から http://${ip-address}:4242/ にアクセスできました。
Git のインストール
Git はどこかで使うのでインストールしておきます。
> apt-get install git-all > git --version git version 1.7.2.5