ほんとのこと知りたいだけなのに。

夏休みはもうおわり。

今日は hunchentoot を動かしてみようと思います。

今日は 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