There are several options for Mining Bitcoins some of these are no longer profitable, but for the sake of being thorough here they are in order of efficiency lowest to highest:
Methods
Currently the most efficient method is to use ASIC miners as with the difficulty always increasing, it becomes harder and harder to gain returns on lower spec hardware.
Some Example Hardware Setups
-- Avalon - http://avalon-asics.com/
-- Bit Fury - http://www.bitfurystrikesback.com/
-- KNC - https://www.kncminer.com/
-- CoinTerra - http://cointerra.com/
-- Butterfly Labs - http://www.butterflylabs.com/
Most ASICS work out the box and have built in web interfaces to control and monitor the hashing of the device, where as other forms of mining normally require a bit getting down and dirty in the command line. Also as its mostly ineffective to mine in any other way this is generally the way most people choose to go although there is normally a high barrier to entry due to the high cost of entry e.g. the new Cointerra TerraMiner can achieve 2TH/s and is priced at USD $5,999 making it an expensive device to purchase.
Monitoring
When mining you want to ensure maximum possible up time as whenever you have hardware not hashing you are loosing money, So its pretty important to setup some kind of monitoring for your devices. Some mining software comes with this built in however there are also some other options out there.
Pools / Stratum Proxy
The Final piece in the puzzle is the pool, now obviously you can choose one of the many pools already out there or you can run your own pool. Running your own pool can be a daunting task for beginners, but it is well worthwhile with the knowledge you learn while building and maintaining it.
Build Your Own Pool:
-- https://p2pool.org/
-- https://en.bitcoin.it/wiki/P2Pool
-- https://github.com/forrestv/p2pool
-- Complete P2Pool setup Guide (MERGED MINING) - https://bitcointalk.org/index.php?topic=62842.0
-- Maximizing P2Pool Efficency - https://bitcointalk.org/index.php?topic=153232.0
-- https://bitcointalk.org/index.php?topic=158105.0
-- https://github.com/ZeroASIC/eloipool-server
I Hope this very brief overview of mining helps you get started :)