lighttpd


Forum: Net
Topic: lighttpd
started by: mikshaw

Posted by mikshaw on Sep. 26 2006,03:24
I'm working on a lighttpd.uci extension, which currently works fine in DSL as far as I can tell.  For my own limited needs it has everything I'd use in a default build, but wondering if other DSL users might prefer it to be more full-bodied.

The default build has the following:

       + IPv6 support
       + zlib support
       + bzip2 support
       + crypt support
       - SSL Support
       + PCRE support
       - mySQL support
       - LDAP support
       - memcached support
       - FAM support
       - LUA support
       - xml support
       - SQLite support
       - GDBM support

pcre support is supplied by including an additional library that isn't available in DSL (pcreposix apparently doesn't work with lighty), but I'm not sure how vital it is. According to the docs, it's used for =~ and !~ in conditionals and for regex matches in url.rewrite and url.redirect.  Sounds like something that will not cause problems if disabled, but could make configuration less flexible.

openssl support is disabled by default, and it seems that some features don't work well with it.  Is SSL important for a light httpd?  I can't think of any reason i'd need it myself, but what about other users?

xml and sqlite are used for property storage for mod_webdav...no idea what that means.

I have no idea what any of the other stuff is for either.  I made a build with lua, xml, and sqlite enabled just because DSL has them, but I'm starting to think they are fairly useless in a typical small webserver.

Regardless of what feedback I get, this package won't be built with mysql support.  It's a fat package and I'm not going to install it just so i can include support for it in a web server =o)

Posted by mikshaw on Sep. 29 2006,20:08
Well...with no responses, I'm going to assume that either there is little interest, or most people don't know or care any more than I do.

So I'm leaving it with the default features, at least for now.  I've been messing around with it for the last few days, and so far it seems like a very good server.  There are at least a few things I need to learn more about before I'm comfortable with releasing a mydsl, so it'll probably be a week or so before it's submitted.

Posted by ^thehatsrule^ on Sep. 29 2006,22:14
http://en.wikipedia.org/wiki/WebDAV sounds nice, but I wonder how practical it is.

I'd say ssl support _should_ be incorporated (for passwords and such? You can never be too secure :p ), but seeing how DSL doesn't use the newer libraries, it may be better not to incorporate them (for a better bug-free experience).

So I'll say the defaults should be fine.  Haven't tried this httpd yet (Apache user), but I did hear some good things about it.  How large are your preliminary packages?

Posted by mikshaw on Sep. 30 2006,04:26
I had already compiled a binary with webdav-props in order to enable Lua and SQLite.  It seems that this is all Lua and SQLite are used for, and i had no idea what webdav is, so i went back to the defaults.

I don't recall exactly what it was, but there was at least one lighttpd feature that was said to be troublesome with ssl.  I may still compile with ssl support anyway. Since I have to use LD_LIBRARY_PATH to include libpcre, another lib or two shouldn't be a big deal...as long as it doesn't add too much to the package.

So far I'm testing with uncompressed files, and gradually adding files for testing/demonstration, so I don't have any idea how big the package will be.  At this time the essential files are a little under 600k and there are an additional 350k in docs and tests

Posted by ^thehatsrule^ on Sep. 30 2006,04:54
Wow.. that size is pretty light indeed.

Just a thought: if you want something, or not sure about something you want to be enabled, but the module is too large, you could always compile with that being supported, then create an "add-on" package.  Maybe?  Or it might get too complicated then, heh.

Posted by mikshaw on Sep. 30 2006,06:34
It seems as though lighttpd is more flexible with required libs than some other applications are, so that might be possible. Haven't tested yet, but I do know that some external libs are not required simply to start the server with a minimum of modules loaded.  I had a build that included xml support, and it started in DSL without a hitch.  Then realized that DSL apparently doesn't even have libxml.  I never thought about the possibility of making modules of additional libs.

In any case, it seems that libssl in DSL is the same version that I have on my dev system, so that should not add much at all to the file size (i assume).
The dev system has both libgdbm.so.2 and 3, and DSL has so.2, so I should be able to get that supported without including an extra lib.
Neither ldap or fam is in DSL, although they're not very large files.  I just hope they do not have additional dependencies themselves.

Maybe I'll try a build with everything but mysql supported, and see if it will run without including the libs themselves....

This is kinda fun, even though I'm only testing localhost.  I haven't had a personal webserver running in years.  After this I might need to test a couple of other light servers to compare (yeah...already compared monkey...hated it immediately due to extreme lack of documentation :D )

One of these days I'm going to build myself a complete DSL development system so i won't need to be concerned about incompatible lib versions...

Posted by Zucca on Sep. 30 2006,10:47
Quote (mikshaw @ Sep. 30 2006,04:34)
(yeah...already compared monkey...hated it immediately due to extreme lack of documentation :D )

Only documentation it has is in /opt/monkey/conf/* -files.  :(

I like monkey because it's very simple. And with PHP support it's kinda neat. But it has some really irritating bugs.
In example: You can't browse pages on monkey server if you clicked a link from another server and you browser sends referer information.

Posted by Zucca on Sep. 30 2006,12:44
Speaking of web servers: < http://www-128.ibm.com/developerworks/eserver/library/es-nweb.html > Simple enough? ;)

And also Wikipedia's article: < http://en.wikipedia.org/wiki/Tiny_web_servers >

Posted by mikshaw on Sep. 30 2006,14:12
wow....I like small, simple, and secure, but i think nweb is a bit too extreme for me =o)

Thanks for the links...gonna rustle me up some small servers.

Posted by Zucca on Sep. 30 2006,14:52
Lightweight and secure. Aka opposite of Microsoft Windows.

That's what I appreciate.

Posted by mikshaw on Sep. 30 2006,20:47
I did a build of lighttpd that includes support for ssl and webdav.  Still the only additional library needed to start the server is libpcre, so that's pretty cool.  I haven't tested those features yet, but I'm particularly interested in seeing how dav works.

The current uncompressed size of everything I have at the moment is 1.2mb.  As long as the compressed package is floppy-sized or smaller I'll be satisfied with it.  I still have some test pages to add, but it shouldn't get much larger than it is right now.

Posted by mikshaw on Sep. 30 2006,22:37
Quote (Zucca @ Sep. 30 2006,06:47)
Quote (mikshaw @ Sep. 30 2006,04:34)
(yeah...already compared monkey...hated it immediately due to extreme lack of documentation :D )

Only documentation it has is in /opt/monkey/conf/* -files.  :(

Hey...that's actually very good documentation.  I didn't expect to find any useful docs in DSL due to size limitations, so I didn't bother to look.  Instead I went to the monkey website and the monkey source package, both of which would normally be the most reliable places for core documentation of most apps.  Sadly, there was  nothing...absolutely NOTHING about basic monkey configuration in either place.

The conf files in DSL are very well commented.

Posted by mikshaw on Oct. 01 2006,05:05
k....getting those additional modules working is more trouble than I wanted to go through, so I went back to the default build.
Still have some testing to do, and learning how some of the features work...

Posted by Winter Knight on Oct. 05 2006,07:52
Quote (Zucca @ Sep. 30 2006,03:47)
You can't browse pages on monkey server if you clicked a link from another server and you browser sends referer information.

I think you misinterpreted the bug. Monkey closes the connection if either the GET request or the referer header has a "?" in it. There are other characters which will also cause it to do that. Does the other server's web page have a "?" in it?

You're not going to believe this, but that bug has been fixed. Last April, someone put a patch up at sourceforge. Problem is, the last release of monkey was April. Not last April, mind you, but the one before.

Here's a link to bug report and patch. Incorporating it would mean downloading source, modifying it with patch, and recompiling. And no, I haven't tested it myself.
< http://sourceforge.net/tracker....=401570 >

But there's good news. Since last April, version 0.9.2 is coming soon. :laugh:

I've seen this before. There may be another version of monkey coming out, but I'm pretty sure this project is dead.

Posted by Zucca on Oct. 07 2006,10:46
Jeah. I thought that too.
Well. Let's then wait fof other MyDSL httpd's to show up. :cool:

Posted by mikshaw on Oct. 07 2006,13:52
lighttpd is in testing, as posted in the "The Testing Area".

I might do a thttpd mydsl after a while, but i'm not doing much development stuff at the moment.  So far the other servers I've seen are either too big or too limited for my taste.

Posted by gmvasco on Oct. 27 2006,08:51
Hi
I'm interested in lighttpd.
I have two questions though.

1- Since I havent figured out how to open port 80 for monkey to be seen outside my computer (it's open in the router, I have windows machines serving http), will I be able to use this?

2- Will you integrate some kind of light board system?

Thank you

Posted by mikshaw on Oct. 27 2006,14:53
1- I had no way to test lighttpd outside of localhost, short of asking for people to test a dialup server, which i didn't want to do. I just assumed that anyone who found a problem with it would post here and then we could work it out...this is why it's in "testing" =o)
In any case, I doubt lighttpd will be any different than monkey when it comes to using available ports.  You may have to open the port yourself?  Maybe a thread specifically for that task is needed.

2- No. Any external software will remain optional and separate, as is the norm for Unix systems.  This practice is not strictly followed in some cases in DSL, due to the work involved in getting some packages installed on a modular system like DSL, but for most software it is still a better idea to provide one tool for one task.  Any messageboard/wiki/etc software would be made available as a separate myDSL, if at all.

Posted by gmvasco on Oct. 28 2006,14:40
Thank you for the answers mikshaw.
I'll go and start a thread on the opening ports issue then :)

Looking forward to that extension!

Posted by Thulemanden on Nov. 10 2006,17:03
Quote (^thehatsrule^ @ Sep. 29 2006,19:14)
 Haven't tried this httpd yet (Apache user), but I did hear some good things about it.

I replaced Monkey Webserver with Apache (2.0.54) and have no problems running very simple html pages.

The reason I dumped Monkey was it used to stop working. It may have turned out to be because I closed the lid on the laptop which cause the laptop to hibernat/sleep. I wasn't aware of that before I found the 1997 manual on the internet.


However I am keeping Apache :-)

Powered by Ikonboard 3.1.2a
Ikonboard © 2001 Jarvis Entertainment Group, Inc.