mini_httpd with Haserl

From Alpine Linux
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

mini_httpd is a small HTTP server. Its performance is not great, but for low or medium traffic sites it's quite adequate. It implements all the basic features of an HTTP server.

Haserl is a small program that uses shell or Lua script to create cgi web scripts. It is intended for environments where PHP or ruby are too big.

mini_httpd setup

For setting up mini_httpd please see article mini_httpd

Haserl setup

Haserl package is available in the Alpine Linux repositories. To install it run:

apk add haserl

You need to modify mini_httpd.conf (to add cgipat)

Contents of /etc/mini_httpd/mini_httpd.conf

## do not leave empty lines in here! #host=www.example.org port=80 user=minihttpd dir=/www cgipat=**.sh

mini_httpd service should be restarted because we have changed it's configuration

rc-service mini_httpd restart

Creating sample bash script

Contents of /www/test.sh

#!/usr/bin/haserl content-type: text/plain <%# This is a sample "env" script %> <% env %>

Setting execution permission

chmod +x /www/*.sh

Troubleshooting

For troubleshooting you can try running commands:

/www/test.sh

/usr/bin/haserl /www/test.sh

su - minihttpd /usr/bin/haserl /www/test.sh

apk add curl curl http://localhost/test.sh

mini_httpd with Haserl and Lua

Lua is a powerful, efficient, lightweight, embeddable scripting language. It supports procedural programming, object-oriented programming, functional programming, data-driven programming, and data description.

For setting up mini_httpd with Haserl and Lua, please, see arcticle mini_httpd with Haserl and Lua