in Projects

Setting up a Basic Personal Knowledgebase with git, markdown, and apache

I’ve been meaning to write about my basic wiki setup for a while, and was recently inspired when I read Designing a Personal Knowledgebase. I’ve thought a long time about personal knowledge management, and I’ve come to the conclusion that simpler is better.

The breakdown is a git repository of markdown files, and an Apache virtualhost that puts every file ending in .mwdn through a markdown processor. It’s very bare-bones. I like this setup I’m able to track what I find interesting or insightful more easily than I am able to process it. There’s no point in optimizing for I/O while you’re CPU bound.

I can keep a copy of my wiki anywhere, I can grep it, and I can contribute to it easily. It’s very easy to section-off sensitive areas of the online version with Apache rules. The git commit messages help me keep a changelog, so it’s easy for me to see when I added new ideas to a page.


1) Git init your new personal knowledgebase.

2) Clone your repository to your virtual host’s document root.

3) Edit your virtual host to set up the markdown handler. I use markdown-handler. Clone it. It’s easy to tell Apache to process a filetype:

AddHandler markdown .mdwn
Action markdown /markdown/handler.php

4) Reload apache.

5) Add knowledge.

I’ve tried some other systems in the past, from fully-powered MediaWiki installations, to single-page wikis, and have found that I like my current setup the most.

Write a Comment