Dazu musst du auf jeden Fall einmal die Grundlagen von MySQL beherrschen. Dann noch eine Warnung: Es ist viel Aufwand, ich habe mich einmal nebensächlich damit beschäftigt, aber irgendwann damit aufgehört, weil es einfach so viel Arbeit war und ich an etwas anderem gearbeitet habe.
Wenn du das wirklich machen willst, dann solltest du dich erst einmal entscheiden, ob du das gesamte Datenbank- oder textbasiert angehst. Ich empfehle Ersteres, da es einfach komfortabler ist und mehr Möglichkeiten bietet.
Für einen Login-Bereich würde ich dier Sessions empfehlen, das funktioniert vom Prinzip her so: Name und Passwort werden überprüft und, wenn sie korrekt sind, in der Systemvariable $_SESSION gespeichert. Damit können sie auf jeder Seite abgefragt werden um herauszufinden, ob der Besucher eingeloggt ist und die entsprechende Seite anzeigen.
Wenn du dazu eine genauere Beschreibung willst, einfach googeln, da finden sich Tutorials zuhauf.
Das eigentlich Aufwändige ist aber dann der ACP, in dem du all die Formulare schreiben musst, mit denen man die Konfiguration ändert oder beispielsweise Newseinträge hinzufügt und dann auch noch die Skripts, die diese Daten in die Datenbank einlesen und korrekt auswerten.
Um einmal explizit auf das Beispiel mit den News einzugehen:
Du bräuchtest eine Datei, im ACP in der man die neuen Newseinträge schreiben kann, ein Script, dass das ganze in die Datenbank einliest und ein weiteres Script, das die Daten dann mithilfe einer for-Schleife wieder aus der Datenbank ausliest und auf dem Bildschirm ausgibt.
Das Prinzip ist recht einfach, aber sobald dann auch noch Kommentare eingefügt werden sollen können kommt noch der Schutz vor Hacker-Attacken, BB-Codes etc dazu, es ist also wirklich sehr aufwändig.