1. This link: http://thinkofit.com...f/forumsoft.htm
has a TON of stuff about forum software. It's a good place to start. Free software is NOT the worst way to go as there are some really spiffy packages out there such as MyBB, PunBB, and SMF for example. That being said vBulletin has a long standing history of being top-notch and Invision Power Board a close second. I suggest investigating what each has to offer in conjunction with what your expected outcome is for the forums and go from there.
2. Most of these programs will run out of the box with zero knowledge of PHP. Having a bit of programming understanding is beneficial for tweaking and will determine your choice in step one (if the forum is very basic and requires code tweaking to make it more functional a solution like vBulletin my be better suited to your needs than say PunBB). Graphics is a whole other monster. You can use a free program like The Gimp to edit graphics or spend money and buy quality programs like PaintShop Pro or Photoshop.
3. Keeping people from joing the site is easy. the forum software (and most if not all have this) should be configured to require all new accounts to be monitored and approved by an administrator prior to the people being able to join. So if someone joins and you don't want them to you just decline their request. There are other ways as well and can be found in the documentation of the forum software you choose. Use this also as a tool for determining which one you do choose.
4. If you buddy's domains have a SQL database (most forum software uses MySQL or PostgreSQL), PHP and the ability to FTP or SSH in to the server to upload the software then you are set. You will need to determine what the forum's domain name will be. If it is one that your buddy owns you are finished, if you wish it to be something else you will need to purchase the domain name and configure the nameservers to point to the nameservers of where you are hosting the site.