
OpenResty::Spec::Install - Installation instructions for OpenResty servers

This is a basic guideline for settting up an OpenResty server on your own machine. Someone has succeeded in setting up one on Windows XP using ActivePerl 5.8.8. The normal development environment is Linux though. If you have any particular question, feel free to ask us by sending an email to the authors.
$ cd openresty
$ perl Makefile.PL
$ sudo make # This will install missing dependencies
$ make test # run the test suite using the PgMocked backend
For the PostgreSQL database, you need to prepare a PostgreSQL account (e.g. "agentzh"); and you need to create an empty database (e.g., "test"), and you need to create a stored precedure language named "plpgsql" for that database, contact your PostgreSQL DBA for it or read the PostgreSQL manual.
Normally, the following commands are used:
$ createdb test
$ createuser -P agentzh
$ createlang plpgsql test
[backend]
recording=0
# You should change the line below to type=Pg or type=PgFarm
type=PgMocked
host=localhost
user=agentzh
password=agentzh
database=test
Most of the time, you need to change type=PgMocked to type=Pg, as well as the last 3 lines (unless you're using exactly the same user, password, and database name). The default "PgMocked" backend is a mocked PostgreSQL database which is useful only for testing purposes.
$ createuser -RSDL anonymous
You shouldn't grant any permissions to it.
$ bin/openresty deluser tester
$ bin/openresty adduser tester
Give a password (say, "password") to its Admin role. Also create a second user account "tester2":
$ bin/openresty adduser tester2
Update your etc/site_openresty.conf to reflect your these settings:
[test_suite]
use_http=0
server=tester:password@localhost
server2=tester2:password@localhost
You may have your own passwords here though.
RunView and RunAction working, you need to build the restyscript compiler in the subdirectory haskell/. It is written in Haskell and please see the README file in haskell/ for detailed installation instruction:
http://svn.openfoundry.org/openapi/trunk/haskell/README
If you're really nervous about installing GHC and other Haskell libraries, you can fetch a binary version of the restyscript compiler if you're on an 32-bit x86 linux:
$ wget 'http://openresty.org/restyscript' -O haskell/bin/restyscript $ chmod +x haskell/bin/restyscript
A quick test would be
$ echo 'select 3' | haskell/bin/restyscript view rs
select 3
$ make test
Also, it's already possible to start the OpenResty server using the standalone server provided by HTTP::Server::Simple:
$ bin/openresty start
HTTP::Server::Simple: You can connect to your server at http://localhost:8000/
See OpenResty::Spec::Install::Apache For configuration docs for Apache. And see OpenResty::Spec::Install::Lighttpd for configuration docs for Lighttpd.
It's also possible to debug a simple .t file, for instance,
make t/01-sanity.t -f dev.mk
Or use the OPENRESTY_TEST_SERVER environment to test a remote OpenResty server, for example:
OPENRESTY_TEST_SERVER=teser:password@10.62.136.86 prove -Ilib -r t
where 10.62.136.86 is the IP (or hostname or URL) of your OpenResty server being tested.
To test the Pg cluster rather than the desktop Pg, update your etc/site_openresty.conf:
[backend]
type=PgFarm
and also set other items in the same group if necessary.

Some times it's desired to do "sudo make install" and install all the OpenResty modules and command line tools to the system-wide perl.
The steps are simple:
haskell/bin/restyscript program perl Makefile.PL
make
sudo make install
mkdir /etc/openresty
cp etc/*.conf /etc/openresty/
openresty start

Agent Zhang (agentzh) <agentzh@yahoo.cn>, Laser Henry (laser) <laserhenry@gmail.com>.

openresty, OpenResty::Config, OpenResty::Spec::AccountAdmin, OpenResty::Spec::Upgrading, OpenResty::Spec::TestSuite, OpenResty.