Installing
The default directory structure for Xavante is based on two directories:
$XAVANTE_BIN -- Lua and binary libraries, xavante_start.lua /cgilua /coxpcall /socket /xavante -- Xavante Lua files $XAVANTE_WEB -- Xavante default HTTP documents /doc -- Xavante documentation /img -- test images
The distributed source of Xavante can be copied to the
$XAVANTE_BIN
directory together with Lua and the other binary
libraries.
The file t_xavante_start.lua
is a template for the startup
file. You must redefine it to something like the example below and then
rename it to xavante_start.lua
.
-- xavante_start.lua configured for a Windows installation -- based on the C:\xavante directory -- Library extension for the platform used local LIB_EXT = [[.dll]] -- Physical location of Xavante file structure. -- The example structure assumes that the bin -- and web directories are under the same directory local XAVANTE_HOME = [[C:/Xavante]] local XAVANTE_BIN = XAVANTE_HOME..[[/bin]] local XAVANTE_WEB = XAVANTE_HOME..[[/web]] -- compatibility code for Lua version 5.0 providing -- 5.1 behavior if string.find (_VERSION, "Lua 5.0") and not package then if not LUA_PATH then LUA_PATH = XAVANTE_BIN.."/?.lua;".. XAVANTE_BIN.."/?/?.lua" end require"compat-5.1" package.cpath = XAVANTE_BIN.."/?"..LIB_EXT..";".. XAVANTE_BIN.."/lib?"..LIB_EXT end require "xavante.server" xavante.setwebdir(XAVANTE_WEB) -- Loads the configuration file and starts Xavante xavante.start()
Configuring
The file $XAVANTE_BIN/xavante/config.lua
defines the
Xavante configuration. Xavante defines virtualhosts for each site
that it is running.
Each virtualhost can define a set of rules for it.
Each rule matches a URL pattern with a handler.
Xavante currently offers a file handler, a redirect
handler and a CGILua handler for general files, URL
remapping and CGILua scripts.
A tipical config.lua
uses the format below
require "xavante.filehandler" require "xavante.cgiluahandler" require "xavante.redirecthandler" local simplerules = { -- URL remapping example { match = "/", with = xavante.redirecthandler, params = {"/index.lp"}}, -- filehandler example { match = "/*", with = xavante.filehandler, params = {baseDir = xavante.webdir()}}, -- cgiluahandler example { match = {"/*.lp", "/*.lua"}, with = xavante.cgiluahandler.makeHandler (xavante.webdir())}, } xavante.HTTP{ server = {host = "*", port = 80}, defaultHost = { rules = simplerules }, }
To use virtual hosts with Xavante, the call to xavante.HTTP
would be changed to something like
xavante.HTTP{ server = {host = "*", port = 80}, defaultHost = {}, virtualhosts = { ["www.sitename.com"] = simplerules } }
Running
Running Xavante requires the execution of the correctly set
xavante_start.lua
. This can be done through a
.bat
file in Windows, or by giving execution rights to
the xavante_start.lua
on Linux.
Remember that xavante_start.lua
is the configured version of
t_xavante_start.lua
and if you are
installing Xavante from the source
files you should edit it first.
After calling xavante_start.lua
, opening the URL
http://localhost
on your browser should show the Xavante welcome page.
If you changed the port number on config.lua
you should also use this
port number in the URL.