「どういうCMSか」によります。
CMSは「コンテンツマネジメントシステム」の略で、その名の通り
「コンテンツを管理できるシステム」であれば何でも良いということになります。
WordPressはPHP(あとデータベース。基本はMySQLでしょうか)で作られたCMSです。
これと同じような形で作ればとりあえず「独自CMS」の形はとれます。
どういうことか?
WordPressをご存知のようなので私が知っている限りでWordPressで行われていることを超要約すると、
管理画面で登録・編集した情報が表画面(表示部・とか言います)に表示される
です。
これが基本で、ほぼ全てです。
データベースを扱う際に「CRUD」という考え方があります。
Create Read Update Delete の頭文字をとったもの。
このCRUD全て存在するのが「管理画面」で
(基本的に)Rのみ存在するのが「表示部」となります。
表示部にも色々あるので、例えばブログの記事に対してコメントが投稿できたり、「いいね」と評価ができたりすると機能的な制限はあるもののC(ユーザーもコメントのためにログイン発生するなら場合によりUやDも)存在します。
SNSなんかもCMSと言えると思います。
ユーザーを登録し、ユーザーが何か投稿したり自分の投稿を編集・削除できたり、そのユーザー同士の交流だったり、「表示部」にしてはユーザーができることが非常に多いですが「自分が投稿したもののみ」という制限があります。
ただ、そのユーザーを管理する機能は必要で、そこを「管理画面」として管理ユーザーのみがログインできるような機能を持たせたりします。
(かなりセキュアなのでデータベースだけ共通でプログラムは別のサーバーにあることも多いです)
このあたりの細かいところは「CMSとは」で調べたら私が挙げた以外にも色々なパターンが紹介されている記事も見つかると思いますので参考にしてください。
確実に必要と言えるのは「コンテンツを管理するためのログイン機能」「投稿したコンテンツを表示する機能」くらいでしょうか。
よくPHPの初期に作る「掲示板システム」だって、ユーザーログインの仕組みを作ったり、その「掲示板の設定や投稿・コメント自体を管理するシステム」を作るとCMSの形態になります。
つまり、上記のような形態を作れるのであればPHPフレームワークのLaravelであろうとなんであろうと関係なく作ることができます。
あくまでPHPであったりLaravelは作るための道具に過ぎませんので、「流れ」はとりあえず「設計」として起こすところからですね。