This version of LuaSec does not include LuaSocket's files.
In this tutorial we will use a custom installation directory of Lua 5.1. We assume that Lua is installed at /opt/lua-5.1, so we have the following directory structure:
/opt/lua-5.1/man/man1/lua.1 /opt/lua-5.1/man/man1/luac.1 /opt/lua-5.1/bin/lua /opt/lua-5.1/bin/luac /opt/lua-5.1/include/lauxlib.h /opt/lua-5.1/include/lua.hpp /opt/lua-5.1/include/lua.h /opt/lua-5.1/include/lualib.h /opt/lua-5.1/include/luaconf.h /opt/lua-5.1/lib/liblua.a /opt/lua-5.1/modules/lib/ /opt/lua-5.1/modules/lua/
We configure Lua to search the modules in these directories:
/opt/lua-5.1/modules/lua /opt/lua-5.1/modules/lib
LuaSocket should be a library for LuaSec. You have to apply this patch in LuaSocket, or download the modified version. After to install LuaSocket in the directory structure described above, we have:
/opt/lua-5.1/man/man1/lua.1
/opt/lua-5.1/man/man1/luac.1
/opt/lua-5.1/bin/lua
/opt/lua-5.1/bin/luac
/opt/lua-5.1/lib/liblua.a
/opt/lua-5.1/include/lauxlib.h
/opt/lua-5.1/include/lua.hpp
/opt/lua-5.1/include/lua.h
/opt/lua-5.1/include/lualib.h
/opt/lua-5.1/include/luaconf.h
/opt/lua-5.1/modules/lua/ltn12.lua
/opt/lua-5.1/modules/lua/mime.lua
/opt/lua-5.1/modules/lua/socket.lua
/opt/lua-5.1/modules/lua/socket/url.lua
/opt/lua-5.1/modules/lua/socket/http.lua
/opt/lua-5.1/modules/lua/socket/tp.lua
/opt/lua-5.1/modules/lua/socket/smtp.lua
/opt/lua-5.1/modules/lua/socket/ftp.lua
/opt/lua-5.1/modules/lib/mime/core.so
/opt/lua-5.1/modules/lib/socket/core.so
Now, you should create a directory 'luasocket' in 'include' and copy all '.h' files from LuaSocket to it:
/opt/lua-5.1/include/luasocket/timeout.h
/opt/lua-5.1/include/luasocket/unix.h
/opt/lua-5.1/include/luasocket/buffer.h
/opt/lua-5.1/include/luasocket/io.h
/opt/lua-5.1/include/luasocket/socket.h
/opt/lua-5.1/include/luasocket/auxiliar.h
/opt/lua-5.1/include/luasocket/udp.h
/opt/lua-5.1/include/luasocket/options.h
/opt/lua-5.1/include/luasocket/select.h
/opt/lua-5.1/include/luasocket/usocket.h
/opt/lua-5.1/include/luasocket/inet.h
/opt/lua-5.1/include/luasocket/wsocket.h
/opt/lua-5.1/include/luasocket/mime.h
/opt/lua-5.1/include/luasocket/luasocket.h
/opt/lua-5.1/include/luasocket/tcp.h
/opt/lua-5.1/include/luasocket/except.h
After, you have to move the file 'core.so' from 'modules/lib/socket' to 'lib', renaming it to 'libluasocket.so'.
/opt/lua-5.1/lib/libluasocket.so
/opt/lua-5.1/modules/lib/socket/
In order to LuaSocket works, you need to create a link named 'core.so' in 'modules/lib/socket' that points to 'lib/luasocket.so':
/opt/lua-5.1/modules/lib/socket/core.so -> /opt/lua-5.1/lib/libluasocket.so
Download the "light" version of LuaSec, edit the Makefile to point to /opt/lua-5.1, compile and install it.
Well, have fun...