Getting user directories, or Personal Webs as they used to be called in Cherokee, to work is not something you can do via the cherokee-admin tool1)2). In order to use the user directories feature, you must manually edit /etc/cherokee/cherokee.conf and add something like the following:
vserver!1!user_dir = public_html vserver!1!user_dir!rule!10!encoder!deflate = allow vserver!1!user_dir!rule!10!encoder!gzip = allow vserver!1!user_dir!rule!10!handler = common vserver!1!user_dir!rule!10!handler!allow_dirlist = 1 vserver!1!user_dir!rule!10!handler!allow_pathinfo = 0 vserver!1!user_dir!rule!10!handler!backup = 0 vserver!1!user_dir!rule!10!handler!date = 1 vserver!1!user_dir!rule!10!handler!group = 0 vserver!1!user_dir!rule!10!handler!hidden = 0 vserver!1!user_dir!rule!10!handler!iocache = 1 vserver!1!user_dir!rule!10!handler!redir_symlinks = 0 vserver!1!user_dir!rule!10!handler!size = 1 vserver!1!user_dir!rule!10!handler!symlinks = 1 vserver!1!user_dir!rule!10!handler!user = 0 vserver!1!user_dir!rule!10!match = default vserver!1!user_dir!rule!10!match!final = 1 vserver!1!user_dir!rule!10!no_log = 0 vserver!1!user_dir!rule!10!only_secure = 0
In order to use PHP in your user_dirs, append the following upon the last:
vserver!1!user_dir!rule!90!disabled = 0 vserver!1!user_dir!rule!90!encoder!gzip = allow vserver!1!user_dir!rule!90!flcache = allow vserver!1!user_dir!rule!90!flcache!policy = explicitly_allowed vserver!1!user_dir!rule!90!handler = fcgi vserver!1!user_dir!rule!90!handler!balancer = round_robin vserver!1!user_dir!rule!90!handler!balancer!source!10 = 1 vserver!1!user_dir!rule!90!handler!error_handler = 1 vserver!1!user_dir!rule!90!match = extensions vserver!1!user_dir!rule!90!match!check_local_file = 1 vserver!1!user_dir!rule!90!match!extensions = php vserver!1!user_dir!rule!90!match!final = 0 vserver!1!user_dir!rule!90!timeout = 120