INSTALL

Installation via CPAN

Install the base WebDyne module, and its core prerequisites, with:

perl -MCPAN -e 'install WebDyne'

or, on systems using cpanm:

cpanm WebDyne

Test successful installation:

wdrender --test

<!DOCTYPE html>
<html lang="en">
<head>
<title>Untitled Document</title>
<meta charset="UTF-8">
<meta content="width=device-width, initial-scale=1.0" name="viewport">
</head>
<body>
<h1>WebDyne Test File</h1>
<hr>
<p>The local server time is: Fri Jul 31 10:38:07 2026</p>
</body>
</html>

This installs the core modules and command-line tools. Depending on the runtime you want to use, you may also need PSGI/Plack, PAGI, or Apache/mod_perl components.

Full documentation is available in the doc directory and at https://webdyne.org.

PSGI / Plack

To use WebDyne through PSGI, install Plack and any PSGI server you want to run:

# Core Plack/PSGI modules
cpanm Task::WebDyne::Plack
# Optional Starman server
cpanm Starman

You can then validate the wrapper with:

webdyne.psgi --test

or serve a document root:

webdyne.psgi /path/to/site-root

PAGI

To use WebDyne through PAGI, install the PAGI runtime stack required by your chosen PAGI server.

# Core PAGI modules
cpanm Task::WebDyne::PAGI

You can then validate the wrapper with:

webdyne.pagi --test

or serve a document root:

webdyne.pagi /path/to/site-root

The PAGI runtime supports normal HTTP requests as well as server-sent event, WebSocket, and lifespan flows.

Apache / mod_perl

For permanent Apache/mod_perl configuration, use the Apache installer:

wdapacheinit

It uses reasonable defaults to locate and update Apache configuration and WebDyne cache directories. Run wdapacheinit --help to review available options before changing a system Apache installation.

For temporary local development and troubleshooting under Apache/mod_perl, use:

webdyne.apache --test

or serve a local document root:

webdyne.apache /path/to/site-root

Optional modules

WebDyne supports colourization and tidying of command line output for development/debugging purposes. Install the HTML5::Tidy and Syntax::Highlight::Engine::Kate modules if desired

# Install system libraries for libtidy via appropriate package manager
# dnf install libtidy

# Then CPAN modules. Force of HTML::Tidy may be required due to failing non-critical test
cpanm --force HTML::Tidy5
# Syntax highlighter 
cpanm Syntax::Highlight::Engine::Kate 

Notes on Mac installation of Apache

If installing on a Mac, Apache can be installed by Homebrew, but mod_perl is not available. Use the following guide to install all pre-requisites:

brew install apache-httpd pkg-config
export MP_APXS="$(brew --prefix httpd)/bin/apxs"
export PATH="$(brew --prefix perl)/bin:$PATH"
cpanm --notest --configure-args="MP_APXS=$MP_APXS MP_CCOPTS=-fgnu89-inline" mod_perl2
--> Working on mod_perl2
Fetching http://www.cpan.org/authors/id/S/SH/SHAY/mod_perl-2.0.13.tar.gz ... OK
Configuring mod_perl-2.0.13 ... OK
Building mod_perl-2.0.13 ... OK
Successfully installed mod_perl-2.0.13
1 distribution installed

Installation of optional supporting modules for colorization of command line output etc. can be undertaken with:

brew install tidy-html5
# Force necessary during to non-critical test failing
cpanm --force HTML::Tidy5
# Syntax highlighter 
cpanm Syntax::Highlight::Engine::Kate 

Installation via Manual Build

After unpacking the source tree, build and install with:

cpanm --installdeps --reinstall .

If CPANM is not available you can install manually:

perl Makefile.PL
make
make test
make install

Modules required by the selected build and runtime path should be reported when you run perl Makefile.PL. and will have to be installed manually. As with a CPAN install, you still need to configure or start the appropriate runtime wrapper before WebDyne pages will be served.