La tua domanda è molto generica. Per renderti meglio chiaro il concetto ti posto qualche link in cui puoi trovare guide e tutorial di Joomla il cms che più conosco. Ne esistono di altri validi ma il concetto è simile. Diciamo he in liena di massima i cms opensource sono scritti in php e si appoggiano ad un database. Ne esistono anche senza Db ma meno performances.
Per provare un cms in locale devi avere un server è un data base. Ti consiglio pacchetti installabili facilmente completi come EasyPhp o Xammp.

Per joomla trovo utile queste quide:

http://www.joowiki.com/

www.joomlaservice.org

ciao :-)