But it looks so complicated!
There are a million articles to read which one is the right one?
How do I work out what I need?
Everyone seems to have a different way to do this!
There are so many ways how do I know which is the right one?  Arrrrrgh!!   What am I doing with my life!?  I’m not even sure I want to be in IT anymore!

Calm down.
The truth is, yes your assumptions are right, everyone does seem to have their own way to do this.  It probably comes from experience or dealing with a certain level of client.  The reality though is that there’s an easy way and a hard way to do it.  There are different technical requirements, prerequisites and ways to install it that cater for better performance or for best practices but I hope my personal experience can help calm some of the frustrations for newcomers.
So lets do some simple calculations.  I’ll throw in some links along the way for your perusal.
Firstly lets  answer the following question:  How many clients do you need to support?  By clients of course I mean endpoint devices, not people.  Over 5000 but below 100,000?  Great, you need a primary site!  Below 5000 but you intend to grow?  Great, you need a primary site!  Below 5000 clients but a decent amount say, over 2000 and you may or may or may not grow to over 5000 in the near future? Great, you need a primary site.  See where I am going with this?  Yes its true you could install a secondary site, but…. nah… you need a primary site.  I believe that in most cases you should just fit in a primary site and be done with it.  Feel free to disagree with me on that one but from what I see, the main questions on hierarchy are what site do I need?  You need a primary site.  Do I need a CAS?  9 times out of 10, no you do not.  If you strongly feel you need a CAS, then do a little reading on the Technet pages and justify it as you see fit.
I read Kent Agerlands book (System Centre 2012R2 Configuration Manager – Mastering the Fundamentals, 3rd Edition, in which he describes (during chapter 3) how to create on your ConfigMgr machine.  However the ‘hydration kit’ way of setting up a lab, although great, doesn’t give you that trial and error you require as a newbie to fully understand what is going on and why.  In the book he instructs you to run a script to set up your database files and provides you a pre-staged computer using the kit to work on and install your ConfigMgr.  This is great for getting your lab up and running quickly but as a newbie you may fail to understand some of the basic principals of why we do this and/or how to do this manually.  I firmly believe that you shouldn’t automate a task until you fully understand the manual process first, otherwise your automation becomes a method for you to misunderstand why.
Here is how I got things going.  Its a manual, clunky, way to do it but I learned a little more doing it this way than clicking play in PowerShell ISE on a script someone else wrote.
1.  Operating System.  Lets provision a computer with an operating system of Windows Server 2012R2, lets update it to the latest windows updates so its ready to rock.  I’m not going to show you how to do that because if you don’t know by now you should!
2. Calculate your disks and sizes. – Planning Configurations, this can help you calculate your drive sizes.  I used the following disks. – Calculation spread sheet courtesy of Kent Agerlund.
Rough Guide
a. C: – OSDisk – 50-100GB (everyone has their own opinion on the OSDisk size, fight that one out amongst yourselves)
b. D: – ContentLib – Content Library drive, the size of this is anyone’s guess really.  I’d say start at 200GB and expand as you need it.
c.  E: – SQLDB – Where you store your SQLDB & SQLBackUp (.mdf calculation)
d.  F: – TempDB – Where you store your Temp Database (35% of your calculated SQLDB size, rounded up to the nearest 10 in my opinion)
e.  G: – SQLLog – Yep, you’ve guessed it! Where the SQL Log goes. (.ldf calculation)

3. Install SQL (manual process)

a.  Run Setup
b.  (Setup Role) Select SQL Server Feature Installation
c.  (Feature Selection) Install Database Engine Services, reporting Services – Native, Management Tools – Basic and Management Tools – Complete.
d.  (Feature Selection – OPTIONAL) You can chose a different location for your shared feature directories if you have program files separate to your OSDisk.
e.  (Instance Configuration – OPTIONAL) You can specify your instance root directory if you have program files separate to your OSDisk.
f.  (Server Configuration) – On the Collation tab, Customize, tick SQL Collation, used for backwards compatibility and select SQL_Latin1_General_CP1_CI_AS.
g.  (Database Engine Configuration) – Server Configuration tab.  Add your SQL Administrators (Service accounts if you’ve made some).
h.  (Database Engine Configuration) – Data Directories tab.  User Database Directory – Set to SQLDB disk in a folder called SQLDB.
i.  (Database Engine Configuration) – Data Directories tab.  Temp DB Directory – Set to TempDB disk in a folder called SQLTempDB.
j.  (Database Engine Configuration) – Data Directories tab.  Backup Directory – Set to SQLDB disk in a folder called SQLBackUp.
k.  (Reporting Services Configuration) – Install and Configure.
l. Next, Next, Finish.
Take note of your configuration file path if you want it for later for any reason
When finished, go into SQL Server Management Studio, connect and then and set your memory allocation for the DB to 70-80% of the total memory in the system.  Right click the server and select Properties, on the Memory tab alter the Maximum Server Memory (in MB) setting.
Set up Max Degree of Parallelism.  Check this link out  You run a command in SQL server Manager and a command in PowerShell to get the data you need to put into the calculator, then set the set the Max Degree of Parallelism in SQL.  Ref:
Finally we need to have the instance run as a service account and not as a NT Service.  Load up Sql Server Configuration Manager, under SQL Server Services right click SQL Server (MSSQLSERVER) and select Properties. On the Log On tab change the Account Name by clicking Browse and choosing your SQL Service Account.

4. Prerequisites check!
Nickolaj Anderson (@NickolojA – Twitter) wrote a script to sort out your prerequisites, you can download it here:
Go get it!

a. Run the script from an elevated prompt.
b. Click on the Primary Site tab and click on Install.
c.  When finished go to the Site System Roles tab and install the PreReqs for a Management Point and a Distribution Point
Yes, I know, this is running someone’s script, especially after my bold statement above but we can all install Server 2012 Roles and download and run a setup right?  Well this just streamlines the process and its not like we don’t already understand about Install-WindowsFeature in PowerShell or to run setup.exe when we download a prerequisite program, so I think its OK.

5. Configure SUSDB.
During the prerequisite install above the windows feature of UpdateServices-DB is installedNext you need to fire up the WSUS console on your server and when asked tell it to point to your server and WSUS will do the magic creating your SUSDB within SQL.  Once done you will follow it through until you get to the Products and Classifications page, then click cancel.  Remember, WSUS is the tools that brings in the updates, but you use ConfigMgr to ‘manage’ what to pull in and how to deploy it.
Gerry Hampson did a post on this which is a good reference:
6. Fire up the ConfigMgr ISO and run the splash.hta

a.  (Before you begin) – Click Next.
b.  (Getting Started) – Choose to Install a Configuration Manager primary site.
c.  (Product Key) – Put in your product key.
d.  (Prerequisite Downloads) – Choose Download required files and select a folder to put them in.
e.  (Site and Installation Settings) – Give your install a site code (choose wisely, this cannot be changed later), a name and choose an Installation Folder.
f.  (Primary Site Installation) – Install the primary site as a stand-alone site.
g.  (Database Information) – Choose a path for the SQL Server data file and the SQL Server log file.
h.  (Client Computer Communication Settings) – Do you have a PKI?  If so go HTTPS, if not go HTTP.
i.  (Site System Roles) – I chose to install both a MP and a DP.
j.  (Customer Experience Improvement Program) – Join it.
k.  (Prerequisite Check) – If you’ve done the above you’ll pass, so click on Begin Install have a cup of tea and when you return you should see this:
Click close and you’re done

Hope this has been useful for you