Des contraintes à part respecter la loi française (ou la loi du pays où tu héberges le site) je n'en vois pas

Sinon pour les connaissances en programmation, pas forcément, en fait tout dépend comment tu fais ton site. Pour commencer, un logiciel tel que Visual Web Developper ou encore Dreamweaver permettent de faire des pages adaptées à un site perso sans t'y connaître en programmation. L'inconvénient de ces pages est qu'elles seront quasiment toujours "statiques" c'est à dire pas d'interactivité instantanée (pas de forum par exemple). Mais bon il existe de bons scripts gratuits disponibles sur Internet pour étendre les fonctionnalités de ton site. Ces scripts sont simples à installer, mais il faut néanmoins savoir renseigner quelques paramètres.
Heureusement, ces paramètres sont toujours donnés par l'hébergeur.
Pour ce qui est de l'hébergeur, soit il est gratuit, soit il est pas gratuit (quelle belle phrase à la Johnny

). Pour un premier site, je te conseille de tester un hébergeur gratuit et d'acquérir des compétences dessus pour gérer ton site. les services fournis suffiront amplement.
Pour le nom de domaine, si tu prends un hébergement gratuit, oublies ça ne servira à rien niveau visibilité dans les moteurs de recherche, ça sera donc plutôt crade. Si tu prends un nom de domaine, il faut le faire chez un Registrar (gandi.net par exemple) et prendre chez un hébergeur un contrat d'hébergement. L'hébergement coûte de quelques euros par an à plusieurs centaines d'euros par mois. Pour un site perso peu fréquenté, un hébergement à 30 euros par an convient normalement parfaitement, mais là par contre il vaut mieux avoir des compétences en gestion de nom de domaine et en paramétrages divers. L'hébergeur peut t'aider, mais il faudra te rendre chez le registrar pour modifier les DNS et mettre ceux de l'hébergeur (c'est pas bien compliqué mais il ne faut pas hésiter à contacter le support du registrar).
J'espère avoir répondu à tes questions, dans le cas contraire n'hésites pas ;)