Тут ручками много писать придется. А CMS не принципиальна. Можно на WordPress + BBPress сделать (поскольку я лично специализируюсь именно на WP, то делал бы на нем). Можно на Drupal или Expression Engine, да на любой адекватной. Пуристы предложат использовать не CMS/CMF, а фреймворк - Symfony, Laravel или другой. И, в принципе, тоже будут правы. Можно пойти дальше - Python, Node.js, Rails. Вариантов целая вселенная.
Тут скорее вопрос бюджета и сроков, плюс множество других вопросов. Если же Вы рассчитываете скачать готовую заточенную CMS именно под такой тип сайта, развернуть ее в два клика и получить готовое решение - вынужден разочаровать. Этого не будет.