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

Reply via email to