LuaスクリプトをCGIとして動作させる。

テンプレートモジュールのcgilua.lpを利用したいので、適当にモジュールをインストールする。

LuaRocks

[shell]
# yum –enablerepo=epel install lua-devel
# wget http://luarocks.org/releases/luarocks-2.0.4.tar.gz
# tar zxvf luarocks-2.0.4.tar.gz
# cd luarocks-2.0.4
# ./configure
# make
# make install
[/shell]

CGILua
luarocksコマンドを利用してインストールする。
luarocksコマンドを利用した場合、インストール先が/usr/local/share/lua/ 以下になったため、入れなおすのも面倒なのでシンボリックリンクを張っておく。
[shell]
# luarocks install cgilua
# cd /usr/share/lua/
# mv 5.1 5.1.orig
# ln -s /usr/local/share/lua/5.1 .
[/shell]

サンプルluaスクリプトを適当なファイル名で作成し、実行権限をつけておく。
[lua]
#!/usr/bin/lua
tmp=100

lp = require "cgilua.lp"
io.stdout:write("Content-Type: text/html;charset=UTF-8;\n\n")
lp.include("index.lp")
[/lua]

サンプルテンプレートをindex.lpというファイル名で作成する。
[html]
<html>
<body>
aaa=<?lua
print(tmp)
?>
</body>
</html>
[/html]

実行結果
[html]
Content-Type: text/html;charset=UTF-8;

<html>
<body>
aaa=100

</body>
</html>
[/html]

カテゴリー: Lua パーマリンク

LuaスクリプトをCGIとして動作させる。 への1件のコメント

  1. RX-8 のコメント:

    はじめまして。
    RX-8です。

    勉強のため、LuaでWebページ作成を試みようと環境構築のため
    参考にさせて頂いておりました。

    LuaRocksインストール時に「./configure」実行すると以下の
    メッセージが表示しました。実行前に何か必要なのでしょうか。
    <>
    Looking for Lua… lua not found in $PATH.
    You may want to use the flags –with-lua and/or –lua-suffix. See –help.

    情報が少なすぎて非常に困っていたので
    何かわかることがあればご教授ください。
    よろしくお願いいたします。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)