anyone can setup/install a forum. all you need is a webhost (or even your own pc) setup with php/mysql. with any pre-made forum, you'll get get a setup page where you enter a few basic preferences and you're good to go. you don't need any previous knowledge of anything really.
but to write one from scratch...... now that really is another kettle of fish altogether. you need to be highly proficient in
html/css
php
mysql
also some javascript know-how would make the forum nicer for people to use. this thread really is better suited for the programming forum whichever course of action you decide to take.
edit: of course it doesn't have to be php/mysql. take your pick of any server side scripting language/database system. but these 2 are the most popular by a long, long way....