Il Tribunale federale respinge il ricorso in materia di diritto pubblico.

Non entra nel merito del ricorso sussidiario in materia costituzionale.

Le spese giudiziarie di 2'000 franchi sono poste a carico del ricorrente.