Bug #1040
closedInvestigate alternatives to Monkey as a web server
100%
Description
Monkey doesn't build with the latest toolchain and it's website doesn't show much activity in awhile. It would be better to use one of the web servers that Buildroot supports.
It needs to be able to handle the following.
- Server side PHP cgi
- Serve up javascript files (should be transparent)
- Support external Basic Auth username/password file
Related issues
Updated by Hammel about 1 year ago
- Category set to Web Server
- Assignee set to Hammel
- Priority changed from Normal to Immediate
- Target version set to 3.0 - Corrino
- Severity changed from 03 - Medium to 02 - High
Updated by Hammel about 1 year ago
- Subject changed from Investigate Mongoose as a replacement to Monkey to Investigate alternatives to Monkey as a web server
- Description updated (diff)
Updated by Hammel about 1 year ago
Busybox HTTPD¶
References- See RM #1013
Pros¶
- Very small binary/runtime
- Supports Basic Auth
- Supports CGI via php-cgi
Cons¶
- No default conf file.
- Must read source to understand server configuration
- Requires an init script to be written for it.
- Must pass port number on command line or at compile time (re: not a configurable item)
- Not much recent activity
- Doesn't support external basic auth file - changes to authentication must be stored in the httpd.conf file with the rest of the configuration.
Updated by Hammel about 1 year ago
- Related to Feature #1013: Configure Busybox httpd for use with piboxwww added
Updated by Hammel about 1 year ago
lighttpd - WINNER¶
References- See RM #1014
Pros¶
- actively developed
- Buildroot installation has sample conf files.
- Includes default init script
- Server port is runtime configuration option
- Server user/group is runtime configuration option
- Can disable logging in conf file
Cons¶
- Configuration is more complex than Monkey.
- Multiple conf files
- Multiple modules for features
Summary¶
I was able to bring this one up very quickly and it was serving my PHP and JS files. Because it uses a slightly different config for htdigest I need to update both it's config and the code for piboxwww to allow authentication to work properly. But this is all very doable. I can also remove the monkey opkg dependency on piboxwww since lighttpd will be included in the dev system now.
So lighttpd will be the replacement for monkey.
Updated by Hammel about 1 year ago
hiawatha¶
ReferencesPros¶
- Has some recent activity
- Per-directory authentication files
Cons¶
- Big jump between latest release and recent releases in same release cycle (11.x)
- Configuration is more complex than Monkey, but not as bad as lighttpd.
Updated by Hammel about 1 year ago
- Related to Feature #1014: Configure lighttpd for use with piboxwww added
Updated by Hammel about 1 year ago
lighttpd seems the best choice so far. I've modified the default config script to disable logging and various other things, set the port to 2001 and manually installed the piboxwww files because the opkg install depends on the Monkey opkg. That will have to be fixed if we go this route.
After all that, I have the front page attempted to be displayed, but the action icons are missing. So I need to enable error and debug logging to see if that tells me anything.
Updated by Hammel about 1 year ago
- Status changed from New to In Progress
- % Done changed from 0 to 40
Updated by Hammel about 1 year ago
- Status changed from In Progress to Closed
- % Done changed from 40 to 100