Yo lo que hago es tener el config.php en formato, es decir:
  Código PHP:
   
$archivo = "<?phprnrn";
$archivo.= '$dbhost = '.$dbhost.";rn";
$archivo.= '$dbuser = '.$dbuser.";rn";
[.....]    
  De ahi, voy al instalador y le hago include al formato de arriba, luego declado las variables $dbhost, $dbuser y todas esas con los datos introducidos en el formulario
Despues, abro el config.php con fopen y grabo la cadena $archivo en el config.php con ayuda de fwrite... Te invito a que leas estas funciones en PHP para que entiendas, por ahora te di la idea ;)  
DOS: Al parecer esta bien el action 
TRES: De cuales variables hablas? 
CUATRO: HTML, Body y Head son etiquetas muy distintas, te invito a leer en Google que esto es tema de HTML y no PHP.. 
Saludos y suerte!