Что нужно для написания своей CMS?
есть скрипты готовых cms)), а для сомообучения писать лучше что-нибудь другое
Нужно осознание того, что возможно это будет бесполезный труд.
Но если уж очень хочется угробить пару лет на свой велосипед, берем любую открытую CMS (MODx, Joomla, Wordpress и тд) смотрим как там сделано.
После берем любой фреймворк относящийся к нужному ЯП и делаем только базовый фнукционал от того, что увидили у других, без особых извращений, смотрим на трудо затраты и оцениваем.
PS: было бы корректно с вашей стороны таки указать на каком языке вы ее собрались писать/пишете.