That computer itself could run it, but the problem would come with your internet connection/ISP. Most residential ISPs do not provide the needed items (dedicated IP address, high upload speed, port 80 open, etc.). Because of that, I would recommend you take a look at hosting companies. Two companies I use and recommend are Surpass Hosting
and Host Gator
. Any shared hosting plan should be OK for the needs you listed above. Also, I would not recommend running a web server/database server on your personal PC for security and reliability reasons.
Allow users to create accounts (w/ passwords)
Only allow users with an account to access/edit content
Have forums for users
Allow users to upload documents...and download them, of course
If you don't have any previous web development (PHP, etc.) experience then I would recommend going with a hosting company and installing a content management system (CMS) such as Wordpress or Joomla. You can also use pre-built forum software such as phpBB, SMF, and my personal favorite - MyBB. Most of these popular softwares will allow you to "bridge" them together. For example, your main site could be Wordpress and use the same user system for a MyBB forum.
All of the CMS and forum systems I mentioned above also have alot of themes available for download/use.
(Easier to use, features are limited) - http://www.wordpress.org/
(Host it yourself, more features)
Joomla - http://www.joomla.org/
phpBB - http://www.phpbb.com/
SMF - http://www.simplemachines.org/
MyBB - http://www.mybb.com/