Configure your webserver properly. Example configurations are included. Remember to get Perl scripts to execute properly.
Edit inc/config.pl to fit your needs.
KimmoBBS is designed to run on shared hosting. Being a Perl script, you might think that this makes little sense, because "no shared hosts support Perl". This is wrong - Perl is widely used for CGI scripts and CGI is supported by every "good" shared host out there (your $2/month Unlimited Cpanel Fantastico crap does not fit this bill). Examples of "good" webhosts would be Dreamhost and NearlyFreeSpeech. These have all the modules required by KimmoBBS, and should run it fairly well.
Dreamhost even supports FastCGI, apparently: http://wiki.dreamhost.com/FastCGI
TEH BEST SITE ON TEH INTRAWEBZ!11111
You don't. The code is not quite ready for actual use.
CGI::Fast is listed as a core module in Perl. However, it apparently depends on FCGI which is not a core module, and neither were included on my Debian Squeeze server. When trying to install it through CPAN, I was given a syntax error, although I was later able to install it (did they push a faulty module to the repos and fix it later?).
This isn't a good thing, and certainly not what I expect from a core module, so I'm just gonna stick with evaling "require CGI::Fast" and making it completely optional. Of course, using FastCGI is recommended for performance reasons.
Text::Xslate escapes everything by default. In Template::Toolkit syntax, this is equivalent to using [% variable.name FILTER html %]. Now, that's all well and good, because it prevents XSS and other bad things from happening. However, AFAIK there is no way to disable the filter, which works in both Text::Xslate and Template::Toolkit. We need to do this in order to use the markup code.
The solution? Disable escaping and add over 9000 ``FILTER html'' directives to the templates. That sucks, and certainly opens for a ton of security holes through carelessness.
CGI::Session is a piece of shit.