Wie nahezu alle CMS: Auf dem Server. Die Webseiten werden dort aus
statischen und dynamischen Bestandteilen "on the fly" zusammengesetzt
und zu deinem Browser übertragen.
Du brauchst also eine Webpräsenz (Hoster), die PHP und MySQL beinhaltet.
Das CMS ist ein ganzer Ordner voll von HTML-, PHP- und CSS-Dateien, die
bei der Auslieferung durch den Webserver nach ausführbarem Code
durchsucht werden.
Diese Daten liegen auf dem von dir gemieteten Webserver bzw. da, wo sich
dein Server befindet. Du könntest schließlich zu Lern- und Testzwecken
auch selber einen Apache mt PHP und MySQL auf irgend einem Wald- und
Wiesen-PC aufsetzen.
Diese serverseitig laufenden Programmme erzeugen dann das, was du
zuhause zu sehen bekommst.
Es ist auch möglich, dass sich clientseitig laufende Codeschnipsel
(Java, Javascript) in den ausgelieferten Daten befinden.
Wenn du es für den Einstieg erstmal eine Nummer kleiner angehen willst
(deine Frage lässt vermuten, dass du am Anfang stehst), kann ich nur
CMBasic empfehlen. Simpel, es befriedigt mit schnell sichtbaren
Ergebnissen und kost' nix. Die zugrundeliegenden Mechanismen sind
dieselben, wie bei den großen Systemen.
http://www.cmbasic.de