Mini httpd with Haserl: Difference between revisions
m (Categorized: Server, Lua) |
No edit summary |
||
Line 55: | Line 55: | ||
[[Mini_httpd_with_Haserl_and_Lua|mini_httpd with Haserl and Lua]] | [[Mini_httpd_with_Haserl_and_Lua|mini_httpd with Haserl and Lua]] | ||
[[Category:Server]] | [[Category:Web Server]] | ||
[[Category:Lua]] | [[Category:Lua]] |
Revision as of 06:43, 30 May 2023
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)
vi /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|**.cgi nochroot
mini_httpd service should be restarted because we have changed it's configuration
rc-service mini_httpd restart
Creating sample bash script
vi /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
apk add sudo sudo -u 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