This is a very old and very often asked question.
You can use a smart strip, which is a power strip that your computer plugs into, then everything else (monitor, sound, etc) plugs into the other outlets on the strip.
The smart strip senses when there is a current draw on the computer outlet and turns the other outlets on or off.
You can also wire a relay to a power strip that turns on when the computer comes on and off when the computer is off.
The relay can be powered by a molex connector inside the computer or if you use a 5vdc relay it can possibly be powered from a usb port.
If you are not very handy with a soldering iron or have little to no electrical experience, I would suggest you use the smart strip method, because it is fairly simple.
To wire an external button to turn on your PC, you can use any kind of a SPST normally open momentary pushbutton (Happ type pushbutton works great), and wire the switch to the power pushbutton on the PC.
This does require a bit of wiring savvy, but is most likely not as hard as it may sound.
Just search this site for "smart strip" or "power button" and you will probably find many examples. Im pretty sure PL1 has an example on the WIKI also.
Here is an example I laid out in a blog I made on my second arcade build. (This was before I was an active member on here).
I always use relays but it is very simple to me, since I have spent most of my life wiring things up. LOL
http://skennys-arcade.blogspot.com/Scroll down and find the power strip entries.
Good luck with your project.