I'd suggest that you forget completely about running your own server yourself, manually, and go for a managed server with a hosting company or a plain site hosted with a good web host.
You don't learn server administration overnight and keeping the hardware and software configured and working 100% of the time, coupled with having to sort out DNS resolution and an IP address of your own so that people who type in your web site address actually get it loading up in their browsers is no small task.
You also have other issues to consider. Not many ISP's will allow you to serve your own site using their service, for good reaon. You will more than likely have to invest in a substantial dedicated line to serve the site and if image transfer is going to be the mainstay of your site you will probably want to consider as fast a browadband line as you can get. Connect a number of browsers to your site at once, all requesting file downloads and what seems like a fast connection suddenly isn't.
I used to be involved in network and systems admin but I certainly wouldn't dream of running my own web server when I can get excellent service from any one of a number of web hosting companies for either a single web account or for a managed server to run lots of sites on. A managed server is where your web host looks after the hardware and software (they manage it) and you get to use it to host websites on. They have the headaches while you use it for your webs. It's a fine arrangement and God bless the person who first thought of it.
If you want to distribute images and arrange file downloads you can do all of this and more through a standard site hosting account with any web host. If you plan on transferring lots of pictures and files you may want to invest in plenty of bandwidth since if you have a lot of visitors you can eat into your standard allocated amount of bandwidth quite quickly. Most web hosts offer a bandwidth topup service for reasonable cost.
I suggest you look into a well specified web hosting account for your web or, at the very outside, you consider a managed server but unless you plan on running many sites at once, a managed server is not worth the cost penalty and paying for additional bandwidth would be far more cost effective to you.
Your only possible problem with this would be the nature of the images and files that you want to offer. Not many hosts offer adult site support and while you don't mention that point it is only fair to raise it and highlight the issues you will have in finding someone willing to host such a site.
If you must serve your own site for reasons only known to you, you may want to look into Linux as your web server software. It is free to download and runs Apache natively (the most common web server software). I can't stress enough though, that you don't learn server administration overnight and unless you really know what you are doing, you will be wide open to potential attack.
My advice is that you should go for a well specified single site hosting account with one of the better web hosting companies and you make certain it has plenty of bandwidth or at least a topup option.
You'll save all those headaches, the expense, the learning curve, the hardware, the software...
You get the idea I'm sure.
If you want some suggestions for possible web hosts post again to that effect.