The question is what type of server do you want to run. A listen server or dedicated server.
A dedicated server requires hiring an external server box and running applicable software on it like Source/Meta-mod. As well as setting up an FTP and possibly a redirect for downloads.
It's possible to run a server off your machine, but i wouldn't join it on the same machine to play. Use a second computer for that.
A listen server on the other hand is more of a temporary server you run through TF2 itself. You create a server via TF2 and open it up via the console with various relavent commands so that other players can join (IE "sv_lan 0"). But again, if you intend for people to download custom maps that's gonna pose a bandwidth issue for you.