Hi, I run a small-time hosting service for myself, family, friends and a select few others including the core of the Lua community.
Most of my users are non-technical, but some are technically-minded and savvy. We currently use a combination of user-configurable DNS and mail, and then web configuration which is hidden behind myself and a phone call/email. We're using Zeus Web Server for our web serving currently. I have performed a cleanup and survey of all the vservers we have and am now investigating which webserver to move to, as we wish to have IPv6 support, and Zeus have no intention of ever releasing an updated web server with IPv6 support. Cherokee came up as a possibility, and at first glance it seems to cover most of the bases. Unfortunately it seems a bit convoluted on a few points, and I was hoping that if I explain what I have and what I want to achieve, that someone here might be able to answer my queries, put my concerns to rest, and point me in the right direction. First some background We have been using ZWS for a decade now. We're very used to how it behaves in terms of vservers, its modules, etc. However we are annoyed at its closed-nature and lack of progression. We have currently got 66 vservers active, one of which uses Zeus' subservers and represents four independent sites. Some of the vservers are very strangely configured and some heavily use Zeus' request-rewrite script language. In practice, it'd be reasonable to assume a non-Zeus webserver would need around 70 vserver configurations. However, vservers are coming and going at around the rate of one a week, and reconfigurations of vservers happen at the rate of around 1 per day. We use CGI heavily (around half to two-thirds of the vservers have CGI setup) and FastCGI is very popular (around 20% of our vservers use FastCGI). Five of our vservers use Zeus' built in access control support and don't change their access controls often; but thirteen use .htaccess (mostly for user control) and change semi-regularly. A few vservers also use .htaccess to add vserver-specific mime types (some of which overlap and differ to some extent). The biggest customisation however is the use of Zeus' request rewrite script. Almost 25% of the vservers use request rewrite script to a greater or lesser extent. Some no more complex than a simple /foo => /bar rewrite, some using filesystem lookups and regexs to actually decide which other vserver to send requests to. Where I'd like to go Ideally, if I am switching web server then I want to be able to augment my user-accessible configuration UI to allow them to enable/disable vservers and configure at least some of the basic properties of their vservers. As such, I need an API to the webserver. This could be as simple as rewriting the configuration file and hupping the webserver, so long as that won't disrupt requests to other vservers. I can cope if the API is in python or perl, although I personally would prefer flat files or else some kind of RPC interface to the web server. Concerns and questions I have had a small look at Cherokee's config file format, and while the pling-namespaced config makes me feel very at home after a decade with Zeus -- the all-in-one-config stuff is confusing. If I separate each vserver into its own configuration file and include it using the directory include stuff, do I still have to be careful about vserver number overlap? Given all vservers seem to be in one flat config namespace, can Cherokee cope with changing one vserver and then asking the daemon to reload config, without disrupting requests in-train on other vservers? I note that Cherokee's mime type map seems to be global -- can vservers add mime types of their own without disrupting other vservers? If I stipulate that Cherokee should run its http engines as nobody/nogroup (or www-data or whatever) can I still require CGIs/FCGIs to be run as docroot-owner or similar? Is it possible to create a vserver-specific information source, or do I just have to personally namespace them manually? The icon stuff at the top level of the config -- assuming that's for directory listing, is there a way to allow vservers to have differing themes? Then again, having asked all of those cherokee.conf related questions -- is the config file itself considered a valid API anyway? We also have one HTTPS vserver. I am concerned that, according to note 2 on http://www.cherokee-project.com/doc/config_virtual_servers.html#security this might be a problem. Will it? I'm sure I'll come up with more questions if I get deeper into Cherokee, but for now, I guess the above will do to tell me if there's any hope whatsoever of moving to Cherokee. Thanks for reading this far, and if you can answer any of the above, then more thanks for doing so. Regards, Daniel. -- Daniel Silverstone http://www.digital-scurf.org/ PGP mail accepted and encouraged. Key Id: 3CCE BABE 206C 3B69 _______________________________________________ Cherokee mailing list [email protected] http://lists.octality.com/listinfo/cherokee
