I do it using MySQL. First I have an admin page where I have to log in (with phpBB integration it's even better, you can check for admin/mod status or even group membership, so you can make a blog-posting group). In there I have a straight-forward form for title, date, category, language and content with a nice little live preview function:
HTML Code:
<script type="text/JavaScript">
<!--
function preview(text) {
var prev = text.value;
document.getElementById('preview').innerHTML = prev;
}
//-->
</script>
(...)
HTML Code:
<TEXTAREA name='text' onKeyUp='preview(this.form.text)' cols=70 rows=15></TEXTAREA>
(...)
HTML Code:
Preview:<br />
<div id='preview'></div>
That info is stored in a MySQL table and fetched once on the homepage and ad vitam eternam on the blog archive page. That part as well is pretty easy if you've worked with SQL before.