Ok what exactly do you want to do?
To register your domain you need some kind of provider like godaddy or whatsoever, that you may allow to point to your server (or that will allow you to delegate the zone handling for the domain(s) to your own dns server(s)).
But what do you mean by giving users access to the domain? Webaccess, email, ftp (does not care about domains at all, it is more a logic thing that you e.g. place files anywhere on the server that e.g. a webserver can access than when getting requests for a specific domain)...
or are you talking about a domain in sense of samba as a Domain Controller for (Windows) Clients?