site  contact  subhomenews

Which http server for Puppy?

July 10, 2008 — BarryK
We used to have the 'nullhttpd' server in Puppy, and /root/ghttpd is setup for that. A long time ago Puppy had the Quisp database and this also used /root/ghttpd.

Nullhttpd is no longer in the standard oficial Puppy build, but I left /root/ghttpd there.

I would like to bring back a small web server for the official Puppy, but the question is, which one? I think someone mentioned that nullhttpd has bugs or limitations -- I don't recall why I removed it. Does anyone remember?

What I think would be really neat is to get PPLOG into the offical Puppy. Imagine, our tiny Puppy distro with his very own blog. Blogs are really nice just as a personal diary, as well as to make public.

I will get around to doing this sometime, but if this idea excites you, feel free to have a go at implementing it. What we would need is a menu entry to open the blog, with a facility to leave the server running if we want to make the blog available over a network. Maybe there could be buttons to choose whether it is private or public.
Anyway, the first step would be to choose a small web server -- and I do want small. Considering that PPLOG is a 80KB Perl script with a couple of images, which is very much in the spirit of Puppy, we want a web server that is in the same small-yet-powerful spirit.

Oh yes, we should also run the web server and PPLOG as user 'spot', just like Didiwiki.

It may be asking too much for a simple web server, but in my puppylinux.com site I use a '.htaccess' file (in the 'blog' directory) with the 'RewriteRule' to hide the script name (actually, my actual script is named something other than pplog.pl, I want to keep it secret):

ErrorDocument 404 http://puppylinux.com/blog/
AddHandler cgi-script .cgi .pl
Options ExecCGI FollowSymLinks
RewriteEngine On
RewriteBase /blog/
RewriteRule ^$ pplog.pl
RewriteRule ^\?(.*)$ pplog.pl$1


So, the url looks like: puppylinux.com/blog/?page=1

Comments

http servers
Username: coolpup
http://www.acme.com/software/thttpd/ http://www.acme.com/software/thttpd/benchmarks.html http://linux.die.net/man/8/thttpd http://www.lighttpd.net/ http://en.wikipedia.org/wiki/Tiny_web_servers

lighttpd
Username: Raffy
"There is a post about lighttpd in the forum: http://murga-linux.com/puppy/viewtopic.php?t=25067 There is also NGinx, pronounced "engine x", a lightweight Russian webserver.

PShttpd
Username: GreatnessGuru
"PShttpd http://www.google.com/search?q=pshttpd Thank you, Eddie Maddox Inwood IA USA

Re: PShttpd
Username: GreatnessGuru
"Index of /~godisch/pshttpd http://people.debian.org/~godisch/pshttpd/ "pshttpd_1.4-0.2.diff.gz 19-Oct-2007 10:45 6k [ ] pshttpd_1.4-0.2.dsc 19-Oct-2007 10:45 1k [ ] pshttpd_1.4-0.2_all.deb 19-Oct-2007 10:45 8k [ ] pshttpd_1.4.orig.tar.gz 19-Oct-2007 10:45 9k" I downloaded the *tar.gz file and read the README. That lead to: PS-HTTPD http://www.pugo.org/main/project_pshttpd/ "PS-HTTPD is a web server written in PostScript. It started at a coffee table discussion at my work. We first talked about web servers and how everything seems to get one. Then we discussed the new Xerox monster printer we just got installed. I started to wonder if it would be possible to make a simple web server in PostScript. After a bit too many hours of stack craze I found out that it was! "Here follows the PostScript sourcecode." %! %=================================================== % PS-HTTPD V1.4 % Copyright 2000-2003 Anders Karlsson, pugo@pugo.org % License: GNU General Public License %=================================================== ..." Thanks very much, Eddie Maddox

A quick breakdown
Username: Everitt
"I took the time to look over a lot of these as I'm looking for an uber lightweight http server with perl support myself, to run on my linksys slug. nginx seems only to have experimental perl support, so is perhaps not the best choice for a production server running pplog. POW is fantastic, and I think would be ideal for html based configuration, but unfortunately requires the browser to be running, so is a huge overhead, not very puppy. I don't have any real knowledge of thttpd, but it seems to do everything needed. I have used lighttpd, it's what I'm running at the moment. It's got a pretty small footprint, serves my pages without a hitch, and is easy to set up.

thttpd
Username: yipinx
"i saw it already being posted, but here is it again. http://www.acme.com/software/thttpd/benchmarks.html if iīm not mistaken, then thttpd was(is still?) used by yahoo to deal with images and other static file requests. apache just couldnīt handle it.

thttpd
Username: linuxcbon
"I guess Nullhttpd was given up because it needs to be run as root (http://www.murga-linux.com/puppy/viewtopic.php?p=1744) thttpd seems to be better, but I didnt try them.

*hat in hands*
Username: Feverfew
"I have never used "MiniWeb" server so I cant say if its any good. But It does sound neat though. http://miniweb.sourceforge.net/ "MiniWeb is a mini HTTP server implementation written in C language, featuring low system resource consumption, high efficiency, good flexibility and high portability. It is capable to serve multiple clients with a single thread, supporting GET and POST methods, authentication, dynamic contents (dynamic web page and page variable substitution) and file uploading. MiniWeb runs on POSIX complaint OS, like Linux, as well as Microsoft Windows (Cygwin, MinGW and native build with Visual Studio). The binary size of MiniWeb can be as small as 20KB (on x86 Linux). The target of the project is to provide a fast, functional and low resource consuming HTTP server that is embeddable in other applications (as a static or dynamic library) as well as a standalone web server." ~MiniWeb introduction.


Tags: puppy