Above all, a forum is usually coded in PHP (or another language for building dynamic HTML pages, ASP, JSP, etc..) Since it is about having a non-static area on its website on which visitors interact..
There are two ways to proceed:
1)Coding from scratch in PHP/ASP/ JSP ... with or without a MySQL database (or other Sybase, SQL Server, ...).
To learn PHP, here are some links:
- php.net(official documentation)
- To better understand the features of MySQL, I can only advise these documents:
To create a forum in the style of Kioskea's one, here is an excellent tutorial
2) Use a pre-created forum, available free online
To do this a few links, they usually explain the operation of the forum sites.
It stills require a MySQL database, but once it's on your site you will have access to source code, so you can modify it to your linking.
Same as PhpBB, but much lighter (in terms of design and server resources required) and, inevitabl less poweful than the latter.