There are beginner solutions out there, but to start from scratch and make a professional site I would recommend using a PHP Framework like Laravel.