Ciao, benvenuto sul forum.
Per pubblicare il tuo sito hai bisogno di un dominio che ti può essere offerto da numerosi servizi di hosting, sia gratuiti che a pagamento (sulla scelta informati bene, ma qui sul forum non si posson fare riferimenti commerciali). L'importante che il tuo servizio di hosting offra (oltre al server linux)il servizio MySQL.
Joomla è gratuito, ma ti può capitare di trovare estensioni a pagamento. Sul fatto che tu ti faccia pagare spazi banner è perfettamente lecito, almeno se compiuto secondo la legge!