This is what you get for using Apache instead of Cherokee.
For the record, I hate UIs on a server (makes backups and copying over configurations annoying). I use nginx but Cherokee is good for what it is.
Possibly smug, but it's not a bad thing to remind people that there are other FOSS web server options out there. Personally, I've been migrating over to Cherokee myself - liking it so far. Continuing the "native American" theme, there's also a "Hiawatha" server that I have no experience with, and nginx seems to be well regarded (the only real drawback for some people being that nginx doesn't support old-school cgi).
Apache is to web servers what "sendmail" is to smtp servers - Open-source, venerable, widely used, generally reliable...but also a pretty hefty beast and not necessarily easy to configure nor necessarily the best-performing. Having some additional diversity in the Open-Source web-server ecosystem is a good thing.
You could get a VPS with cPanel, which would take you a long way.
Alternatively, you could get a VPS with no control panel, spend some time learning to set it up (the Linode Library is a good resource: http://library.linode.com/) and install the Cherokee web server. It has an admin interface that makes handling many sites very easy. See "Why Cherokee?": http://www.cherokee-project.com/doc/basics_why_cherokee.html
I hope that was useful.
Yes, that way you can easily run several of them and balance them with a proxy. Or just replace the webserver entirely, or do both, whatever you need. In any case, for a home server without a lot of sites I can recommend Cherokee. I've used it in production but configuration file changes between upgrades were a PITA in itself, to the point that I wrote a script to parse the whole thing, make the required changes to it and write it back. Things may have improved since then, though, as the development pace is pretty steep. The awesomeness of it all is that it can install various applications for you and sort out the configuration by itself, using the provided admin tool. It's also a proxy, a mysql bridge and whatnot.
I've used also used Subsonic which is an easy to use media server. Before I found Subsonic I used the Cherokee web server to stream video's because again it's really easy to use.
Except it wouldn't be serving the file through PHP as that's significantly slower than letting the web server serve the file directly (unless using X-SendFile). Most likely it's some sort of rewrite rule that matches all extensions.
I once started making my website in Django, then realized that a static-site generator like Jekyll was a much simpler and performant option. Plus, GitHub hosts it for free. Cool beans.
For Django deployment, I'm using uWSGI, proxied through Cherokee. I tell Cherokee that if the backend's not available, it should spawn it with something like /srv/jellylorum/jellylorum/env/bin/uwsgi -s 127.0.0.1:53104 -t 10 -M -p 1 -C -x /srv/jellylorum/jellylorum/uwsgi.xml -H /srv/jellylorum/jellylorum/env
(I'm using virtualenv). The uwsgi.xml
file referenced looks like this:
<uwsgi> <pythonpath>/srv/jellylorum/jellylorum/</pythonpath> <app mountpoint="/"> <script>django_wsgi</script> </app> </uwsgi>
and that's about it. It's a bit odd if you're used to direct deployment out of your primary webserver (mod_php
etc. on Apache, for instance), but it's a common pattern for hosting stuff through non-Apache servers.
I'm sorry, i should have probably been more specific.
Cherokee is the Apache framework but with a nice front end so you don't have to worry about dealing with .conf files (if you don't want to)
Cherokee = http://www.cherokee-project.com/