I have built my own CMS called Butane for my web design clients which was an easier version of WordPress.
I know the other people were saying not to reinvent the wheel, but if you are really interested in building your CMS, it is not hard if you know PHP and MySQL.
First of all, you need:
1. A MySQL or similar database
2. A scripting language like PHP or .NET
3. Clear objectives and goals on who you will make it easier than the popular CMS software.
Also, what I did was create these for Butane:
1. a menu system
2. an back end administrative control panel
3. a user manager
4. responsive layout that can work with any HTML and CSS.
Basically, your PHP or other code will interact with the database through your URL and if you use PHP like I did, you will also need to modidy the rewrite rules in your .htaccess file.
1. social media URLs stored in your database and manageable through an HTML form
2. SEO options like meta tags
3. ecommerce. I just use a Paypal link which most of my clients had
If you have any questions, I can help you with this.