++ed by:
JNBEK NEYASOV AWNCORP

3 PAUSE users
3 non-PAUSE users.

Jan Henning Thorsen

NAME

Toadfarm::Manual::Intro - Introduction to Toadfarm

DESCRIPTION

This manual aims to give an introduction to how to set up toadfarm.

Script

First you need to create a basic script to describe when an application will be triggered. This is a plain Perl script which allow you to pull in any trick you like form the Perl toolbox.

Example:

  #!/usr/bin/perl
  use Toadfarm -dsl;

  mount "/home/web/project1/script/app1" => {
    "X-Request-Base" => "http://mydomain.com/whatever"
  };

  mount "Web::App2" => {
    "Host" => "mydomain.com",
  };

  start;

The script above will pass the request on to app1 when the "X-Request-Base" header is set to "http://mydomain.com/whatever". Or it will pass the request on to Web::App2 if the "Host" header is set to "mydomain.com".

You can save the content of the file anywhere and run it as any other Mojolicious application.

Note: There are other special fields to trigger on, besides HTTP headers. See "Apps" in Toadfarm::Manual::Config for more details.

Start Toadfarm

After you have saved the config file, you can start the Toadfarm application:

  $ /path/to/your-script start

After this, you should see your-script running and the applications can be accessed from http://localhost:8080.

Further reading

See Toadfarm::Manual::RunningToadfarm for more command line options, and Toadfarm::Manual::Config for full list of config file options.

Listen to standard ports

Setting up an iptables rules will allow Toadfarm to listen to port 8080, while still receiving traffic on the default port. This is a good idea security wise, since it will not require Toadfarm to be started as "root".

  $ iptables -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080
  $ iptables -A PREROUTING -i eth0 -p tcp -m tcp --dport 443 -j REDIRECT --to-ports 8443

Note: You need to replace "eth0" with the appropriate interface.

SEE ALSO

Toadfarm::Manual::Config.

Toadfarm::Manual::RunningToadfarm.

AUTHOR

Jan Henning Thorsen - jhthorsen@cpan.org